From 91955f086d6b9972a358c0b60d4e79b71c30745d Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Tue, 8 Jul 2008 22:33:50 +0000
Subject: [PATCH] ITS#5548

---
 CHANGES                           | 1 +
 servers/slapd/overlays/syncprov.c | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/CHANGES b/CHANGES
index 5eef4336a2..c48ee354a6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,7 @@ OpenLDAP 2.4 Change Log
 OpenLDAP 2.4.11 Engineering
 	Added slapo-nssov contrib module
 	Fixed slapo-ppolicy DNs with whitespaces (ITS#5552)
+	Fixed slapo-syncprov ACL evaluation (ITS#5548)
 	Build Environment
 		Fixed test048 to skip if threads is not available (ITS#5529)
 
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c
index d525cb6c46..e6e2161e44 100644
--- a/servers/slapd/overlays/syncprov.c
+++ b/servers/slapd/overlays/syncprov.c
@@ -1181,6 +1181,7 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit )
 		sprev = ss, ss=snext)
 	{
 		Operation op2;
+		Opheader oh;
 		syncmatches *sm;
 		int found = 0;
 
@@ -1230,7 +1231,10 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit )
 
 		if ( fc.fscope ) {
 			op2 = *ss->s_op;
-			op2.o_hdr = op->o_hdr;
+			oh = *op->o_hdr;
+			oh.oh_conn = ss->s_op->o_conn;
+			oh.oh_connid = ss->s_op->o_connid;
+			op2.o_hdr = &oh;
 			op2.o_extra = op->o_extra;
 		}
 
-- 
GitLab