Mercurial > dovecot > core-2.2
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 |
rev | line source |
---|---|
9002 | 1 #ifndef AUTH_SETTINGS_H |
2 #define AUTH_SETTINGS_H | |
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 | 6 |
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 | 9 const char *driver; |
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 | 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 | 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 | 24 }; |
25 | |
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 | 28 const char *driver; |
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 | 38 }; |
39 | |
40 struct auth_settings { | |
41 const char *mechanisms; | |
42 const char *realms; | |
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 | 45 unsigned int cache_ttl; |
46 unsigned int cache_negative_ttl; | |
47 const char *username_chars; | |
48 const char *username_translation; | |
49 const char *username_format; | |
50 const char *master_user_separator; | |
51 const char *anonymous_username; | |
52 const char *krb5_keytab; | |
53 const char *gssapi_hostname; | |
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 | 56 unsigned int failure_delay; |
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 | 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 | 70 bool ssl_require_client_cert; |
71 bool ssl_username_from_cert; | |
72 bool use_winbind; | |
73 | |
74 unsigned int worker_max_count; | |
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 | 93 }; |
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 | 102 |
103 #endif |