From 6d038f7c5af6923518dc424bcdb562d9c05e1bfd Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Sun, 12 Dec 2010 03:05:08 +0000
Subject: [PATCH] ITS#6661

---
 CHANGES                         | 1 +
 servers/slapd/back-bdb/bind.c   | 4 ++--
 servers/slapd/back-ndb/bind.cpp | 8 +++++---
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/CHANGES b/CHANGES
index f170c2e5ee..b05b85f0a5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,7 @@ OpenLDAP 2.4.24 Engineering
 	Fixed slapd acl parsing overflow (ITS#6611)
 	Fixed slapd modify to return actual error (ITS#6581)
 	Fixed slapd-bdb entry cache delete failure (ITS#6577)
+	Fixed slapd-ndb to honor rootpw setting (ITS#6661)
 	Fixed slapd-meta anon retry with failed auth method (ITS#6643)
 	Fixed slapd-null back-config support (ITS#6624)
 	Fixed slapo-pcache callback freeing (ITS#6640)
diff --git a/servers/slapd/back-bdb/bind.c b/servers/slapd/back-bdb/bind.c
index f982e9e4e5..c75c97024e 100644
--- a/servers/slapd/back-bdb/bind.c
+++ b/servers/slapd/back-bdb/bind.c
@@ -43,10 +43,10 @@ bdb_bind( Operation *op, SlapReply *rs )
 	switch ( be_rootdn_bind( op, NULL ) ) {
 	case LDAP_SUCCESS:
 		/* frontend will send result */
-		return rs->sr_err;
+		return rs->sr_err = LDAP_SUCCESS;
 
 	default:
-		/* give the database a chanche */
+		/* give the database a chance */
 		/* NOTE: this behavior departs from that of other backends,
 		 * since the others, in case of password checking failure
 		 * do not give the database a chance.  If an entry with
diff --git a/servers/slapd/back-ndb/bind.cpp b/servers/slapd/back-ndb/bind.cpp
index 33257d6670..8b517f4346 100644
--- a/servers/slapd/back-ndb/bind.cpp
+++ b/servers/slapd/back-ndb/bind.cpp
@@ -43,11 +43,13 @@ ndb_back_bind( Operation *op, SlapReply *rs )
 
 	/* allow noauth binds */
 	switch ( be_rootdn_bind( op, NULL ) ) {
-	case SLAP_CB_CONTINUE:
-		break;
+	case LDAP_SUCCESS:
+		/* frontend will send result */
+		return rs->sr_err = LDAP_SUCCESS;
 
 	default:
-		return rs->sr_err;
+		/* give the database a chance */
+		break;
 	}
 
 	/* Get our NDB handle */
-- 
GitLab