login-settings.c revision ed4cdfe5847a6063d5a4684a6a47b17e943922b5
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi/* Copyright (c) 2005-2009 Dovecot authors, see the included COPYING file */
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic bool login_settings_check(void *_set, pool_t pool, const char **error_r);
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi { type, #name, offsetof(struct login_settings, name), NULL }
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic struct setting_define login_setting_defines[] = {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic struct login_settings login_default_settings = {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi MEMBER(login_log_format_elements) "user=<%u> method=%m rip=%r lip=%l %c",
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi MEMBER(ssl_cipher_list) "ALL:!LOW:!SSLv2:!EXP:!aNULL",
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistruct setting_parser_info login_setting_parser_info = {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi MEMBER(struct_size) sizeof(struct login_settings),
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic const struct setting_parser_info *default_login_set_roots[] = {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomiconst struct setting_parser_info **login_set_roots = default_login_set_roots;
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi/* <settings checks> */
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic int ssl_settings_check(void *_set ATTR_UNUSED, const char **error_r)
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi *error_r = t_strdup_printf("SSL support not compiled in but ssl=%s",
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi if (set->ssl_verify_client_cert && *set->ssl_ca_file == '\0') {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi *error_r = "ssl_verify_client_cert set, but ssl_ca_file not";
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi if (*set->ssl_ca_file != '\0' && access(set->ssl_ca_file, R_OK) < 0) {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi *error_r = t_strdup_printf("ssl_ca_file: access(%s) failed: %m",
return FALSE;
return TRUE;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
static const struct var_expand_table *
return tab;
struct login_settings *
void ***other_settings_r)
const char *error;
void **sets;
return sets[0];