]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Store args in passdb/userdb_module, so init() doesn't need it as parameter.
authorTimo Sirainen <tss@iki.fi>
Sat, 13 Mar 2010 19:17:17 +0000 (21:17 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 13 Mar 2010 19:17:17 +0000 (21:17 +0200)
--HG--
branch : HEAD

13 files changed:
src/auth/auth.c
src/auth/passdb-ldap.c
src/auth/passdb-passwd-file.c
src/auth/passdb-passwd.c
src/auth/passdb-shadow.c
src/auth/passdb-sql.c
src/auth/passdb.c
src/auth/passdb.h
src/auth/userdb-ldap.c
src/auth/userdb-passwd-file.c
src/auth/userdb-sql.c
src/auth/userdb.c
src/auth/userdb.h

index d3d82f49cc3c1769dc161752840b4a0755209c7a..7f624028f56cd877702290ea31317fcd8cba9a48 100644 (file)
@@ -234,11 +234,11 @@ void auth_init(struct auth *auth)
        const char *const *mechanisms;
 
        for (passdb = auth->masterdbs; passdb != NULL; passdb = passdb->next)
-               passdb_init(passdb->passdb, passdb->set->args);
+               passdb_init(passdb->passdb);
        for (passdb = auth->passdbs; passdb != NULL; passdb = passdb->next)
-               passdb_init(passdb->passdb, passdb->set->args);
+               passdb_init(passdb->passdb);
        for (userdb = auth->userdbs; userdb != NULL; userdb = userdb->next)
-               userdb_init(userdb->userdb, userdb->set->args);
+               userdb_init(userdb->userdb);
 
        /* caching is handled only by the main auth process */
        if (!worker)
index 42a1ac9b86d571e64ee2027b79a5dbe3c7af95e7..b93e524721eac78d0c820b32237231751df33f93 100644 (file)
@@ -414,8 +414,7 @@ passdb_ldap_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void passdb_ldap_init(struct passdb_module *_module,
-                            const char *args ATTR_UNUSED)
+static void passdb_ldap_init(struct passdb_module *_module)
 {
        struct ldap_passdb_module *module =
                (struct ldap_passdb_module *)_module;
index b01e1fcf9e2161d151eaaa1aee7e65ffab9b8748..9ec35858558c21fcac26d389ca3fac0379b9ea57 100644 (file)
@@ -160,8 +160,7 @@ passwd_file_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void passwd_file_init(struct passdb_module *_module,
-                            const char *args ATTR_UNUSED)
+static void passwd_file_init(struct passdb_module *_module)
 {
        struct passwd_file_passdb_module *module =
                (struct passwd_file_passdb_module *)_module;
index d7873c8b23316d688a2924e2f266258511ecc2de..3fdb3acffb2b8bfc73d0ed3e265e3344756f1969 100644 (file)
@@ -57,12 +57,12 @@ passwd_verify_plain(struct auth_request *request, const char *password,
        callback(PASSDB_RESULT_OK, request);
 }
 
-static void passwd_init(struct passdb_module *module, const char *args)
+static void passwd_init(struct passdb_module *module)
 {
-       if (strcmp(args, "blocking=yes") == 0)
+       if (strcmp(module->args, "blocking=yes") == 0)
                module->blocking = TRUE;
-       else if (*args != '\0')
-               i_fatal("passdb passwd: Unknown setting: %s", args);
+       else if (*module->args != '\0')
+               i_fatal("passdb passwd: Unknown setting: %s", module->args);
 
        module->cache_key = PASSWD_CACHE_KEY;
        module->default_pass_scheme = PASSWD_PASS_SCHEME;
index 9c746a0e20ef743fff5ea29184507dcc8633d734..8d46ab33930a24c5c14fa159c2dcd7f2c31b3fe7 100644 (file)
@@ -57,12 +57,12 @@ shadow_verify_plain(struct auth_request *request, const char *password,
        callback(PASSDB_RESULT_OK, request);
 }
 
-static void shadow_init(struct passdb_module *module, const char *args)
+static void shadow_init(struct passdb_module *module)
 {
-       if (strcmp(args, "blocking=yes") == 0)
+       if (strcmp(module->args, "blocking=yes") == 0)
                module->blocking = TRUE;
-       else if (*args != '\0')
-               i_fatal("passdb shadow: Unknown setting: %s", args);
+       else if (*module->args != '\0')
+               i_fatal("passdb shadow: Unknown setting: %s", module->args);
 
        module->cache_key = SHADOW_CACHE_KEY;
        module->default_pass_scheme = SHADOW_PASS_SCHEME;
index 153bd07d2f81729aa3adaf586b85833fb5b2fe5c..fb2bb9ba8b0dc1f5c957e40c1626aef261913072 100644 (file)
@@ -239,8 +239,7 @@ passdb_sql_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void passdb_sql_init(struct passdb_module *_module,
-                           const char *args ATTR_UNUSED)
+static void passdb_sql_init(struct passdb_module *_module)
 {
        struct sql_passdb_module *module =
                (struct sql_passdb_module *)_module;
index 9e9cbce270bdd4b3f9d50cb485e9e2b02f2275bf..bf7b8c7b01edb9eef87fc7bde8740d5dc13a79e0 100644 (file)
@@ -178,14 +178,15 @@ passdb_preinit(pool_t pool, const char *driver, const char *args)
                passdb = iface->preinit(pool, args);
        passdb->id = ++auth_passdb_id;
        passdb->iface = *iface;
+       passdb->args = p_strdup(pool, args);
        return passdb;
 }
 
-void passdb_init(struct passdb_module *passdb, const char *args)
+void passdb_init(struct passdb_module *passdb)
 {
        if (passdb->iface.init != NULL && !passdb->initialized) {
                passdb->initialized = TRUE;
-               passdb->iface.init(passdb, args);
+               passdb->iface.init(passdb);
        }
 
        i_assert(passdb->default_pass_scheme != NULL ||
index 5b34ba1d1e385862b405d4558000259834d35344..e4cc5813842235131e7f93d71bb21399ee972ad8 100644 (file)
@@ -31,7 +31,7 @@ struct passdb_module_interface {
        const char *name;
 
        struct passdb_module *(*preinit)(pool_t pool, const char *args);
-       void (*init)(struct passdb_module *module, const char *args);
+       void (*init)(struct passdb_module *module);
        void (*deinit)(struct passdb_module *module);
 
        /* Check if plaintext password matches */
@@ -50,6 +50,7 @@ struct passdb_module_interface {
 };
 
 struct passdb_module {
+       const char *args;
        /* The caching key for this module, or NULL if caching isn't wanted. */
        const char *cache_key;
        /* Default password scheme for this module.
@@ -86,7 +87,7 @@ void passdb_handle_credentials(enum passdb_result result,
 
 struct passdb_module *
 passdb_preinit(pool_t pool, const char *driver, const char *args);
-void passdb_init(struct passdb_module *passdb, const char *args);
+void passdb_init(struct passdb_module *passdb);
 void passdb_deinit(struct passdb_module *passdb);
 
 void passdb_register_module(struct passdb_module_interface *iface);
index cc3b9ee210e3faf3ccb2033ad8b7a683fffd68c1..58776b8bad12fa5f03f8b0b9f06ef1fc01903218 100644 (file)
@@ -258,8 +258,7 @@ userdb_ldap_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void userdb_ldap_init(struct userdb_module *_module,
-                            const char *args ATTR_UNUSED)
+static void userdb_ldap_init(struct userdb_module *_module)
 {
        struct ldap_userdb_module *module =
                (struct ldap_userdb_module *)_module;
index 194e5c23c56c6d289f2a690eeda31d3e90e634ec..25d8b537c88d520dec8c7dcb7324491e7150ddf3 100644 (file)
@@ -191,8 +191,7 @@ passwd_file_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void passwd_file_init(struct userdb_module *_module,
-                            const char *args ATTR_UNUSED)
+static void passwd_file_init(struct userdb_module *_module)
 {
        struct passwd_file_userdb_module *module =
                (struct passwd_file_userdb_module *)_module;
index 2cee1c10f60e87fc17bb6f97c45a178f502297b2..d715a52a7a45a5cddc4c6bf8de0aa0b441b2de42 100644 (file)
@@ -238,8 +238,7 @@ userdb_sql_preinit(pool_t pool, const char *args)
        return &module->module;
 }
 
-static void userdb_sql_init(struct userdb_module *_module,
-                           const char *args ATTR_UNUSED)
+static void userdb_sql_init(struct userdb_module *_module)
 {
        struct sql_userdb_module *module =
                (struct sql_userdb_module *)_module;
index 5d0561f00cc45a3e863d31abce8e103f9d3b911c..fc22c26ee9b6f9ccc5d722c918679e7570e48b47 100644 (file)
@@ -130,14 +130,15 @@ userdb_preinit(pool_t pool, const char *driver, const char *args)
                userdb = iface->preinit(pool, args);
        userdb->id = ++auth_userdb_id;
        userdb->iface = iface;
+       userdb->args = p_strdup(pool, args);
        return userdb;
 }
 
-void userdb_init(struct userdb_module *userdb, const char *args)
+void userdb_init(struct userdb_module *userdb)
 {
        if (userdb->iface->init != NULL && !userdb->initialized) {
                userdb->initialized = TRUE;
-               userdb->iface->init(userdb, args);
+               userdb->iface->init(userdb);
        }
 }
 
index f25f47adf63c936f1d4b3e03dacff1b2b5bf4cd9..e1933e72d5ffe3d94cacbfd97c6b2ea973edcfed 100644 (file)
@@ -19,6 +19,7 @@ typedef void userdb_callback_t(enum userdb_result result,
 typedef void userdb_iter_callback_t(const char *user, void *context);
 
 struct userdb_module {
+       const char *args;
        /* The caching key for this module, or NULL if caching isn't wanted. */
        const char *cache_key;
 
@@ -45,7 +46,7 @@ struct userdb_module_interface {
        const char *name;
 
        struct userdb_module *(*preinit)(pool_t pool, const char *args);
-       void (*init)(struct userdb_module *module, const char *args);
+       void (*init)(struct userdb_module *module);
        void (*deinit)(struct userdb_module *module);
 
        void (*lookup)(struct auth_request *auth_request,
@@ -64,7 +65,7 @@ gid_t userdb_parse_gid(struct auth_request *request, const char *str);
 
 struct userdb_module *
 userdb_preinit(pool_t pool, const char *driver, const char *args);
-void userdb_init(struct userdb_module *userdb, const char *args);
+void userdb_init(struct userdb_module *userdb);
 void userdb_deinit(struct userdb_module *userdb);
 
 void userdb_register_module(struct userdb_module_interface *iface);