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;
}
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));
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;
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));
}
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)
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]);
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));
}
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)
}
}
- 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;