Commit | Line | Data |
---|---|---|
44bbabb5 PP |
1 | /************************************************* |
2 | * Exim - an Internet mail transport agent * | |
3 | *************************************************/ | |
4 | ||
5 | /* Copyright (c) University of Cambridge 1995 - 2012 */ | |
6 | /* See the file NOTICE for conditions of use and distribution. */ | |
7 | ||
8 | /* Copyright (c) Twitter Inc 2012 */ | |
9 | ||
10 | /* Interface to GNU SASL library for generic authentication. */ | |
11 | ||
12 | /* Authenticator-specific options. */ | |
13 | ||
14 | typedef struct { | |
15 | uschar *server_service; | |
16 | uschar *server_hostname; | |
17 | uschar *server_realm; | |
18 | uschar *server_mech; | |
19 | uschar *server_password; | |
20 | uschar *server_scram_iter; | |
21 | uschar *server_scram_salt; | |
22 | BOOL server_channelbinding; | |
23 | } auth_gsasl_options_block; | |
24 | ||
25 | /* Data for reading the authenticator-specific options. */ | |
26 | ||
27 | extern optionlist auth_gsasl_options[]; | |
28 | extern int auth_gsasl_options_count; | |
29 | ||
30 | /* Defaults for the authenticator-specific options. */ | |
31 | ||
32 | extern auth_gsasl_options_block auth_gsasl_option_defaults; | |
33 | ||
34 | /* The entry points for the mechanism */ | |
35 | ||
36 | extern void auth_gsasl_init(auth_instance *); | |
37 | extern int auth_gsasl_server(auth_instance *, uschar *); | |
38 | extern int auth_gsasl_client(auth_instance *, smtp_inblock *, | |
39 | smtp_outblock *, int, uschar *, int); | |
40 | extern void auth_gsasl_version_report(FILE *f); | |
41 | ||
42 | /* End of gsasl_exim.h */ |