Mercurial > dovecot > core-2.2
annotate src/auth/auth-settings.c @ 10410:b757dab45756 HEAD
Removed MEMBER() macro. Require C99 style struct initializer.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 04 Dec 2009 13:52:35 -0600 |
parents | 7215f4142901 |
children | 9c80cc65def8 |
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 = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
34 .name = "auth", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
35 .protocol = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
36 .type = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
37 .executable = "auth", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
38 .user = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
39 .group = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
40 .privileged_group = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
41 .extra_groups = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
42 .chroot = "", |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
43 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
44 .drop_priv_before_exec = FALSE, |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
45 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
46 .process_min_avail = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
47 .process_limit = 1, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
48 .client_limit = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
49 .service_count = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
50 .vsz_limit = -1U, |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
51 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
52 .unix_listeners = { { &auth_unix_listeners_buf, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
53 sizeof(auth_unix_listeners[0]) } }, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
54 .fifo_listeners = ARRAY_INIT, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
55 .inet_listeners = ARRAY_INIT |
10179
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 = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
71 .name = "auth-worker", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
72 .protocol = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
73 .type = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
74 .executable = "auth -w", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
75 .user = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
76 .group = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
77 .privileged_group = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
78 .extra_groups = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
79 .chroot = "", |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
80 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
81 .drop_priv_before_exec = FALSE, |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
82 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
83 .process_min_avail = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
84 .process_limit = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
85 .client_limit = 1, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
86 .service_count = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
87 .vsz_limit = -1U, |
10179
afe52d60989c
Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents:
10177
diff
changeset
|
88 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
89 .unix_listeners = { { &auth_worker_unix_listeners_buf, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
90 sizeof(auth_worker_unix_listeners[0]) } }, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
91 .fifo_listeners = ARRAY_INIT, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
92 .inet_listeners = ARRAY_INIT |
10179
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 = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
108 .defines = auth_passdb_setting_defines, |
9002 | 109 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
110 .type_offset = offsetof(struct auth_passdb_settings, driver), |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
111 .struct_size = sizeof(struct auth_passdb_settings), |
9002 | 112 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
113 .parent_offset = (size_t)-1, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
114 .parent = &auth_setting_parser_info |
9002 | 115 }; |
116 | |
117 #undef DEF | |
118 #define DEF(type, name) \ | |
119 { type, #name, offsetof(struct auth_userdb_settings, name), NULL } | |
120 | |
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
|
121 static const struct setting_define auth_userdb_setting_defines[] = { |
9002 | 122 DEF(SET_STR, driver), |
123 DEF(SET_STR, args), | |
124 | |
125 SETTING_DEFINE_LIST_END | |
126 }; | |
127 | |
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
|
128 const struct setting_parser_info auth_userdb_setting_parser_info = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
129 .defines = auth_userdb_setting_defines, |
9002 | 130 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
131 .type_offset = offsetof(struct auth_userdb_settings, driver), |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
132 .struct_size = sizeof(struct auth_userdb_settings), |
9002 | 133 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
134 .parent_offset = (size_t)-1, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
135 .parent = &auth_setting_parser_info |
9002 | 136 }; |
137 | |
9834
3f4d796db5fd
config: Auth settings now require the "auth_" prefix also inside auth blocks.
Timo Sirainen <tss@iki.fi>
parents:
9451
diff
changeset
|
138 /* we're kind of kludging here to avoid "auth_" prefix in the struct fields */ |
9002 | 139 #undef DEF |
140 #undef DEFLIST | |
141 #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
|
142 { type, "auth_"#name, offsetof(struct auth_settings, name), NULL } |
9002 | 143 #define DEFLIST(field, name, defines) \ |
144 { SET_DEFLIST, name, offsetof(struct auth_settings, field), defines } | |
145 | |
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
|
146 static const struct setting_define auth_setting_defines[] = { |
9002 | 147 DEF(SET_STR, mechanisms), |
148 DEF(SET_STR, realms), | |
149 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
|
150 DEF(SET_SIZE, cache_size), |
10282
7215f4142901
Added "time" (interval) setting type, which supports s/m/h/d/w suffixes.
Timo Sirainen <tss@iki.fi>
parents:
10281
diff
changeset
|
151 DEF(SET_TIME, cache_ttl), |
7215f4142901
Added "time" (interval) setting type, which supports s/m/h/d/w suffixes.
Timo Sirainen <tss@iki.fi>
parents:
10281
diff
changeset
|
152 DEF(SET_TIME, cache_negative_ttl), |
9002 | 153 DEF(SET_STR, username_chars), |
154 DEF(SET_STR, username_translation), | |
155 DEF(SET_STR, username_format), | |
156 DEF(SET_STR, master_user_separator), | |
157 DEF(SET_STR, anonymous_username), | |
158 DEF(SET_STR, krb5_keytab), | |
159 DEF(SET_STR, gssapi_hostname), | |
160 DEF(SET_STR, winbind_helper_path), | |
10282
7215f4142901
Added "time" (interval) setting type, which supports s/m/h/d/w suffixes.
Timo Sirainen <tss@iki.fi>
parents:
10281
diff
changeset
|
161 DEF(SET_TIME, failure_delay), |
9002 | 162 |
163 DEF(SET_BOOL, verbose), | |
164 DEF(SET_BOOL, debug), | |
165 DEF(SET_BOOL, debug_passwords), | |
166 DEF(SET_BOOL, ssl_require_client_cert), | |
167 DEF(SET_BOOL, ssl_username_from_cert), | |
168 DEF(SET_BOOL, use_winbind), | |
169 | |
170 DEF(SET_UINT, worker_max_count), | |
171 | |
172 DEFLIST(passdbs, "passdb", &auth_passdb_setting_parser_info), | |
173 DEFLIST(userdbs, "userdb", &auth_userdb_setting_parser_info), | |
174 | |
175 SETTING_DEFINE_LIST_END | |
176 }; | |
177 | |
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
|
178 static const struct auth_settings auth_default_settings = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
179 .mechanisms = "plain", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
180 .realms = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
181 .default_realm = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
182 .cache_size = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
183 .cache_ttl = 60*60, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
184 .cache_negative_ttl = 0, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
185 .username_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
186 .username_translation = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
187 .username_format = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
188 .master_user_separator = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
189 .anonymous_username = "anonymous", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
190 .krb5_keytab = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
191 .gssapi_hostname = "", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
192 .winbind_helper_path = "/usr/bin/ntlm_auth", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
193 .failure_delay = 2, |
9002 | 194 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
195 .verbose = FALSE, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
196 .debug = FALSE, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
197 .debug_passwords = FALSE, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
198 .ssl_require_client_cert = FALSE, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
199 .ssl_username_from_cert = FALSE, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
200 .use_winbind = FALSE, |
9002 | 201 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
202 .worker_max_count = 30, |
9002 | 203 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
204 .passdbs = ARRAY_INIT, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
205 .userdbs = ARRAY_INIT |
9002 | 206 }; |
207 | |
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
|
208 const struct setting_parser_info auth_setting_parser_info = { |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
209 .module_name = "auth", |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
210 .defines = auth_setting_defines, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
211 .defaults = &auth_default_settings, |
9002 | 212 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
213 .type_offset = (size_t)-1, |
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
214 .struct_size = sizeof(struct auth_settings), |
9002 | 215 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
216 .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
|
217 |
10410
b757dab45756
Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents:
10282
diff
changeset
|
218 .check_func = auth_settings_check |
9002 | 219 }; |
220 | |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
221 /* <settings checks> */ |
9267 | 222 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
|
223 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
|
224 { |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
225 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
|
226 |
9451
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
227 if (set->debug_passwords) |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
228 set->debug = TRUE; |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
229 if (set->debug) |
d86490ef27bd
auth: Fixed auth_debug_password -> auth_debug -> auth_Verbose cascading.
Timo Sirainen <tss@iki.fi>
parents:
9267
diff
changeset
|
230 set->verbose = TRUE; |
9261
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
231 return TRUE; |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
232 } |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
233 /* </settings checks> */ |
5e80d667a827
auth settings: Make sure we have a section name defined.
Timo Sirainen <tss@iki.fi>
parents:
9244
diff
changeset
|
234 |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
235 struct auth_settings * |
9846
cf27080f3fcf
config: Removed auth sections completely for now.
Timo Sirainen <tss@iki.fi>
parents:
9834
diff
changeset
|
236 auth_settings_read(struct master_service *service) |
9002 | 237 { |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
238 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
|
239 &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
|
240 NULL |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
241 }; |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
242 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
|
243 void **sets; |
9002 | 244 |
9244
4bf901b4c402
mail processes now specify user/lip/rip in config requests.
Timo Sirainen <tss@iki.fi>
parents:
9159
diff
changeset
|
245 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
|
246 i_fatal("Error reading configuration: %s", error); |
9002 | 247 |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9057
diff
changeset
|
248 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
|
249 return sets[0]; |
9002 | 250 } |