From: Quanah Gibson-Mount Date: Thu, 10 Jul 2008 02:21:18 +0000 (+0000) Subject: ITS#5597 X-Git-Tag: OPENLDAP_REL_ENG_2_4_11~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9dd2d1d17bd193e61232c33aebc973cbb4b42f0c;p=openldap ITS#5597 --- diff --git a/CHANGES b/CHANGES index e4ba6f9f63..63c5ff1329 100644 --- a/CHANGES +++ b/CHANGES @@ -13,7 +13,8 @@ OpenLDAP 2.4.11 Engineering Fixed slapd equality rules for olcRootDN/olcSchemaDN (ITS#5540) Fixed slapd sets memory leak (ITS#5557) Fixed slapd sortvals binary search (ITS#5578) - Fixed slapd/slapo-syncprov syncrepl contextCSN updates as internal ops (ITS#5596) + Fixed slapd syncrepl updates with multiple masters (ITS#5597) + Fixed slapd syncrepl/slapo-syncprov contextCSN updates as internal ops (ITS#5596) Fixed slapd-meta link to slapd-ldap (ITS#5355) Fixed slapd-sock, back-shell buffer count (ITS#5558) Fixed slapo-dynlist dg attrs lookup (ITS#5583) diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index fd8847727c..a3164aeb36 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -689,8 +689,8 @@ compare_csns( struct sync_cookie *sc1, struct sync_cookie *sc2, int *which ) return -1; } - for (i=0; inumcsns; i++) { - for (j=0; jnumcsns; j++) { + for (j=0; jnumcsns; j++) { + for (i=0; inumcsns; i++) { if ( sc1->sids[i] != sc2->sids[j] ) continue; value_match( &match, slap_schema.si_ad_entryCSN, @@ -703,6 +703,11 @@ compare_csns( struct sync_cookie *sc1, struct sync_cookie *sc2, int *which ) } break; } + if ( i == sc1->numcsns ) { + /* sc2 has a sid sc1 lacks */ + *which = j; + return -1; + } } return match; }