Commit 379dd48e authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#5675

parent 808e8f25
...@@ -11,6 +11,7 @@ OpenLDAP 2.4.12 Engineering ...@@ -11,6 +11,7 @@ OpenLDAP 2.4.12 Engineering
Fixed slapd overlay control registration (ITS#5649) Fixed slapd overlay control registration (ITS#5649)
Fixed slapd socket closing on Windows (ITS#5606) Fixed slapd socket closing on Windows (ITS#5606)
Fixed slapd sortvals comparison (ITS#5578) Fixed slapd sortvals comparison (ITS#5578)
Fixed slapd syncrepl contextCSN detection (ITS#5675)
Fixed slapd syncrepl error logging (ITS#5618) Fixed slapd syncrepl error logging (ITS#5618)
Fixed slapd-bdb entry return if attr not present (ITS#5650) Fixed slapd-bdb entry return if attr not present (ITS#5650)
Fixed slapd-ldap,slapd-meta invalid filter behavior (ITS#5614) Fixed slapd-ldap,slapd-meta invalid filter behavior (ITS#5614)
......
...@@ -473,7 +473,7 @@ check_syncprov( ...@@ -473,7 +473,7 @@ check_syncprov(
for ( i=0; i<num; i++ ) { for ( i=0; i<num; i++ ) {
if ( ber_bvcmp( &a.a_nvals[i], if ( ber_bvcmp( &a.a_nvals[i],
&si->si_cookieState->cs_vals[i] )) { &si->si_cookieState->cs_vals[i] )) {
changed =1; changed = 1;
break; break;
} }
} }
...@@ -2770,9 +2770,14 @@ syncrepl_updateCookie( ...@@ -2770,9 +2770,14 @@ syncrepl_updateCookie(
if ( memcmp( syncCookie->ctxcsn[i].bv_val, if ( memcmp( syncCookie->ctxcsn[i].bv_val,
si->si_cookieState->cs_vals[j].bv_val, len ) > 0 ) { si->si_cookieState->cs_vals[j].bv_val, len ) > 0 ) {
mod.sml_values[j] = syncCookie->ctxcsn[i]; mod.sml_values[j] = syncCookie->ctxcsn[i];
if ( BER_BVISNULL( &first )) if ( BER_BVISNULL( &first ) ) {
first = syncCookie->ctxcsn[i];
} else if ( memcmp( syncCookie->ctxcsn[i].bv_val, first.bv_val, first.bv_len ) > 0 )
{
first = syncCookie->ctxcsn[i]; first = syncCookie->ctxcsn[i];
} }
}
break; break;
} }
/* there was no match for this SID, it's a new CSN */ /* there was no match for this SID, it's a new CSN */
...@@ -2781,10 +2786,14 @@ syncrepl_updateCookie( ...@@ -2781,10 +2786,14 @@ syncrepl_updateCookie(
( mod.sml_numvals+2 )*sizeof(struct berval), op->o_tmpmemctx ); ( mod.sml_numvals+2 )*sizeof(struct berval), op->o_tmpmemctx );
mod.sml_values[mod.sml_numvals++] = syncCookie->ctxcsn[i]; mod.sml_values[mod.sml_numvals++] = syncCookie->ctxcsn[i];
BER_BVZERO( &mod.sml_values[mod.sml_numvals] ); BER_BVZERO( &mod.sml_values[mod.sml_numvals] );
if ( BER_BVISNULL( &first )) if ( BER_BVISNULL( &first ) ) {
first = syncCookie->ctxcsn[i];
} else if ( memcmp( syncCookie->ctxcsn[i].bv_val, first.bv_val, first.bv_len ) > 0 )
{
first = syncCookie->ctxcsn[i]; first = syncCookie->ctxcsn[i];
} }
} }
}
/* Should never happen, ITS#5065 */ /* Should never happen, ITS#5065 */
if ( BER_BVISNULL( &first )) { if ( BER_BVISNULL( &first )) {
ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex ); ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment