Mercurial > dovecot > core-2.2
changeset 10037:45cdc5539c93 HEAD
*-login: Login binaries can now set up their own private settings.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 12 Oct 2009 12:51:06 -0400 |
parents | e8fc7ee87410 |
children | 499f5575d503 |
files | src/imap-login/client.c src/login-common/common.h src/login-common/login-settings.c src/login-common/login-settings.h src/login-common/main.c src/pop3-login/client.c |
diffstat | 6 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap-login/client.c Mon Oct 12 12:37:35 2009 -0400 +++ b/src/imap-login/client.c Mon Oct 12 12:51:06 2009 -0400 @@ -32,6 +32,10 @@ const char *login_process_name = "imap-login"; unsigned int login_default_port = 143; +void login_process_preinit(void) +{ +} + /* Skip incoming data until newline is found, returns TRUE if newline was found. */ bool client_skip_line(struct imap_client *client)
--- a/src/login-common/common.h Mon Oct 12 12:37:35 2009 -0400 +++ b/src/login-common/common.h Mon Oct 12 12:51:06 2009 -0400 @@ -21,4 +21,6 @@ extern const struct login_settings *global_login_settings; +void login_process_preinit(void); + #endif
--- a/src/login-common/login-settings.c Mon Oct 12 12:37:35 2009 -0400 +++ b/src/login-common/login-settings.c Mon Oct 12 12:51:06 2009 -0400 @@ -83,6 +83,11 @@ MEMBER(check_func) login_settings_check }; +const struct setting_parser_info *login_set_roots[] = { + &login_setting_parser_info, + NULL +}; + /* <settings checks> */ static int ssl_settings_check(void *_set ATTR_UNUSED, const char **error_r) { @@ -152,17 +157,13 @@ const struct ip_addr *local_ip, const struct ip_addr *remote_ip) { - static const struct setting_parser_info *set_roots[] = { - &login_setting_parser_info, - NULL - }; struct master_service_settings_input input; const char *error; void **sets; struct login_settings *set; memset(&input, 0, sizeof(input)); - input.roots = set_roots; + input.roots = login_set_roots; input.module = "login"; input.service = login_protocol;
--- a/src/login-common/login-settings.h Mon Oct 12 12:37:35 2009 -0400 +++ b/src/login-common/login-settings.h Mon Oct 12 12:51:06 2009 -0400 @@ -32,6 +32,8 @@ char *const *log_format_elements_split; }; +extern const struct setting_parser_info *login_set_roots[]; + struct login_settings * login_settings_read(struct master_service *service, pool_t pool, const struct ip_addr *local_ip,
--- a/src/login-common/main.c Mon Oct 12 12:37:35 2009 -0400 +++ b/src/login-common/main.c Mon Oct 12 12:51:06 2009 -0400 @@ -199,6 +199,7 @@ master_fd = master_connect(t_strcut(login_process_name, '-')); } #endif + login_process_preinit(); process_title_init(argv, envp); set_pool = pool_alloconly_create("global login settings", 4096);
--- a/src/pop3-login/client.c Mon Oct 12 12:37:35 2009 -0400 +++ b/src/pop3-login/client.c Mon Oct 12 12:51:06 2009 -0400 @@ -24,6 +24,10 @@ const char *login_process_name = "pop3-login"; unsigned int login_default_port = 110; +void login_process_preinit(void) +{ +} + static bool cmd_stls(struct pop3_client *client) { client_cmd_starttls(&client->common);