]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap, pop3, imap-urlauth: Added -a <auth-master socket path> parameter
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 3 Feb 2016 12:05:07 +0000 (14:05 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 3 Feb 2016 12:14:09 +0000 (14:14 +0200)
src/imap-urlauth/imap-urlauth.c
src/imap/main.c
src/pop3/main.c

index d36058c013637d0054fa1c28a85b9b92cfede397..0e6310dda92211881abfdc5f5244cdd40d996537 100644 (file)
@@ -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;
 
index ab8d3b1b1d4d316506dae06780faf8ee113ddea4..90bfdc0ce3cfb2e1f386f83e5f209b64ea277f25 100644 (file)
@@ -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]);
index f46f9667a7cd388aad41de666e803edd9a8af218..af195825be43a5ce8383ba7466929d0b8c26df48 100644 (file)
@@ -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;