changeset 3891:2d0859490a2f HEAD

If debug is enabled, tell how many users are found from passwd-file whenever it's read.
author Timo Sirainen <tss@iki.fi>
date Sun, 15 Jan 2006 15:38:32 +0200
parents 6658a000051d
children 1e37fad03602
files src/auth/db-passwd-file.c src/auth/db-passwd-file.h src/auth/passdb-passwd-file.c src/auth/userdb-passwd-file.c
diffstat 4 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/db-passwd-file.c	Sun Jan 15 15:20:57 2006 +0200
+++ b/src/auth/db-passwd-file.c	Sun Jan 15 15:38:32 2006 +0200
@@ -183,6 +183,11 @@
 		t_pop();
 	}
 	i_stream_unref(&input);
+
+	if (pw->db->debug) {
+		i_info("passwd-file %s: Read %u users",
+		       pw->path, hash_size(pw->users));
+	}
 	return TRUE;
 }
 
@@ -246,7 +251,8 @@
 	return NULL;
 }
 
-struct db_passwd_file *db_passwd_file_parse(const char *path, bool userdb)
+struct db_passwd_file *
+db_passwd_file_parse(const char *path, bool userdb, bool debug)
 {
 	struct db_passwd_file *db;
 	const char *p;
@@ -268,6 +274,7 @@
 	db = i_new(struct db_passwd_file, 1);
 	db->refcount = 1;
 	db->userdb = userdb;
+	db->debug = debug;
 	db->files = hash_create(default_pool, default_pool, 100,
 				str_hash, (hash_cmp_callback_t *)strcmp);
 
--- a/src/auth/db-passwd-file.h	Sun Jan 15 15:20:57 2006 +0200
+++ b/src/auth/db-passwd-file.h	Sun Jan 15 15:38:32 2006 +0200
@@ -37,12 +37,14 @@
 	unsigned int domain_var:1;
 	unsigned int vars:1;
 	unsigned int userdb:1;
+	unsigned int debug:1;
 };
 
 struct passwd_user *
 db_passwd_file_lookup(struct db_passwd_file *db, struct auth_request *request);
 
-struct db_passwd_file *db_passwd_file_parse(const char *path, bool userdb);
+struct db_passwd_file *
+db_passwd_file_parse(const char *path, bool userdb, bool debug);
 void db_passwd_file_unref(struct db_passwd_file **db);
 
 #endif
--- a/src/auth/passdb-passwd-file.c	Sun Jan 15 15:20:57 2006 +0200
+++ b/src/auth/passdb-passwd-file.c	Sun Jan 15 15:38:32 2006 +0200
@@ -14,6 +14,7 @@
 struct passwd_file_passdb_module {
 	struct passdb_module module;
 
+	struct auth *auth;
 	struct db_passwd_file *pwf;
 };
 
@@ -91,6 +92,7 @@
 
 	module = p_new(auth_passdb->auth->pool,
 		       struct passwd_file_passdb_module, 1);
+	module->auth = auth_passdb->auth;
 	module->module.cache_key = PASSWD_FILE_CACHE_KEY;
 	module->module.default_pass_scheme = PASSWD_FILE_DEFAULT_SCHEME;
 	return &module->module;
@@ -101,7 +103,8 @@
 	struct passwd_file_passdb_module *module =
 		(struct passwd_file_passdb_module *)_module;
 
-	module->pwf = db_passwd_file_parse(args, FALSE);
+	module->pwf =
+		db_passwd_file_parse(args, FALSE, module->auth->verbose_debug);
 }
 
 static void passwd_file_deinit(struct passdb_module *_module)
--- a/src/auth/userdb-passwd-file.c	Sun Jan 15 15:20:57 2006 +0200
+++ b/src/auth/userdb-passwd-file.c	Sun Jan 15 15:38:32 2006 +0200
@@ -11,6 +11,7 @@
 struct passwd_file_userdb_module {
         struct userdb_module module;
 
+	struct auth *auth;
 	struct db_passwd_file *pwf;
 };
 
@@ -50,6 +51,7 @@
 
 	module = p_new(auth_userdb->auth->pool,
 		       struct passwd_file_userdb_module, 1);
+	module->auth = auth_userdb->auth;
 	return &module->module;
 }
 
@@ -58,7 +60,8 @@
 	struct passwd_file_userdb_module *module =
 		(struct passwd_file_userdb_module *)_module;
 
-	module->pwf = db_passwd_file_parse(args, TRUE);
+	module->pwf =
+		db_passwd_file_parse(args, TRUE, module->auth->verbose_debug);
 }
 
 static void passwd_file_deinit(struct userdb_module *_module)