auth-settings.c revision 062ea54b7775d0c92ed67b9b1f4d93fa8ec80c84
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3Timo Sirainen/* Copyright (c) 2005-2011 Dovecot authors, see the included COPYING file */
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic bool auth_settings_check(void *_set, pool_t pool, const char **error_r);
797de45dcf6e24642ab347d5033beb92034b779dTimo Sirainenstatic bool auth_passdb_settings_check(void *_set, pool_t pool, const char **error_r);
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic bool auth_userdb_settings_check(void *_set, pool_t pool, const char **error_r);
35565557e05721a761132cec2ba1d93acacb6c14Timo Sirainen/* <settings checks> */
4ee00532a265bdfb38539d811fcd12d51210ac35Timo Sirainenstatic struct file_listener_settings auth_unix_listeners_array[] = {
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainen { "auth-login", 0600, "$default_internal_user", "" },
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic struct file_listener_settings *auth_unix_listeners[] = {
717a444a466280a84a468220f647fdcb9f3b546fTimo Sirainen auth_unix_listeners, sizeof(auth_unix_listeners), { 0, }
717a444a466280a84a468220f647fdcb9f3b546fTimo Sirainen/* </settings checks> */
717a444a466280a84a468220f647fdcb9f3b546fTimo Sirainenstruct service_settings auth_service_settings = {
dcc76bb1e1bb287e3e71e6a39a7ca207fab0eaa8Timo Sirainen .unix_listeners = { { &auth_unix_listeners_buf,
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainen/* <settings checks> */
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic struct file_listener_settings auth_worker_unix_listeners_array[] = {
dcc76bb1e1bb287e3e71e6a39a7ca207fab0eaa8Timo Sirainen { "auth-worker", 0600, "$default_internal_user", "" }
35565557e05721a761132cec2ba1d93acacb6c14Timo Sirainenstatic struct file_listener_settings *auth_worker_unix_listeners[] = {
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic buffer_t auth_worker_unix_listeners_buf = {
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainen auth_worker_unix_listeners, sizeof(auth_worker_unix_listeners), { 0, }
49b6e2d72cfaa5c244c798ddbae5b61489b0f728Timo Sirainen/* </settings checks> */
49b6e2d72cfaa5c244c798ddbae5b61489b0f728Timo Sirainenstruct service_settings auth_worker_service_settings = {
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainen .unix_listeners = { { &auth_worker_unix_listeners_buf,
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainen { type, #name, offsetof(struct auth_passdb_settings, name), NULL }
debb28d107fa06d26fd194fdac523cfb32809199Timo Sirainenstatic const struct setting_define auth_passdb_setting_defines[] = {
35565557e05721a761132cec2ba1d93acacb6c14Timo Sirainenstatic const struct auth_passdb_settings auth_passdb_default_settings = {
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenconst struct setting_parser_info auth_passdb_setting_parser_info = {
08f24237ccc177f5b3a09b24d8a725fa47e1ee32Timo Sirainen .struct_size = sizeof(struct auth_passdb_settings),
745f2c7424d88e368eff0a3a7650b352a9d1f0ddTimo Sirainen { type, #name, offsetof(struct auth_userdb_settings, name), NULL }
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic const struct setting_define auth_userdb_setting_defines[] = {
f2767c736d72e6aa9a2aae5d0a9b89abae9e29e9Timo Sirainenstatic const struct auth_userdb_settings auth_userdb_default_settings = {
f05b9dd37f830576ca7d32ec7071bf87906df3d2Timo Sirainenconst struct setting_parser_info auth_userdb_setting_parser_info = {
35565557e05721a761132cec2ba1d93acacb6c14Timo Sirainen .struct_size = sizeof(struct auth_userdb_settings),
dba5754de32284b3149ddd5c9bb1701b05707752Timo Sirainen/* we're kind of kludging here to avoid "auth_" prefix in the struct fields */
b9a13c136b7c5803a8271878fcbbf5328f6e7f2aTimo Sirainen { type, "auth_"#name, offsetof(struct auth_settings, name), NULL }
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen { type, #name, offsetof(struct auth_settings, name), NULL }
80cfaba9e253545cbcd08f84939b27cdbb4a50d0Aki Tuomi { SET_DEFLIST, name, offsetof(struct auth_settings, field), defines }
c014f12e8268bf37ca2997e632ad7c22b8d04a84Timo Sirainenstatic const struct setting_define auth_setting_defines[] = {
dba5754de32284b3149ddd5c9bb1701b05707752Timo Sirainen DEFLIST(passdbs, "passdb", &auth_passdb_setting_parser_info),
dba5754de32284b3149ddd5c9bb1701b05707752Timo Sirainen DEFLIST(userdbs, "userdb", &auth_userdb_setting_parser_info),
dcc76bb1e1bb287e3e71e6a39a7ca207fab0eaa8Timo Sirainenstatic const struct auth_settings auth_default_settings = {
b9a13c136b7c5803a8271878fcbbf5328f6e7f2aTimo Sirainen .username_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@",
.last_valid_uid = 0,
const char **error_r)
return FALSE;
return TRUE;
const char **error_r)
return FALSE;
return TRUE;
const char **error_r)
return FALSE;
return TRUE;
struct auth_settings *
const char *error;
i_unreached();