annotate src/auth/auth-settings.h @ 22614:cf66220d281e

doveadm proxy: Don't crash if remote doesn't support log proxying
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sat, 14 Oct 2017 12:54:18 +0300
parents 700d5e6f041d
children 1f78d2f2debc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1 #ifndef AUTH_SETTINGS_H
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2 #define AUTH_SETTINGS_H
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9002
diff changeset
4 struct master_service;
10953
bdef690d41d5 auth: Fixed support for per-service auth settings.
Timo Sirainen <tss@iki.fi>
parents: 10903
diff changeset
5 struct master_service_settings_output;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 struct auth_passdb_settings {
17236
917946c08f83 auth: If passdb/userdb has a name, use it for the log prefix instead of the driver name.
Timo Sirainen <tss@iki.fi>
parents: 17042
diff changeset
8 const char *name;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 const char *driver;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 const char *args;
13330
83ac50d3b76f auth: Added default_fields and override_fields settings to all passdbs and userdbs.
Timo Sirainen <tss@iki.fi>
parents: 12328
diff changeset
11 const char *default_fields;
83ac50d3b76f auth: Added default_fields and override_fields settings to all passdbs and userdbs.
Timo Sirainen <tss@iki.fi>
parents: 12328
diff changeset
12 const char *override_fields;
21577
5c390ae4f640 auth: Add mechanism filter for passdbs
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 21374
diff changeset
13 const char *mechanisms;
22008
700d5e6f041d auth: Add username_filter for passdb block
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 21577
diff changeset
14 const char *username_filter;
17042
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
15
15691
d60aa734c72d auth: Added passdb { result_* and skip } settings.
Timo Sirainen <tss@iki.fi>
parents: 14920
diff changeset
16 const char *skip;
d60aa734c72d auth: Added passdb { result_* and skip } settings.
Timo Sirainen <tss@iki.fi>
parents: 14920
diff changeset
17 const char *result_success;
d60aa734c72d auth: Added passdb { result_* and skip } settings.
Timo Sirainen <tss@iki.fi>
parents: 14920
diff changeset
18 const char *result_failure;
d60aa734c72d auth: Added passdb { result_* and skip } settings.
Timo Sirainen <tss@iki.fi>
parents: 14920
diff changeset
19 const char *result_internalfail;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 bool deny;
17042
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
21 bool pass; /* deprecated, use result_success=continue instead */
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 bool master;
20036
a7cd7cb4844c auth: Added passdb/userdb { auth_verbose } setting.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents: 19721
diff changeset
23 const char *auth_verbose;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 };
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 struct auth_userdb_settings {
17236
917946c08f83 auth: If passdb/userdb has a name, use it for the log prefix instead of the driver name.
Timo Sirainen <tss@iki.fi>
parents: 17042
diff changeset
27 const char *name;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 const char *driver;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29 const char *args;
13330
83ac50d3b76f auth: Added default_fields and override_fields settings to all passdbs and userdbs.
Timo Sirainen <tss@iki.fi>
parents: 12328
diff changeset
30 const char *default_fields;
83ac50d3b76f auth: Added default_fields and override_fields settings to all passdbs and userdbs.
Timo Sirainen <tss@iki.fi>
parents: 12328
diff changeset
31 const char *override_fields;
17042
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
32
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
33 const char *skip;
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
34 const char *result_success;
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
35 const char *result_failure;
eeadb7b5045b auth: Added userdb result_success/failure/tempfail and skip settings, similar to passdb's.
Timo Sirainen <tss@iki.fi>
parents: 15709
diff changeset
36 const char *result_internalfail;
20036
a7cd7cb4844c auth: Added passdb/userdb { auth_verbose } setting.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents: 19721
diff changeset
37 const char *auth_verbose;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
38 };
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
39
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
40 struct auth_settings {
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41 const char *mechanisms;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
42 const char *realms;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43 const char *default_realm;
10281
4b663b9e63af Added "size" setting type, which supports B/k/M/G/T suffixes.
Timo Sirainen <tss@iki.fi>
parents: 9846
diff changeset
44 uoff_t cache_size;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45 unsigned int cache_ttl;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 unsigned int cache_negative_ttl;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47 const char *username_chars;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48 const char *username_translation;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 const char *username_format;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50 const char *master_user_separator;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51 const char *anonymous_username;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 const char *krb5_keytab;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53 const char *gssapi_hostname;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54 const char *winbind_helper_path;
14159
98d696965c91 auth: Added auth_proxy_self setting to specify IPs that are considered as "self" for proxy_maybe.
Timo Sirainen <tss@iki.fi>
parents: 13555
diff changeset
55 const char *proxy_self;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56 unsigned int failure_delay;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57
20419
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
58 const char *policy_server_url;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
59 const char *policy_server_api_header;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
60 unsigned int policy_server_timeout_msecs;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
61 const char *policy_hash_mech;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
62 const char *policy_hash_nonce;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
63 const char *policy_request_attributes;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
64 bool policy_reject_on_fail;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
65 unsigned int policy_hash_truncate;
0dc214cf2e30 auth-policy: Add policy implementation
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20036
diff changeset
66
19721
9d2fa1afc222 auth: If auth_stats=yes, send statistics to stats process.
Timo Sirainen <timo.sirainen@dovecot.fi>
parents: 17236
diff changeset
67 bool stats;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
68 bool verbose, debug, debug_passwords;
10585
941511db13c3 Added auth_verbose_passwords = no|plain|sha1.
Timo Sirainen <tss@iki.fi>
parents: 10281
diff changeset
69 const char *verbose_passwords;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
70 bool ssl_require_client_cert;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
71 bool ssl_username_from_cert;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
72 bool use_winbind;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
73
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
74 unsigned int worker_max_count;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
75
15709
18661d1d6ed0 auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
Timo Sirainen <tss@iki.fi>
parents: 15691
diff changeset
76 /* settings that don't have auth_ prefix: */
14920
a097ef0a9d6d Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Timo Sirainen <tss@iki.fi>
parents: 14629
diff changeset
77 ARRAY(struct auth_passdb_settings *) passdbs;
a097ef0a9d6d Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Timo Sirainen <tss@iki.fi>
parents: 14629
diff changeset
78 ARRAY(struct auth_userdb_settings *) userdbs;
10892
9675d9a54ac9 auth: Moved some variables generated from settings to struct auth_settings.
Timo Sirainen <tss@iki.fi>
parents: 10585
diff changeset
79
13555
fe89e95867a4 auth: Added passdb imap plugin.
Timo Sirainen <tss@iki.fi>
parents: 13330
diff changeset
80 const char *base_dir;
21374
b3803bacf702 auth-policy: Add missing settings
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20419
diff changeset
81 const char *ssl_client_ca_dir;
b3803bacf702 auth-policy: Add missing settings
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20419
diff changeset
82 const char *ssl_client_ca_file;
b3803bacf702 auth-policy: Add missing settings
Aki Tuomi <aki.tuomi@dovecot.fi>
parents: 20419
diff changeset
83
11251
6243376eff60 auth: If verbose_proctitle=yes, show auth request counts in ps.
Timo Sirainen <tss@iki.fi>
parents: 10953
diff changeset
84 bool verbose_proctitle;
15709
18661d1d6ed0 auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
Timo Sirainen <tss@iki.fi>
parents: 15691
diff changeset
85 unsigned int first_valid_uid;
18661d1d6ed0 auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
Timo Sirainen <tss@iki.fi>
parents: 15691
diff changeset
86 unsigned int last_valid_uid;
11251
6243376eff60 auth: If verbose_proctitle=yes, show auth request counts in ps.
Timo Sirainen <tss@iki.fi>
parents: 10953
diff changeset
87
10892
9675d9a54ac9 auth: Moved some variables generated from settings to struct auth_settings.
Timo Sirainen <tss@iki.fi>
parents: 10585
diff changeset
88 /* generated: */
9675d9a54ac9 auth: Moved some variables generated from settings to struct auth_settings.
Timo Sirainen <tss@iki.fi>
parents: 10585
diff changeset
89 char username_chars_map[256];
9675d9a54ac9 auth: Moved some variables generated from settings to struct auth_settings.
Timo Sirainen <tss@iki.fi>
parents: 10585
diff changeset
90 char username_translation_map[256];
9675d9a54ac9 auth: Moved some variables generated from settings to struct auth_settings.
Timo Sirainen <tss@iki.fi>
parents: 10585
diff changeset
91 const char *const *realms_arr;
14159
98d696965c91 auth: Added auth_proxy_self setting to specify IPs that are considered as "self" for proxy_maybe.
Timo Sirainen <tss@iki.fi>
parents: 13555
diff changeset
92 const struct ip_addr *proxy_self_ips;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
93 };
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
94
10953
bdef690d41d5 auth: Fixed support for per-service auth settings.
Timo Sirainen <tss@iki.fi>
parents: 10903
diff changeset
95 extern const struct setting_parser_info auth_setting_parser_info;
10893
1a4c2e4bff75 auth: auth_userdb and auth_passdb no longer has pointer to struct auth.
Timo Sirainen <tss@iki.fi>
parents: 10892
diff changeset
96 extern struct auth_settings *global_auth_settings;
1a4c2e4bff75 auth: auth_userdb and auth_passdb no longer has pointer to struct auth.
Timo Sirainen <tss@iki.fi>
parents: 10892
diff changeset
97
10953
bdef690d41d5 auth: Fixed support for per-service auth settings.
Timo Sirainen <tss@iki.fi>
parents: 10903
diff changeset
98 struct auth_settings *
bdef690d41d5 auth: Fixed support for per-service auth settings.
Timo Sirainen <tss@iki.fi>
parents: 10903
diff changeset
99 auth_settings_read(const char *service, pool_t pool,
14629
c93ca5e46a8a Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
Timo Sirainen <tss@iki.fi>
parents: 14159
diff changeset
100 struct master_service_settings_output *output_r)
c93ca5e46a8a Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
Timo Sirainen <tss@iki.fi>
parents: 14159
diff changeset
101 ATTR_NULL(1);
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
102
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
103 #endif