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