From 95d5947b5bbcebb59adaea0189de372b9aebb8ea Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Fri, 13 Feb 2009 03:57:29 +0000
Subject: [PATCH] ITS#5943

---
 CHANGES                       | 1 +
 servers/slapd/back-relay/op.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGES b/CHANGES
index 4f3a4c8d09..1f606c806a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -52,6 +52,7 @@ OpenLDAP 2.4.14 Engineering
 	Fixed slapd-ldif deadlock (ITS#5329)
 	Fixed slapd-meta double response sending (ITS#5854)
 	Fixed slapd-meta alias deref for retry (ITS#5889)
+	Fixed slapd-relay recursion detection (ITS#5943)
 	Fixed slapd-sock descriptor leak (ITS#5939)
 	Fixed slapo-accesslog on glued dbs (ITS#5907)
 	Fixed slapo-dynlist handling of flags (ITS#5898)
diff --git a/servers/slapd/back-relay/op.c b/servers/slapd/back-relay/op.c
index 3a2ded273c..4c28483d92 100644
--- a/servers/slapd/back-relay/op.c
+++ b/servers/slapd/back-relay/op.c
@@ -74,7 +74,7 @@ relay_back_select_backend( Operation *op, SlapReply *rs, slap_mask_t fail_mode )
 
 	if ( bd == NULL && !BER_BVISNULL( &op->o_req_ndn ) ) {
 		bd = select_backend( &op->o_req_ndn, 1 );
-		if ( bd == op->o_bd ) {
+		if ( bd->be_private == op->o_bd->be_private ) {
 			Debug( LDAP_DEBUG_ANY,
 				"%s: back-relay for DN=\"%s\" would call self.\n",
 				op->o_log_prefix, op->o_req_dn.bv_val, 0 );
-- 
GitLab