changeset 19705:9fb16176c200

*-login: Added -l parameter to specify the socket where to connect to after authentication
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 03 Feb 2016 14:00:16 +0200
parents 8d034339f418
children 3a4866198d8f
files src/login-common/main.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/main.c	Wed Feb 03 13:56:09 2016 +0200
+++ b/src/login-common/main.c	Wed Feb 03 14:00:16 2016 +0200
@@ -51,6 +51,7 @@
 
 static struct module *modules;
 static struct timeout *auth_client_to;
+static const char *post_login_socket;
 static bool shutting_down = FALSE;
 static bool ssl_connections = FALSE;
 static bool auth_connected_once = FALSE;
@@ -403,7 +404,7 @@
 	auth_client = auth_client_init(login_socket, (unsigned int)getpid(),
 				       FALSE);
         auth_client_set_connect_notify(auth_client, auth_connect_notify, NULL);
-	master_auth = master_auth_init(master_service, login_binary->protocol);
+	master_auth = master_auth_init(master_service, post_login_socket);
 
 	login_binary->init();
 	login_proxy_init("proxy-notify");
@@ -441,10 +442,11 @@
 	login_binary = binary;
 	login_socket = binary->default_login_socket != NULL ?
 		binary->default_login_socket : LOGIN_DEFAULT_SOCKET;
+	post_login_socket = binary->protocol;
 
 	master_service = master_service_init(login_binary->process_name,
 					     service_flags, &argc, &argv,
-					     "DR:S");
+					     "Dl:R:S");
 	master_service_init_log(master_service, t_strconcat(
 		login_binary->process_name, ": ", NULL));
 
@@ -453,6 +455,9 @@
 		case 'D':
 			login_debug = TRUE;
 			break;
+		case 'l':
+			post_login_socket = optarg;
+			break;
 		case 'R':
 			login_rawlog_dir = optarg;
 			break;