dovecot-1.1: Added debug_level LDAP option to specify OpenLDAP's...

dovecot at dovecot.org dovecot at dovecot.org
Mon Mar 10 05:15:49 EET 2008


details:   http://hg.dovecot.org/dovecot-1.1/rev/a61102ad418f
changeset: 7396:a61102ad418f
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Mar 10 05:15:45 2008 +0200
description:
Added debug_level LDAP option to specify OpenLDAP's debug level.

diffstat:

3 files changed, 17 insertions(+)
doc/dovecot-ldap-example.conf |    5 +++++
src/auth/db-ldap.c            |   10 ++++++++++
src/auth/db-ldap.h            |    2 ++

diffs (64 lines):

diff -r de4881149c0e -r a61102ad418f doc/dovecot-ldap-example.conf
--- a/doc/dovecot-ldap-example.conf	Mon Mar 10 04:52:23 2008 +0200
+++ b/doc/dovecot-ldap-example.conf	Mon Mar 10 05:15:45 2008 +0200
@@ -48,6 +48,11 @@
 #tls_cipher_suite =
 # Valid values: never, hard, demand, allow, try
 #tls_require_cert =
+
+# LDAP library debug level as specified by LDAP_DEBUG_* in ldap_log.h.
+# -1 = everything. You may need to recompile OpenLDAP with debugging enabled
+# to get enough output.
+#debug_level = 0
 
 # Use authentication binding for verifying password's validity. This works by
 # logging into LDAP server using the username and password given by client.
diff -r de4881149c0e -r a61102ad418f src/auth/db-ldap.c
--- a/src/auth/db-ldap.c	Mon Mar 10 04:52:23 2008 +0200
+++ b/src/auth/db-ldap.c	Mon Mar 10 05:15:45 2008 +0200
@@ -97,6 +97,7 @@ static struct setting_def setting_defs[]
 	DEF_STR(scope),
 	DEF_STR(base),
 	DEF_INT(ldap_version),
+	DEF_STR(debug_level),
 	DEF_STR(user_attrs),
 	DEF_STR(user_filter),
 	DEF_STR(pass_attrs),
@@ -128,6 +129,7 @@ struct ldap_settings default_ldap_settin
 	MEMBER(scope) "subtree",
 	MEMBER(base) NULL,
 	MEMBER(ldap_version) 2,
+	MEMBER(debug_level) "0",
 	MEMBER(user_attrs) "homeDirectory=home,uidNumber=uid,gidNumber=gid",
 	MEMBER(user_filter) "(&(objectClass=posixAccount)(uid=%u))",
 	MEMBER(pass_attrs) "uid=user,userPassword=password",
@@ -712,9 +714,17 @@ static void db_ldap_set_options(struct l
 static void db_ldap_set_options(struct ldap_connection *conn)
 {
 	unsigned int ldap_version;
+	int value;
 
 	db_ldap_set_opt(conn, LDAP_OPT_DEREF, &conn->set.ldap_deref,
 			"deref", conn->set.deref);
+#ifdef LDAP_OPT_DEBUG_LEVEL
+	value = atoi(conn->set.debug_level);
+	if (value != 0) {
+		db_ldap_set_opt(NULL, LDAP_OPT_DEBUG_LEVEL, &value,
+				"debug_level", conn->set.debug_level);
+	}
+#endif
 
 	if (conn->set.ldap_version < 3) {
 		if (conn->set.sasl_bind)
diff -r de4881149c0e -r a61102ad418f src/auth/db-ldap.h
--- a/src/auth/db-ldap.h	Mon Mar 10 04:52:23 2008 +0200
+++ b/src/auth/db-ldap.h	Mon Mar 10 05:15:45 2008 +0200
@@ -53,6 +53,8 @@ struct ldap_settings {
 	const char *scope;
 	const char *base;
 	unsigned int ldap_version;
+
+	const char *debug_level;
 
 	const char *user_attrs;
 	const char *user_filter;


More information about the dovecot-cvs mailing list