From: Timo Sirainen Date: Wed, 3 Feb 2016 12:05:07 +0000 (+0200) Subject: imap, pop3, imap-urlauth: Added -a parameter X-Git-Tag: 2.2.22.rc1~214 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2812f5744f44ffb070bb6f8bede8dcaa04fe6337;p=thirdparty%2Fdovecot%2Fcore.git imap, pop3, imap-urlauth: Added -a parameter --- diff --git a/src/imap-urlauth/imap-urlauth.c b/src/imap-urlauth/imap-urlauth.c index d36058c013..0e6310dda9 100644 --- a/src/imap-urlauth/imap-urlauth.c +++ b/src/imap-urlauth/imap-urlauth.c @@ -186,6 +186,8 @@ int main(int argc, char *argv[]) void **sets; enum master_service_flags service_flags = 0; const char *error = NULL, *username = NULL; + const char *auth_socket_path = "auth-master"; + int c; memset(&login_set, 0, sizeof(login_set)); login_set.postlogin_timeout_secs = MASTER_POSTLOGIN_TIMEOUT_DEFAULT; @@ -205,9 +207,16 @@ int main(int argc, char *argv[]) } master_service = master_service_init("imap-urlauth", service_flags, - &argc, &argv, ""); - if (master_getopt(master_service) > 0) - return FATAL_DEFAULT; + &argc, &argv, "a:"); + while ((c = master_getopt(master_service)) > 0) { + switch (c) { + case 'a': + auth_socket_path = optarg; + break; + default: + return FATAL_DEFAULT; + } + } master_service_init_log(master_service, "imap-urlauth: "); memset(&input, 0, sizeof(input)); @@ -224,7 +233,7 @@ int main(int argc, char *argv[]) if (imap_urlauth_settings->verbose_proctitle) verbose_proctitle = TRUE; - login_set.auth_socket_path = t_abspath("auth-master"); + login_set.auth_socket_path = t_abspath(auth_socket_path); login_set.callback = login_client_connected; login_set.failure_callback = login_client_failed; diff --git a/src/imap/main.c b/src/imap/main.c index ab8d3b1b1d..90bfdc0ce3 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -368,7 +368,7 @@ int main(int argc, char *argv[]) enum master_service_flags service_flags = 0; enum mail_storage_service_flags storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE; - const char *username = NULL; + const char *username = NULL, *auth_socket_path = "auth-master"; int c; memset(&login_set, 0, sizeof(login_set)); @@ -392,9 +392,12 @@ int main(int argc, char *argv[]) } master_service = master_service_init("imap", service_flags, - &argc, &argv, "Dt:u:"); + &argc, &argv, "a:Dt:u:"); while ((c = master_getopt(master_service)) > 0) { switch (c) { + case 'a': + auth_socket_path = optarg; + break; case 't': if (str_to_uint(optarg, &login_set.postlogin_timeout_secs) < 0 || login_set.postlogin_timeout_secs == 0) @@ -435,7 +438,7 @@ int main(int argc, char *argv[]) main_stdio_run(username); } T_END; } else T_BEGIN { - login_set.auth_socket_path = t_abspath("auth-master"); + login_set.auth_socket_path = t_abspath(auth_socket_path); if (argv[optind] != NULL) { login_set.postlogin_socket_path = t_abspath(argv[optind]); diff --git a/src/pop3/main.c b/src/pop3/main.c index f46f9667a7..af195825be 100644 --- a/src/pop3/main.c +++ b/src/pop3/main.c @@ -215,7 +215,7 @@ int main(int argc, char *argv[]) enum master_service_flags service_flags = 0; enum mail_storage_service_flags storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE; - const char *username = NULL; + const char *username = NULL, *auth_socket_path = "auth-master"; int c; memset(&login_set, 0, sizeof(login_set)); @@ -238,9 +238,12 @@ int main(int argc, char *argv[]) } master_service = master_service_init("pop3", service_flags, - &argc, &argv, "t:u:"); + &argc, &argv, "a:t:u:"); while ((c = master_getopt(master_service)) > 0) { switch (c) { + case 'a': + auth_socket_path = optarg; + break; case 't': if (str_to_uint(optarg, &login_set.postlogin_timeout_secs) < 0 || login_set.postlogin_timeout_secs == 0) @@ -256,7 +259,7 @@ int main(int argc, char *argv[]) } } - login_set.auth_socket_path = t_abspath("auth-master"); + login_set.auth_socket_path = t_abspath(auth_socket_path); if (argv[optind] != NULL) login_set.postlogin_socket_path = t_abspath(argv[optind]); login_set.callback = login_client_connected;