Mercurial > dovecot > core-2.2
annotate src/auth/auth-settings.c @ 10281:4b663b9e63af HEAD
Added "size" setting type, which supports B/k/M/G/T suffixes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 09 Nov 2009 18:22:37 -0500 |
parents | afe52d60989c |
children | 7215f4142901 |
rev | line source |
---|---|
9047
99659fef12b2
Updated missing copyright years to 2009.
Timo Sirainen <tss@iki.fi>
parents:
9045
diff
changeset
|
1 /* Copyright (c) 2005-2009 Dovecot authors, see the included COPYING file */ |
9002 | 2 |
3 #include "lib.h" | |
4 #include "array.h" | |
5 #include "settings-parser.h" | |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
6 #include "master-service-settings.h" |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
7 #include "service-settings.h" |
9002 | 8 #include "auth-settings.h" |
9 | |
10 #include <stddef.h> | |
11 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
12 extern const struct setting_parser_info auth_setting_parser_info; |
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
13 extern const struct setting_parser_info auth_root_setting_parser_info; |
9002 | 14 |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
15 static bool auth_settings_check(void *_set, pool_t pool, const char **error_r); |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
16 |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
17 /* <settings checks> */ |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
18 static struct file_listener_settings auth_unix_listeners_array[] = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
19 { "login/auth", 0666, "", "" }, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
20 { "auth-userdb", 0600, "", "" }, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
21 { "auth-master", 0600, "", "" } |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
22 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
23 static struct file_listener_settings *auth_unix_listeners[] = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
24 &auth_unix_listeners_array[0], |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
25 &auth_unix_listeners_array[1], |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
26 &auth_unix_listeners_array[2] |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
27 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
28 static buffer_t auth_unix_listeners_buf = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
29 auth_unix_listeners, sizeof(auth_unix_listeners), { 0, } |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
30 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
31 /* </settings checks> */ |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
32 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
33 struct service_settings auth_service_settings = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
34 MEMBER(name) "auth", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
35 MEMBER(protocol) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
36 MEMBER(type) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
37 MEMBER(executable) "auth", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
38 MEMBER(user) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
39 MEMBER(group) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
40 MEMBER(privileged_group) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
41 MEMBER(extra_groups) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
42 MEMBER(chroot) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
43 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
44 MEMBER(drop_priv_before_exec) FALSE, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
45 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
46 MEMBER(process_min_avail) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
47 MEMBER(process_limit) 1, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
48 MEMBER(client_limit) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
49 MEMBER(service_count) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
50 MEMBER(vsz_limit) -1U, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
51 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
52 MEMBER(unix_listeners) { { &auth_unix_listeners_buf, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
53 sizeof(auth_unix_listeners[0]) } }, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
54 MEMBER(fifo_listeners) ARRAY_INIT, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
55 MEMBER(inet_listeners) ARRAY_INIT |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
56 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
57 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
58 /* <settings checks> */ |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
59 static struct file_listener_settings auth_worker_unix_listeners_array[] = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
60 { "auth-worker", 0600, "", "" } |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
61 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
62 static struct file_listener_settings *auth_worker_unix_listeners[] = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
63 &auth_worker_unix_listeners_array[0] |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
64 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
65 static buffer_t auth_worker_unix_listeners_buf = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
66 auth_worker_unix_listeners, sizeof(auth_worker_unix_listeners), { 0, } |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
67 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
68 /* </settings checks> */ |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
69 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
70 struct service_settings auth_worker_service_settings = { |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
71 MEMBER(name) "auth-worker", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
72 MEMBER(protocol) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
73 MEMBER(type) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
74 MEMBER(executable) "auth -w", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
75 MEMBER(user) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
76 MEMBER(group) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
77 MEMBER(privileged_group) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
78 MEMBER(extra_groups) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
79 MEMBER(chroot) "", |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
80 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
81 MEMBER(drop_priv_before_exec) FALSE, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
82 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
83 MEMBER(process_min_avail) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
84 MEMBER(process_limit) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
85 MEMBER(client_limit) 1, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
86 MEMBER(service_count) 0, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
87 MEMBER(vsz_limit) -1U, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
88 |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
89 MEMBER(unix_listeners) { { &auth_worker_unix_listeners_buf, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
90 sizeof(auth_worker_unix_listeners[0]) } }, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
91 MEMBER(fifo_listeners) ARRAY_INIT, |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
92 MEMBER(inet_listeners) ARRAY_INIT |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
93 }; |
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
94 |
9002 | 95 #undef DEF |
96 #define DEF(type, name) \ | |
97 { type, #name, offsetof(struct auth_passdb_settings, name), NULL } | |
98 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
99 static const struct setting_define auth_passdb_setting_defines[] = { |
9002 | 100 DEF(SET_STR, driver), |
101 DEF(SET_STR, args), | |
102 DEF(SET_BOOL, deny), | |
103 | |
104 SETTING_DEFINE_LIST_END | |
105 }; | |
106 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
107 const struct setting_parser_info auth_passdb_setting_parser_info = { |
10107
dcda7c495eb6
struct setting_parser_info now specifies the module name.
Timo Sirainen <tss@iki.fi>
parents:
10106
diff
changeset
|
108 MEMBER(module_name) NULL, |
9002 | 109 MEMBER(defines) auth_passdb_setting_defines, |
110 MEMBER(defaults) NULL, | |
111 | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
112 MEMBER(type_offset) offsetof(struct auth_passdb_settings, driver), |
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
113 MEMBER(struct_size) sizeof(struct auth_passdb_settings), |
9002 | 114 |
115 MEMBER(parent_offset) (size_t)-1, | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
116 MEMBER(parent) &auth_setting_parser_info |
9002 | 117 }; |
118 | |
119 #undef DEF | |
120 #define DEF(type, name) \ | |
121 { type, #name, offsetof(struct auth_userdb_settings, name), NULL } | |
122 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
123 static const struct setting_define auth_userdb_setting_defines[] = { |
9002 | 124 DEF(SET_STR, driver), |
125 DEF(SET_STR, args), | |
126 | |
127 SETTING_DEFINE_LIST_END | |
128 }; | |
129 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
130 const struct setting_parser_info auth_userdb_setting_parser_info = { |
10107
dcda7c495eb6
struct setting_parser_info now specifies the module name.
Timo Sirainen <tss@iki.fi>
parents:
10106
diff
changeset
|
131 MEMBER(module_name) NULL, |
9002 | 132 MEMBER(defines) auth_userdb_setting_defines, |
133 MEMBER(defaults) NULL, | |
134 | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
135 MEMBER(type_offset) offsetof(struct auth_userdb_settings, driver), |
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
136 MEMBER(struct_size) sizeof(struct auth_userdb_settings), |
9002 | 137 |
138 MEMBER(parent_offset) (size_t)-1, | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
139 MEMBER(parent) &auth_setting_parser_info |
9002 | 140 }; |
141 | |
9834
3f4d796db5fd
config: Auth settings now require the "auth_" prefix also inside auth blocks.
Timo Sirainen <tss@iki.fi>
parents:
9451
diff
changeset
|
142 /* we're kind of kludging here to avoid "auth_" prefix in the struct fields */ |
9002 | 143 #undef DEF |
144 #undef DEFLIST | |
145 #define DEF(type, name) \ | |
9834
3f4d796db5fd
config: Auth settings now require the "auth_" prefix also inside auth blocks.
Timo Sirainen <tss@iki.fi>
parents:
9451
diff
changeset
|
146 { type, "auth_"#name, offsetof(struct auth_settings, name), NULL } |
9002 | 147 #define DEFLIST(field, name, defines) \ |
148 { SET_DEFLIST, name, offsetof(struct auth_settings, field), defines } | |
149 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
150 static const struct setting_define auth_setting_defines[] = { |
9002 | 151 DEF(SET_STR, mechanisms), |
152 DEF(SET_STR, realms), | |
153 DEF(SET_STR, default_realm), | |
10281
4b663b9e63af
Added "size" setting type, which supports B/k/M/G/T suffixes.
Timo Sirainen <tss@iki.fi>
parents:
10179
diff
changeset
|
154 DEF(SET_SIZE, cache_size), |
9002 | 155 DEF(SET_UINT, cache_ttl), |
156 DEF(SET_UINT, cache_negative_ttl), | |
157 DEF(SET_STR, username_chars), | |
158 DEF(SET_STR, username_translation), | |
159 DEF(SET_STR, username_format), | |
160 DEF(SET_STR, master_user_separator), | |
161 DEF(SET_STR, anonymous_username), | |
162 DEF(SET_STR, krb5_keytab), | |
163 DEF(SET_STR, gssapi_hostname), | |
164 DEF(SET_STR, winbind_helper_path), | |
165 DEF(SET_UINT, failure_delay), | |
166 | |
167 DEF(SET_BOOL, verbose), | |
168 DEF(SET_BOOL, debug), | |
169 DEF(SET_BOOL, debug_passwords), | |
170 DEF(SET_BOOL, ssl_require_client_cert), | |
171 DEF(SET_BOOL, ssl_username_from_cert), | |
172 DEF(SET_BOOL, use_winbind), | |
173 | |
174 DEF(SET_UINT, worker_max_count), | |
175 | |
176 DEFLIST(passdbs, "passdb", &auth_passdb_setting_parser_info), | |
177 DEFLIST(userdbs, "userdb", &auth_userdb_setting_parser_info), | |
178 | |
179 SETTING_DEFINE_LIST_END | |
180 }; | |
181 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
182 static const struct auth_settings auth_default_settings = { |
9002 | 183 MEMBER(mechanisms) "plain", |
184 MEMBER(realms) "", | |
185 MEMBER(default_realm) "", | |
186 MEMBER(cache_size) 0, | |
187 MEMBER(cache_ttl) 3600, | |
188 MEMBER(cache_negative_ttl) 0, | |
189 MEMBER(username_chars) "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@", | |
190 MEMBER(username_translation) "", | |
191 MEMBER(username_format) "", | |
192 MEMBER(master_user_separator) "", | |
193 MEMBER(anonymous_username) "anonymous", | |
194 MEMBER(krb5_keytab) "", | |
195 MEMBER(gssapi_hostname) "", | |
196 MEMBER(winbind_helper_path) "/usr/bin/ntlm_auth", | |
197 MEMBER(failure_delay) 2, | |
198 | |
199 MEMBER(verbose) FALSE, | |
200 MEMBER(debug) FALSE, | |
201 MEMBER(debug_passwords) FALSE, | |
202 MEMBER(ssl_require_client_cert) FALSE, | |
203 MEMBER(ssl_username_from_cert) FALSE, | |
204 MEMBER(use_winbind) FALSE, | |
205 | |
206 MEMBER(worker_max_count) 30, | |
207 | |
208 MEMBER(passdbs) ARRAY_INIT, | |
209 MEMBER(userdbs) ARRAY_INIT | |
210 }; | |
211 | |
10177
d589d568a19d
Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents:
10107
diff
changeset
|
212 const struct setting_parser_info auth_setting_parser_info = { |
10107
dcda7c495eb6
struct setting_parser_info now specifies the module name.
Timo Sirainen <tss@iki.fi>
parents:
10106
diff
changeset
|
213 MEMBER(module_name) "auth", |
9002 | 214 MEMBER(defines) auth_setting_defines, |
215 MEMBER(defaults) &auth_default_settings, | |
216 | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
217 MEMBER(type_offset) (size_t)-1, |
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
218 MEMBER(struct_size) sizeof(struct auth_settings), |
9002 | 219 |
220 MEMBER(parent_offset) (size_t)-1, | |
10106
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
221 MEMBER(parent) NULL, |
5a25b4ec5694
Reordered struct setting_parser_info fields to make using them easier.
Timo Sirainen <tss@iki.fi>
parents:
9846
diff
changeset
|
222 |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
223 MEMBER(check_func) auth_settings_check |
9002 | 224 }; |
225 | |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
226 /* <settings checks> */ |
9267 | 227 static bool auth_settings_check(void *_set, pool_t pool ATTR_UNUSED, |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
228 const char **error_r ATTR_UNUSED) |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
229 { |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
230 struct auth_settings *set = _set; |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
231 |
9451
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
232 if (set->debug_passwords) |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
233 set->debug = TRUE; |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
234 if (set->debug) |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
235 set->verbose = TRUE; |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
236 return TRUE; |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
237 } |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
238 /* </settings checks> */ |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
239 |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
240 struct auth_settings * |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
241 auth_settings_read(struct master_service *service) |
9002 | 242 { |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
243 static const struct setting_parser_info *set_roots[] = { |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
244 &auth_setting_parser_info, |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
245 NULL |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
246 }; |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
247 const char *error; |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
248 void **sets; |
9002 | 249 |
9244
4bf901b4c402
mail processes now specify user/lip/rip in config requests.
Timo Sirainen <tss@iki.fi>
parents:
9159
diff
changeset
|
250 if (master_service_settings_read_simple(service, set_roots, &error) < 0) |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
251 i_fatal("Error reading configuration: %s", error); |
9002 | 252 |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
253 sets = master_service_settings_get_others(service); |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
254 return sets[0]; |
9002 | 255 } |