]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master has now a global master_service variable that all binaries use.
authorTimo Sirainen <tss@iki.fi>
Fri, 22 May 2009 21:26:27 +0000 (17:26 -0400)
committerTimo Sirainen <tss@iki.fi>
Fri, 22 May 2009 21:26:27 +0000 (17:26 -0400)
There should always be only one of them anyway.

--HG--
branch : HEAD

34 files changed:
src/anvil/main.c
src/auth/auth-common.h
src/auth/auth-master-connection.c
src/auth/auth-worker-client.c
src/auth/main.c
src/config/doveconf.c
src/config/main.c
src/imap-login/client.c
src/imap/imap-client.c
src/imap/imap-common.h
src/imap/main.c
src/lda/main.c
src/lib-master/master-service.c
src/lib-master/master-service.h
src/lmtp/client.c
src/lmtp/main.c
src/lmtp/main.h
src/log/common.h
src/log/log-connection.c
src/log/main.c
src/login-common/common.h
src/login-common/login-proxy.c
src/login-common/main.c
src/login-common/sasl-server.c
src/login-common/ssl-proxy-openssl.c
src/master/common.h
src/master/service-process.c
src/plugins/convert/convert-tool.c
src/plugins/expire/expire-tool.c
src/pop3-login/client.c
src/pop3/main.c
src/pop3/pop3-client.c
src/pop3/pop3-common.h
src/util/doveadm.c

index e407ac73f7b52a6ae7477d2ebe4787b2ac2a6915..4089b37d6ae1e63371cac2a04b4be95cef09286a 100644 (file)
@@ -12,8 +12,6 @@
 
 struct connect_limit *connect_limit;
 
-static struct master_service *service;
-
 static void client_connected(const struct master_service_connection *conn)
 {
        anvil_connection_create(conn->fd);
@@ -23,20 +21,20 @@ int main(int argc, char *argv[])
 {
        int c;
 
-       service = master_service_init("anvil", 0, argc, argv);
+       master_service = master_service_init("anvil", 0, argc, argv);
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
-       master_service_init_log(service, "anvil: ", 0);
-       master_service_init_finish(service);
+       master_service_init_log(master_service, "anvil: ", 0);
+       master_service_init_finish(master_service);
        connect_limit = connect_limit_init();
 
-       master_service_run(service, client_connected);
+       master_service_run(master_service, client_connected);
 
        connect_limit_deinit(&connect_limit);
        anvil_connections_destroy_all();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index 4d0ee6735319fc6d05c1398e1615e1a2469eb9e1..845a4f7d7700c169d0d50a32d48169da9c29986b 100644 (file)
@@ -4,7 +4,6 @@
 #include "lib.h"
 #include "auth.h"
 
-extern struct master_service *service;
 extern bool worker, shutdown_request;
 extern time_t process_start_time;
 
index 05a896dfd7ad928d066f8a64b2c2bf53f1dc1947..6018c7d46a97772ededca8a531613bbe98d5e32b 100644 (file)
@@ -425,7 +425,7 @@ void auth_master_connection_destroy(struct auth_master_connection **_conn)
                conn->fd = -1;
        }
 
-        master_service_client_connection_destroyed(service);
+        master_service_client_connection_destroyed(master_service);
        auth_master_connection_unref(&conn);
 }
 
index 3d78283c10b6662906961d9865422ac8b26bab62..7a037beb221c17c277f5ef09545b0dfac2d29ebf 100644 (file)
@@ -617,7 +617,7 @@ void auth_worker_client_destroy(struct auth_worker_client **_client)
        net_disconnect(client->fd);
        client->fd = -1;
 
-        master_service_client_connection_destroyed(service);
+        master_service_client_connection_destroyed(master_service);
 }
 
 void auth_worker_client_unref(struct auth_worker_client **_client)
index ab6ea698f1cd4289d1fbc47c8f27570752494283..21273c218db52dcf1d32167dcce0834c321215eb 100644 (file)
@@ -31,7 +31,6 @@ enum auth_socket_type {
        AUTH_SOCKET_MASTER
 };
 
-struct master_service *service;
 bool worker = FALSE, shutdown_request = FALSE;
 time_t process_start_time;
 
@@ -54,7 +53,7 @@ static void main_preinit(struct auth_settings *set)
        passdbs_init();
        userdbs_init();
        modules = module_dir_load(AUTH_MODULE_DIR, NULL, TRUE,
-                                 master_service_get_version_string(service));
+                       master_service_get_version_string(master_service));
        module_dir_init(modules);
        auth = auth_preinit(set);
 
@@ -85,7 +84,7 @@ static void main_init(void)
        if (worker) {
                /* workers have only a single connection from the master
                   auth process */
-               master_service_set_client_limit(service, 1);
+               master_service_set_client_limit(master_service, 1);
        } else if (getenv("MASTER_AUTH_FD") != NULL) {
                (void)auth_master_connection_create(auth, MASTER_AUTH_FD);
        }
@@ -163,8 +162,8 @@ int main(int argc, char *argv[])
        const char *getopt_str, *auth_name = "default";
        int c;
 
-       service = master_service_init("auth", 0, argc, argv);
-       master_service_init_log(service, "auth: ", 0);
+       master_service = master_service_init("auth", 0, argc, argv);
+       master_service_init_log(master_service, "auth: ", 0);
 
         getopt_str = t_strconcat("w", master_service_getopt_string(), NULL);
        while ((c = getopt(argc, argv, getopt_str)) > 0) {
@@ -176,19 +175,20 @@ int main(int argc, char *argv[])
                        worker = TRUE;
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg))
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg))
                                exit(FATAL_DEFAULT);
                        break;
                }
        }
 
-       main_preinit(auth_settings_read(service, auth_name));
+       main_preinit(auth_settings_read(master_service, auth_name));
 
-       master_service_init_finish(service);
+       master_service_init_finish(master_service);
        main_init();
-       master_service_run(service, worker ? worker_connected :
+       master_service_run(master_service, worker ? worker_connected :
                           client_connected);
        main_deinit();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index a92fc63797ca231e248026bad7f2c0c9d386d689..8c16ea7d4e9f9a541ceea1a971652f79a295e095 100644 (file)
@@ -21,8 +21,6 @@ struct config_request_get_string_ctx {
        ARRAY_TYPE(const_string) strings;
 };
 
-static struct master_service *service;
-
 static void
 config_request_get_strings(const char *key, const char *value,
                           bool list, void *context)
@@ -212,8 +210,9 @@ int main(int argc, char *argv[])
        int c;
 
        memset(&filter, 0, sizeof(filter));
-       service = master_service_init("config", MASTER_SERVICE_FLAG_STANDALONE,
-                                     argc, argv);
+       master_service = master_service_init("config",
+                                            MASTER_SERVICE_FLAG_STANDALONE,
+                                            argc, argv);
        i_set_failure_prefix("doveconf: ");
        getopt_str = t_strconcat("am:np:e", master_service_getopt_string(), NULL);
        while ((c = getopt(argc, argv, getopt_str)) > 0) {
@@ -232,11 +231,12 @@ int main(int argc, char *argv[])
                        filter.service = optarg;
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg))
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg))
                                exit(FATAL_DEFAULT);
                }
        }
-       config_path = master_service_get_config_path(service);
+       config_path = master_service_get_config_path(master_service);
 
        if (argv[optind] != NULL)
                exec_args = &argv[optind];
@@ -246,7 +246,7 @@ int main(int argc, char *argv[])
                printf("# "VERSION": %s\n", config_path);
                fflush(stdout);
        }
-       master_service_init_finish(service);
+       master_service_init_finish(master_service);
 
        config_parse_file(config_path, FALSE);
 
@@ -265,6 +265,6 @@ int main(int argc, char *argv[])
                execvp(exec_args[0], exec_args);
                i_fatal("execvp(%s) failed: %m", exec_args[0]);
        }
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index faa64b9c2005e57f55975fe1a36c37fb72146807..6f651137c48f0c221b90c1992dc0063a8ebc237a 100644 (file)
@@ -11,8 +11,6 @@
 #include <stdlib.h>
 #include <unistd.h>
 
-static struct master_service *service;
-
 static void client_connected(const struct master_service_connection *conn)
 {
        config_connection_create(conn->fd);
@@ -22,18 +20,18 @@ int main(int argc, char *argv[])
 {
        int c;
 
-       service = master_service_init("config", 0, argc, argv);
+       master_service = master_service_init("config", 0, argc, argv);
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
-       master_service_init_log(service, "config: ", 0);
-       master_service_init_finish(service);
-       config_parse_file(master_service_get_config_path(service), TRUE);
+       master_service_init_log(master_service, "config: ", 0);
+       master_service_init_finish(master_service);
+       config_parse_file(master_service_get_config_path(master_service), TRUE);
 
-       master_service_run(service, client_connected);
+       master_service_run(master_service, client_connected);
        config_connections_destroy_all();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index 8e1b9b15fc34e478c4081b890658793ec32e189d..247057b0a78517069d0f87a29c453aad7bedfb41 100644 (file)
@@ -575,7 +575,8 @@ void client_destroy(struct imap_client *client, const char *reason)
        if (client->common.master_tag != 0) {
                i_assert(client->common.auth_request == NULL);
                i_assert(client->common.authenticating);
-               master_auth_request_abort(service, client->common.master_tag);
+               master_auth_request_abort(master_service,
+                                         client->common.master_tag);
        } else if (client->common.auth_request != NULL) {
                i_assert(client->common.authenticating);
                sasl_server_auth_client_error(&client->common, NULL);
@@ -653,7 +654,7 @@ bool client_unref(struct imap_client *client)
 
        if (!client->common.proxying) {
                i_assert(client->common.proxy == NULL);
-               master_service_client_connection_destroyed(service);
+               master_service_client_connection_destroyed(master_service);
        }
 
        i_free(client->common.virtual_user);
index f81470144c2f45bef0d9a4b4a11b995ed8b60df9..9e7c4347020e8325f042b212dbf6743dadd9aaea 100644 (file)
@@ -72,8 +72,8 @@ struct client *client_create(int fd_in, int fd_out, struct mail_user *user,
 
        ident = mail_user_get_anvil_userip_ident(client->user);
        if (ident != NULL) {
-               master_service_anvil_send(service, t_strconcat("CONNECT\t",
-                       my_pid, "\t", ident, "/imap\n", NULL));
+               master_service_anvil_send(master_service, t_strconcat(
+                       "CONNECT\t", my_pid, "\t", ident, "/imap\n", NULL));
                client->anvil_sent = TRUE;
        }
 
@@ -184,8 +184,8 @@ void client_destroy(struct client *client, const char *reason)
                mailbox_close(&client->mailbox);
        }
        if (client->anvil_sent) {
-               master_service_anvil_send(service, t_strconcat("DISCONNECT\t",
-                       my_pid, "\t",
+               master_service_anvil_send(master_service, t_strconcat(
+                       "DISCONNECT\t", my_pid, "\t",
                        mail_user_get_anvil_userip_ident(client->user), "/imap"
                        "\n", NULL));
        }
@@ -219,7 +219,7 @@ void client_destroy(struct client *client, const char *reason)
 
        /* quit the program */
        my_client = NULL;
-       master_service_stop(service);
+       master_service_stop(master_service);
 }
 
 void client_disconnect(struct client *client, const char *reason)
index d8c0caa73b915ce009df44fb297c008fa6091aec..c2c0e6b429a6af9879684fd175f4312f027b0cd7 100644 (file)
@@ -23,8 +23,6 @@ enum client_workarounds {
 #include "imap-client.h"
 #include "imap-settings.h"
 
-extern struct master_service *service;
-
 extern void (*hook_client_created)(struct client **client);
 
 #endif
index af903284515f4a9f4db12917d1780dcca349b37e..e40c416421ff0fd51f6eea0adca237dd572b3ec4 100644 (file)
@@ -37,7 +37,6 @@ static struct client_workaround_list client_workaround_list[] = {
 
 static struct io *log_io = NULL;
 
-struct master_service *service;
 void (*hook_client_created)(struct client **client) = NULL;
 
 static void log_error_callback(void *context ATTR_UNUSED)
@@ -45,7 +44,7 @@ static void log_error_callback(void *context ATTR_UNUSED)
        /* the log fd is closed, don't die when trying to log later */
        i_set_failure_ignore_errors(TRUE);
 
-       master_service_stop(service);
+       master_service_stop(master_service);
 }
 
 static enum client_workarounds
@@ -180,9 +179,9 @@ int main(int argc, char *argv[], char *envp[])
                        MAIL_STORAGE_SERVICE_FLAG_NO_RESTRICT_ACCESS;
        }
 
-       service = master_service_init("imap", service_flags, argc, argv);
+       master_service = master_service_init("imap", service_flags, argc, argv);
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
@@ -205,9 +204,10 @@ int main(int argc, char *argv[], char *envp[])
        commands_init();
        imap_fetch_handlers_init();
 
-       mail_user = mail_storage_service_init_user(service, &input, set_roots,
+       mail_user = mail_storage_service_init_user(master_service,
+                                                  &input, set_roots,
                                                   storage_service_flags);
-       set = mail_storage_service_get_settings(service);
+       set = mail_storage_service_get_settings(master_service);
        restrict_access_allow_coredumps(TRUE);
 
         process_title_init(argv, envp);
@@ -220,13 +220,13 @@ int main(int argc, char *argv[], char *envp[])
                main_init(set, mail_user, dump_capability);
        } T_END;
        if (io_loop_is_running(current_ioloop))
-               master_service_run(service, client_connected);
+               master_service_run(master_service, client_connected);
 
        main_deinit();
        mail_storage_service_deinit_user();
        imap_fetch_handlers_deinit();
        commands_deinit();
 
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return 0;
 }
index bcc1f3ef667d7739e485ddb7bff74b948aa8aa40..e9c65302af7f105d339b8cb87f086facbd832929 100644 (file)
@@ -44,8 +44,6 @@ static const char *wanted_headers[] = {
        NULL
 };
 
-static struct master_service *service;
-
 static const char *escape_local_part(const char *local_part)
 {
        const char *p;
@@ -222,8 +220,9 @@ int main(int argc, char *argv[])
 
        i_set_failure_exit_callback(failure_exit_callback);
 
-       service = master_service_init("lda", MASTER_SERVICE_FLAG_STANDALONE,
-                                     argc, argv);
+       master_service = master_service_init("lda",
+                                            MASTER_SERVICE_FLAG_STANDALONE,
+                                            argc, argv);
 
        memset(&ctx, 0, sizeof(ctx));
        ctx.pool = pool_alloconly_create("mail deliver context", 256);
@@ -277,7 +276,8 @@ int main(int argc, char *argv[])
                                p_strdup(ctx.pool, address_sanitize(optarg));
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg)) {
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg)) {
                                print_help();
                                exit(EX_USAGE);
                        }
@@ -320,19 +320,21 @@ int main(int argc, char *argv[])
        service_input.username = user;
 
        service_flags |= MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT;
-       ctx.dest_user = mail_storage_service_init_user(service, &service_input,
+       ctx.dest_user = mail_storage_service_init_user(master_service,
+                                                      &service_input,
                                                       set_roots,
                                                       service_flags);
 #ifdef SIGXFSZ
         lib_signals_ignore(SIGXFSZ, TRUE);
 #endif
-       ctx.set = mail_storage_service_get_settings(service);
+       ctx.set = mail_storage_service_get_settings(master_service);
         duplicate_init(mail_user_set_get_storage_set(ctx.dest_user->set));
 
        /* create a separate mail user for the internal namespace */
-       if (master_service_set(service, "mail_full_filesystem_access=yes") < 0)
+       if (master_service_set(master_service,
+                              "mail_full_filesystem_access=yes") < 0)
                i_unreached();
-       sets = master_service_settings_get_others(service);
+       sets = master_service_settings_get_others(master_service);
        raw_mail_user = mail_user_alloc(user, sets[0]);
        mail_user_set_home(raw_mail_user, "/");
        if (mail_user_init(raw_mail_user, &errstr) < 0)
@@ -429,6 +431,6 @@ int main(int argc, char *argv[])
        pool_unref(&ctx.pool);
 
        mail_storage_service_deinit_user();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return EX_OK;
 }
index ab5cb18bc41bdbf7e2e8eb1690670f229e81c650..73a82b6c1fd46dd58d720d89ddd0c37843aa3d5b 100644 (file)
@@ -26,6 +26,8 @@
 /* getenv(MASTER_DOVECOT_VERSION_ENV) provides master's version number */
 #define MASTER_DOVECOT_VERSION_ENV "DOVECOT_VERSION"
 
+struct master_service *master_service;
+
 static void io_listeners_add(struct master_service *service);
 static void io_listeners_remove(struct master_service *service);
 static void master_status_update(struct master_service *service);
index 2d82033c675250406c458e1b4776e88aceaa7746..6a6caf0b476ec2b500d82515709613f9c505ce08 100644 (file)
@@ -29,7 +29,7 @@ struct master_service_connection {
 typedef void
 master_service_connection_callback_t(const struct master_service_connection *conn);
 
-struct master_service;
+extern struct master_service *master_service;
 
 const char *master_service_getopt_string(void);
 
index 7116b691e774791f8bec46633a94ef32df2a9084..a11e3c2b8b50c8cca83ef5852e45f000b5bc9234 100644 (file)
@@ -123,7 +123,7 @@ static void client_raw_user_create(struct client *client)
        const char *error;
        void **sets;
 
-       sets = master_service_settings_get_others(service);
+       sets = master_service_settings_get_others(master_service);
 
        client->raw_mail_user = mail_user_alloc("raw user", sets[0]);
        mail_user_set_home(client->raw_mail_user, "/");
@@ -196,7 +196,7 @@ void client_destroy(struct client *client, const char *prefix,
        pool_unref(&client->state_pool);
        i_free(client);
 
-       master_service_client_connection_destroyed(service);
+       master_service_client_connection_destroyed(master_service);
 }
 
 static const char *client_get_disconnect_reason(struct client *client)
index 9e8ded8cd336c545be5ba7d8d160db933d3067df..48d9c327851a56e3311f451406d86800e9b933a1 100644 (file)
@@ -20,7 +20,6 @@
 #define IS_STANDALONE() \
         (getenv("MASTER_SERVICE") == NULL)
 
-struct master_service *service;
 struct mail_storage_service_multi_ctx *multi_service;
 
 static void client_connected(const struct master_service_connection *conn)
@@ -81,23 +80,24 @@ int main(int argc, char *argv[], char *envp[])
                        MASTER_SERVICE_FLAG_STD_CLIENT;
        }
 
-       service = master_service_init("lmtp", service_flags, argc, argv);
+       master_service = master_service_init("lmtp", service_flags, argc, argv);
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
-       multi_service = mail_storage_service_multi_init(service, set_roots,
+       multi_service = mail_storage_service_multi_init(master_service,
+                                                       set_roots,
                                                        storage_service_flags);
        restrict_access_allow_coredumps(TRUE);
 
         process_title_init(argv, envp);
 
        main_init();
-       master_service_run(service, client_connected);
+       master_service_run(master_service, client_connected);
 
        main_deinit();
        mail_storage_service_multi_deinit(&multi_service);
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return 0;
 }
index 81178a144322abfa3cdd38b71d938d3abf9af6ef..c2d1f65db5391fbabf3c428ca4792b9176885156 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef MAIN_H
 #define MAIN_H
 
-extern struct master_service *service;
 extern struct mail_storage_service_multi_ctx *multi_service;
 
 void listener_client_destroyed(void);
index a5fa4f273a3911cfb4e484b943b5db88bf223755..a6ce01f2e4f74f8ce84e7e76f80892e6d3d5b3e7 100644 (file)
@@ -3,7 +3,6 @@
 
 #include "lib.h"
 
-extern struct master_service *service;
 extern pid_t master_pid;
 
 #endif
index 535aa286c0be35b3ca02bf15fb24c7e8b74783f8..5b29079c9d4d4b2d38d0d5a269e900e310988273 100644 (file)
@@ -240,7 +240,7 @@ void log_connection_destroy(struct log_connection *log)
        i_free(log->prefix);
        i_free(log);
 
-        master_service_client_connection_destroyed(service);
+        master_service_client_connection_destroyed(master_service);
 }
 
 void log_connections_init(void)
index d9a3707ae4f107b3156a75300980a6a9f7650211..b7818735a7fa75cd44ff1fc28cc2167f0f083596 100644 (file)
@@ -10,7 +10,6 @@
 #include <stdlib.h>
 #include <unistd.h>
 
-struct master_service *service;
 pid_t master_pid;
 
 static void
@@ -49,25 +48,26 @@ int main(int argc, char *argv[])
        const char *error;
        int c;
 
-       service = master_service_init("log", 0, argc, argv);
+       master_service = master_service_init("log", 0, argc, argv);
 
        /* use log prefix and log to stderr until we've configured the real
           logging */
        i_set_failure_file("/dev/stderr", "log: ");
 
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
-       if (master_service_settings_read_simple(service, NULL, &error) < 0)
+       if (master_service_settings_read_simple(master_service,
+                                               NULL, &error) < 0)
                i_fatal("Error reading configuration: %s", error);
 
-       master_service_init_log(service, "log: ", 0);
-       master_service_init_finish(service);
+       master_service_init_log(master_service, "log: ", 0);
+       master_service_init_finish(master_service);
        main_init();
-       master_service_run(service, client_connected);
+       master_service_run(master_service, client_connected);
        main_deinit();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index 899c1be0c3d7b0c2d7c78b382124c5522b6ec3ce..e39e780ddf51c0d8d3830491c59cbd9de26eb53b 100644 (file)
@@ -18,7 +18,6 @@ extern struct auth_client *auth_client;
 extern bool closing_down;
 extern int anvil_fd;
 
-extern struct master_service *service;
 extern const struct login_settings *global_login_settings;
 
 #endif
index e9fe56d4e445351de96fe1645d0ba7d38f849069..a259f8d0ddcf57e34d6c228b91eb5051795261b6 100644 (file)
@@ -244,7 +244,7 @@ void login_proxy_free(struct login_proxy **_proxy)
        i_free(proxy->user);
        i_free(proxy);
 
-       master_service_client_connection_destroyed(service);
+       master_service_client_connection_destroyed(master_service);
 }
 
 bool login_proxy_is_ourself(const struct client *client, const char *host,
index 921a8049d54b2b9007ccad7beca0e4100f28064b..8fec9005659e502407e9a875d3e07d5aedc8ba7f 100644 (file)
@@ -22,7 +22,6 @@ struct auth_client *auth_client;
 bool closing_down;
 int anvil_fd = -1;
 
-struct master_service *service;
 const struct login_settings *global_login_settings;
 
 static bool ssl_connections = FALSE;
@@ -43,7 +42,8 @@ static void client_connected(const struct master_service_connection *conn)
        }
 
        pool = pool_alloconly_create("login client", 1024);
-       set = login_settings_read(service, pool, &local_ip, &conn->remote_ip);
+       set = login_settings_read(master_service, pool, &local_ip,
+                                 &conn->remote_ip);
 
        if (!ssl_connections && !conn->ssl) {
                client = client_create(conn->fd, FALSE, pool, set, &local_ip,
@@ -101,7 +101,7 @@ static void main_preinit(void)
           decreased. leave a couple of extra fds for auth sockets and such.
           normal connections each use one fd, but SSL connections use two */
        max_fds = MASTER_LISTEN_FD_FIRST + 16 +
-               master_service_get_socket_count(service) +
+               master_service_get_socket_count(master_service) +
                global_login_settings->login_max_connections*2;
        restrict_fd_limit(max_fds);
        io_loop_set_max_fd_count(current_ioloop, max_fds);
@@ -129,7 +129,7 @@ static void main_init(void)
         auth_client_set_connect_notify(auth_client, auth_connect_notify, NULL);
 
        clients_init();
-       master_auth_init(service);
+       master_auth_init(master_service);
 }
 
 static void main_deinit(void)
@@ -145,7 +145,7 @@ static void main_deinit(void)
                if (close(anvil_fd) < 0)
                        i_error("close(anvil) failed: %m");
        }
-       master_auth_deinit(service);
+       master_auth_deinit(master_service);
 }
 
 int main(int argc, char *argv[], char *envp[])
@@ -156,11 +156,11 @@ int main(int argc, char *argv[], char *envp[])
 
        //FIXME:is_inetd = getenv("DOVECOT_MASTER") == NULL;
 
-       service = master_service_init(login_process_name,
-                                     MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN,
-                                     argc, argv);
-       master_service_init_log(service, t_strconcat(login_process_name, ": ",
-                                                    NULL), 0);
+       master_service = master_service_init(login_process_name,
+                                       MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN,
+                                       argc, argv);
+       master_service_init_log(master_service, t_strconcat(
+               login_process_name, ": ", NULL), 0);
 
         getopt_str = t_strconcat("DS", master_service_getopt_string(), NULL);
        while ((c = getopt(argc, argv, getopt_str)) > 0) {
@@ -172,7 +172,8 @@ int main(int argc, char *argv[], char *envp[])
                        ssl_connections = TRUE;
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg))
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg))
                                exit(FATAL_DEFAULT);
                        break;
                }
@@ -189,15 +190,15 @@ int main(int argc, char *argv[], char *envp[])
        process_title_init(argv, envp);
        set_pool = pool_alloconly_create("global login settings", 1024);
        global_login_settings =
-               login_settings_read(service, set_pool, NULL, NULL);
+               login_settings_read(master_service, set_pool, NULL, NULL);
 
        main_preinit();
-       master_service_init_finish(service);
+       master_service_init_finish(master_service);
        main_init();
 
-       master_service_run(service, client_connected);
+       master_service_run(master_service, client_connected);
        main_deinit();
        pool_unref(&set_pool);
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
         return 0;
 }
index 95b722bed61f59d76e4bad1164d638d0780d6707..4932b663e47fd9973c695582c1a3992c662c18e2 100644 (file)
@@ -9,6 +9,7 @@
 #include "str-sanitize.h"
 #include "auth-client.h"
 #include "ssl-proxy.h"
+#include "master-service.h"
 #include "master-interface.h"
 #include "master-auth.h"
 #include "client-common.h"
@@ -93,7 +94,7 @@ master_send_request(struct client *client, struct auth_request *request)
        req.data_size = buf->used;
 
        client->master_tag =
-               master_auth_request(service, client->fd, &req, buf->data,
+               master_auth_request(master_service, client->fd, &req, buf->data,
                                    master_auth_callback, client);
 }
 
index b83ce4ba0d8a538d9c7fcd29700fde3ca2b88732..ea1ea21c681dbd05ad5a64e833dbf5b6880baf58 100644 (file)
@@ -695,7 +695,7 @@ static void ssl_proxy_destroy(struct ssl_proxy *proxy)
 
        ssl_proxy_unref(proxy);
 
-        master_service_client_connection_destroyed(service);
+        master_service_client_connection_destroyed(master_service);
 }
 
 static RSA *ssl_gen_rsa_key(SSL *ssl ATTR_UNUSED,
index 0e605c491393c45438a2c9131865f1aee7d3055b..027993e33365f057d8032b4d9d1e124d0a3966aa 100644 (file)
@@ -7,7 +7,6 @@
 
 #define AUTH_SUCCESS_PATH PKG_STATEDIR"/auth-success"
 
-extern struct master_service *master_service;
 extern uid_t master_uid;
 extern gid_t master_gid;
 extern bool auth_success_written;
index 1de6ef7d75f16850abfd8f4e1ffafd90a56b4959..12c821f6d784752e0034f4ac3647d081f31e66bd 100644 (file)
@@ -15,6 +15,7 @@
 #include "fd-close-on-exec.h"
 #include "restrict-access.h"
 #include "restrict-process-size.h"
+#include "master-service.h"
 #include "master-service-settings.h"
 #include "dup2-array.h"
 #include "service.h"
index c6676bca17a1e8f1ca35d3ff7779f6a3840c04b4..52d9a444a8e6a6b408393b0648b81f85b91e9af5 100644 (file)
@@ -17,7 +17,6 @@
 
 int main(int argc, char *argv[])
 {
-       struct master_service *service;
        struct mail_storage_service_input input;
        struct mail_user *user;
        struct convert_plugin_settings set;
@@ -26,12 +25,12 @@ int main(int argc, char *argv[])
        const char *error;
        int i, c, ret = 0;
 
-       service = master_service_init("convert-tool",
-                                     MASTER_SERVICE_FLAG_STANDALONE,
-                                     argc, argv);
+       master_service = master_service_init("convert-tool",
+                                            MASTER_SERVICE_FLAG_STANDALONE,
+                                            argc, argv);
 
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        i_fatal(USAGE_STRING);
        }
        if (argc - optind < 4)
@@ -54,9 +53,9 @@ int main(int argc, char *argv[])
        memset(&input, 0, sizeof(input));
        input.username = argv[optind];
 
-       master_service_init_log(service,
+       master_service_init_log(master_service,
                t_strdup_printf("convert-tool(%s): ", input.username), 0);
-       user = mail_storage_service_init_user(service, &input, NULL, 0);
+       user = mail_storage_service_init_user(master_service, &input, NULL, 0);
 
        memset(&ns_set, 0, sizeof(ns_set));
        ns_set.location = argv[4];
@@ -79,6 +78,6 @@ int main(int argc, char *argv[])
 
        mail_user_unref(&user);
        mail_storage_service_deinit_user();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return ret <= 0 ? 1 : 0;
 }
index df9ed618294671d3f0afa0f5e1d6b61715100e8b..e9307ba3111aa9ba3a748ab6bfa5d5f2797959c3 100644 (file)
@@ -291,14 +291,13 @@ static void expire_run(struct master_service *service, bool testrun)
 
 int main(int argc, char *argv[])
 {
-       struct master_service *service;
        const char *getopt_str;
        bool test = FALSE;
        int c;
 
-       service = master_service_init("expire-tool",
-                                     MASTER_SERVICE_FLAG_STANDALONE,
-                                     argc, argv);
+       master_service = master_service_init("expire-tool",
+                                            MASTER_SERVICE_FLAG_STANDALONE,
+                                            argc, argv);
 
        getopt_str = t_strconcat("t", master_service_getopt_string(), NULL);
        while ((c = getopt(argc, argv, getopt_str)) > 0) {
@@ -307,7 +306,8 @@ int main(int argc, char *argv[])
                        test = TRUE;
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg))
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg))
                                i_fatal("Unknown parameter: -%c", c);
                        break;
                }
@@ -315,8 +315,8 @@ int main(int argc, char *argv[])
        if (optind != argc)
                i_fatal("Unknown parameter: %s", argv[optind]);
 
-       expire_run(service, test);
+       expire_run(master_service, test);
 
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return 0;
 }
index a954f2a50cbf1f40f88a1d112553a9fa1eb70c63..7db499ace9ec15096bbf4ceafa7d446708a57638 100644 (file)
@@ -380,7 +380,8 @@ void client_destroy(struct pop3_client *client, const char *reason)
        if (client->common.master_tag != 0) {
                i_assert(client->common.auth_request == NULL);
                i_assert(client->common.authenticating);
-               master_auth_request_abort(service, client->common.master_tag);
+               master_auth_request_abort(master_service,
+                                         client->common.master_tag);
        } else if (client->common.auth_request != NULL) {
                i_assert(client->common.authenticating);
                sasl_server_auth_client_error(&client->common, NULL);
@@ -447,7 +448,7 @@ bool client_unref(struct pop3_client *client)
 
        if (!client->common.proxying) {
                i_assert(client->common.proxy == NULL);
-               master_service_client_connection_destroyed(service);
+               master_service_client_connection_destroyed(master_service);
        }
 
        i_free(client->last_user);
index 76ccb3153a71450f15bb670e8a7e961662d95199..a2bb49fb9608b12986ba1ec4be5bf002632c3010 100644 (file)
@@ -18,7 +18,6 @@
 #define IS_STANDALONE() \
         (getenv("LOGGED_IN") == NULL)
 
-struct master_service *service;
 void (*hook_client_created)(struct client **client) = NULL;
 
 static struct io *log_io = NULL;
@@ -28,7 +27,7 @@ static void log_error_callback(void *context ATTR_UNUSED)
        /* the log fd is closed, don't die when trying to log later */
        i_set_failure_ignore_errors(TRUE);
 
-       master_service_stop(service);
+       master_service_stop(master_service);
 }
 
 static bool main_init(const struct pop3_settings *set, struct mail_user *user)
@@ -105,9 +104,9 @@ int main(int argc, char *argv[], char *envp[])
        else
                service_flags |= MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT;
 
-       service = master_service_init("pop3", service_flags, argc, argv);
+       master_service = master_service_init("pop3", service_flags, argc, argv);
        while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
-               if (!master_service_parse_option(service, c, optarg))
+               if (!master_service_parse_option(master_service, c, optarg))
                        exit(FATAL_DEFAULT);
        }
 
@@ -126,9 +125,10 @@ int main(int argc, char *argv[], char *envp[])
        if ((value = getenv("LOCAL_IP")) != NULL)
                net_addr2ip(value, &input.local_ip);
 
-       mail_user = mail_storage_service_init_user(service, &input, set_roots,
+       mail_user = mail_storage_service_init_user(master_service,
+                                                  &input, set_roots,
                                                   storage_service_flags);
-       set = mail_storage_service_get_settings(service);
+       set = mail_storage_service_get_settings(master_service);
        restrict_access_allow_coredumps(TRUE);
 
         process_title_init(argv, envp);
@@ -138,10 +138,10 @@ int main(int argc, char *argv[], char *envp[])
        io_loop_set_running(current_ioloop);
 
        if (main_init(set, mail_user))
-               master_service_run(service, client_connected);
+               master_service_run(master_service, client_connected);
 
        main_deinit();
        mail_storage_service_deinit_user();
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return 0;
 }
index 65b0fc772a3bc5873d23ad5a343a2fc625db8803..42d2f4233f80f53315bddf6db42f14ff231bee8e 100644 (file)
@@ -289,8 +289,8 @@ struct client *client_create(int fd_in, int fd_out, struct mail_user *user,
 
        ident = mail_user_get_anvil_userip_ident(client->user);
        if (ident != NULL) {
-               master_service_anvil_send(service, t_strconcat("CONNECT\t",
-                       my_pid, "\t", ident, "/pop3\n", NULL));
+               master_service_anvil_send(master_service, t_strconcat(
+                       "CONNECT\t", my_pid, "\t", ident, "/pop3\n", NULL));
                client->anvil_sent = TRUE;
        }
 
@@ -373,8 +373,8 @@ void client_destroy(struct client *client, const char *reason)
        if (client->mailbox != NULL)
                mailbox_close(&client->mailbox);
        if (client->anvil_sent) {
-               master_service_anvil_send(service, t_strconcat("DISCONNECT\t",
-                       my_pid, "\t",
+               master_service_anvil_send(master_service, t_strconcat(
+                       "DISCONNECT\t", my_pid, "\t",
                        mail_user_get_anvil_userip_ident(client->user), "/pop3"
                        "\n", NULL));
        }
@@ -404,7 +404,7 @@ void client_destroy(struct client *client, const char *reason)
 
        /* quit the program */
        my_client = NULL;
-       master_service_stop(service);
+       master_service_stop(master_service);
 }
 
 void client_disconnect(struct client *client, const char *reason)
index 9f9a764c6feb3bee8674e24c67a65a86667b72eb..8a31acd4047f1d1f827d1e441f6db246ba2f0b5b 100644 (file)
@@ -17,8 +17,6 @@ enum uidl_keys {
 #include "pop3-client.h"
 #include "pop3-settings.h"
 
-extern struct master_service *service;
-
 extern void (*hook_client_created)(struct client **client);
 
 #endif
index 7eaf64b9c843a062214cf96ff0989de5b45b484a..8fb40ec1ea65a701edc095ee3c33b158a78d3125 100644 (file)
@@ -208,13 +208,13 @@ handle_all_users(struct master_service *service,
 int main(int argc, char *argv[])
 {
        enum mail_storage_service_flags service_flags = 0;
-       struct master_service *service;
        const char *getopt_str, *username;
        bool all_users = FALSE;
        int c;
 
-       service = master_service_init("doveadm", MASTER_SERVICE_FLAG_STANDALONE,
-                                     argc, argv);
+       master_service = master_service_init("doveadm",
+                                            MASTER_SERVICE_FLAG_STANDALONE,
+                                            argc, argv);
 
        username = getenv("USER");
        getopt_str = t_strconcat("au:v", master_service_getopt_string(), NULL);
@@ -231,7 +231,8 @@ int main(int argc, char *argv[])
                        service_flags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG;
                        break;
                default:
-                       if (!master_service_parse_option(service, c, optarg))
+                       if (!master_service_parse_option(master_service,
+                                                        c, optarg))
                                usage();
                }
        }
@@ -239,11 +240,11 @@ int main(int argc, char *argv[])
                usage();
 
        if (!all_users) {
-               handle_single_user(service, username, service_flags,
+               handle_single_user(master_service, username, service_flags,
                                   argv + optind);
        } else {
-               handle_all_users(service, service_flags, argv + optind);
+               handle_all_users(master_service, service_flags, argv + optind);
        }
-       master_service_deinit(&service);
+       master_service_deinit(&master_service);
        return 0;
 }