dovecot-2.0: auth: Store args in passdb/userdb_module, so init()...

dovecot at dovecot.org dovecot at dovecot.org
Sat Mar 13 23:33:43 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/ac58cc0c71aa
changeset: 10901:ac58cc0c71aa
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Mar 13 21:17:17 2010 +0200
description:
auth: Store args in passdb/userdb_module, so init() doesn't need it as parameter.

diffstat:

 src/auth/auth.c               |  6 +++---
 src/auth/passdb-ldap.c        |  3 +--
 src/auth/passdb-passwd-file.c |  3 +--
 src/auth/passdb-passwd.c      |  8 ++++----
 src/auth/passdb-shadow.c      |  8 ++++----
 src/auth/passdb-sql.c         |  3 +--
 src/auth/passdb.c             |  5 +++--
 src/auth/passdb.h             |  5 +++--
 src/auth/userdb-ldap.c        |  3 +--
 src/auth/userdb-passwd-file.c |  3 +--
 src/auth/userdb-sql.c         |  3 +--
 src/auth/userdb.c             |  5 +++--
 src/auth/userdb.h             |  5 +++--
 13 files changed, 29 insertions(+), 31 deletions(-)

diffs (236 lines):

diff -r 7909611180a8 -r ac58cc0c71aa src/auth/auth.c
--- a/src/auth/auth.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/auth.c	Sat Mar 13 21:17:17 2010 +0200
@@ -234,11 +234,11 @@
 	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)
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb-ldap.c
--- a/src/auth/passdb-ldap.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb-ldap.c	Sat Mar 13 21:17:17 2010 +0200
@@ -414,8 +414,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb-passwd-file.c
--- a/src/auth/passdb-passwd-file.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb-passwd-file.c	Sat Mar 13 21:17:17 2010 +0200
@@ -160,8 +160,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb-passwd.c
--- a/src/auth/passdb-passwd.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb-passwd.c	Sat Mar 13 21:17:17 2010 +0200
@@ -57,12 +57,12 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb-shadow.c
--- a/src/auth/passdb-shadow.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb-shadow.c	Sat Mar 13 21:17:17 2010 +0200
@@ -57,12 +57,12 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb-sql.c
--- a/src/auth/passdb-sql.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb-sql.c	Sat Mar 13 21:17:17 2010 +0200
@@ -239,8 +239,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb.c
--- a/src/auth/passdb.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb.c	Sat Mar 13 21:17:17 2010 +0200
@@ -178,14 +178,15 @@
 		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 ||
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/passdb.h
--- a/src/auth/passdb.h	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/passdb.h	Sat Mar 13 21:17:17 2010 +0200
@@ -31,7 +31,7 @@
 	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 {
+	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 @@
 
 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);
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/userdb-ldap.c
--- a/src/auth/userdb-ldap.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/userdb-ldap.c	Sat Mar 13 21:17:17 2010 +0200
@@ -258,8 +258,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/userdb-passwd-file.c
--- a/src/auth/userdb-passwd-file.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/userdb-passwd-file.c	Sat Mar 13 21:17:17 2010 +0200
@@ -191,8 +191,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/userdb-sql.c
--- a/src/auth/userdb-sql.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/userdb-sql.c	Sat Mar 13 21:17:17 2010 +0200
@@ -238,8 +238,7 @@
 	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;
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/userdb.c
--- a/src/auth/userdb.c	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/userdb.c	Sat Mar 13 21:17:17 2010 +0200
@@ -130,14 +130,15 @@
 		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);
 	}
 }
 
diff -r 7909611180a8 -r ac58cc0c71aa src/auth/userdb.h
--- a/src/auth/userdb.h	Sat Mar 13 21:05:31 2010 +0200
+++ b/src/auth/userdb.h	Sat Mar 13 21:17:17 2010 +0200
@@ -19,6 +19,7 @@
 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 @@
 	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 @@
 
 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);


More information about the dovecot-cvs mailing list