dovecot-2.0: *-login: Login binaries can now set up their own pr...

dovecot at dovecot.org dovecot at dovecot.org
Mon Oct 12 19:51:14 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/45cdc5539c93
changeset: 10037:45cdc5539c93
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Oct 12 12:51:06 2009 -0400
description:
*-login: Login binaries can now set up their own private settings.

diffstat:

6 files changed, 19 insertions(+), 5 deletions(-)
src/imap-login/client.c           |    4 ++++
src/login-common/common.h         |    2 ++
src/login-common/login-settings.c |   11 ++++++-----
src/login-common/login-settings.h |    2 ++
src/login-common/main.c           |    1 +
src/pop3-login/client.c           |    4 ++++

diffs (95 lines):

diff -r e8fc7ee87410 -r 45cdc5539c93 src/imap-login/client.c
--- 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-l
 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)
diff -r e8fc7ee87410 -r 45cdc5539c93 src/login-common/common.h
--- 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 int anvil_fd;
 
 extern const struct login_settings *global_login_settings;
 
+void login_process_preinit(void);
+
 #endif
diff -r e8fc7ee87410 -r 45cdc5539c93 src/login-common/login-settings.c
--- 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 @@ struct setting_parser_info login_setting
 	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 @@ login_settings_read(struct master_servic
 		    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;
 
diff -r e8fc7ee87410 -r 45cdc5539c93 src/login-common/login-settings.h
--- 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 @@ struct login_settings {
 	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,
diff -r e8fc7ee87410 -r 45cdc5539c93 src/login-common/main.c
--- 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 @@ int main(int argc, char *argv[], char *e
 		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);
diff -r e8fc7ee87410 -r 45cdc5539c93 src/pop3-login/client.c
--- 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-l
 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);


More information about the dovecot-cvs mailing list