mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-05-28 04:35:57 -04:00
Merge branch 'corrections' into 'master'
ITS#9888/ITS#10250/ITS#10229/ITS#10266 Corrections to 2.7 ITSs See merge request openldap/openldap!857
This commit is contained in:
commit
7498ffecd8
5 changed files with 37 additions and 63 deletions
|
|
@ -128,6 +128,18 @@ timeout specified was exceeded.
|
|||
and
|
||||
.B ldap_msgid()
|
||||
return \-1 on error.
|
||||
.SH BUGS
|
||||
When there are multiple messages in
|
||||
.BR **result
|
||||
including a result message (common with searches), the return value of
|
||||
.B ldap_result
|
||||
will vary depending on various factors. Some implementations have started
|
||||
depending on this behaviour and as such it is unlikely to be be fixed in the
|
||||
2.x release series. To get the actual message type you're interested, use
|
||||
.B ldap_first_message
|
||||
or
|
||||
.B ldap_parse_result
|
||||
as needed.
|
||||
.SH SEE ALSO
|
||||
.BR ldap (3),
|
||||
.BR ldap_first_message (3),
|
||||
|
|
|
|||
|
|
@ -148,7 +148,6 @@ handle_unsolicited( LloadConnection *c, BerElement *ber )
|
|||
|
||||
assert( c->c_state != LLOAD_C_INVALID );
|
||||
if ( c->c_state == LLOAD_C_DYING ) {
|
||||
CONNECTION_UNLOCK(c);
|
||||
goto out;
|
||||
}
|
||||
c->c_state = LLOAD_C_CLOSING;
|
||||
|
|
@ -208,12 +207,6 @@ handle_unsolicited( LloadConnection *c, BerElement *ber )
|
|||
RELEASE_REF( client, c_refcnt, client->c_destroy );
|
||||
}
|
||||
|
||||
if ( c->c_state == LLOAD_C_CLOSING && c->c_ops ) {
|
||||
CONNECTION_UNLOCK(c);
|
||||
} else {
|
||||
CONNECTION_DESTROY(c);
|
||||
}
|
||||
|
||||
out:
|
||||
ber_free( ber, 1 );
|
||||
if ( c->c_state == LLOAD_C_CLOSING && c->c_ops ) {
|
||||
|
|
|
|||
|
|
@ -5992,8 +5992,15 @@ void syncrepl_diff_entry( Operation *op, Attribute *old, Attribute *new,
|
|||
|
||||
/* These are all missing from provider */
|
||||
while ( old ) {
|
||||
Modifications *mod = ch_malloc( sizeof( Modifications ) );
|
||||
Modifications *mod;
|
||||
|
||||
/* Skip contextCSN we screen ourselves */
|
||||
if ( is_ctx && old->a_desc == slap_schema.si_ad_contextCSN ) {
|
||||
old = old->a_next;
|
||||
continue;
|
||||
}
|
||||
|
||||
mod = ch_malloc( sizeof( Modifications ) );
|
||||
mod->sml_op = LDAP_MOD_DELETE;
|
||||
mod->sml_flags = 0;
|
||||
mod->sml_desc = old->a_desc;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ if test $SYNCPROV = syncprovno; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
ITS=9288
|
||||
ITS=9888
|
||||
|
||||
CFPRO=$TESTDIR/cfpro.d
|
||||
CFCON=$TESTDIR/cfcon.d
|
||||
|
|
@ -226,6 +226,13 @@ add: olcUpdateRef
|
|||
olcUpdateRef: $URI1
|
||||
EOF
|
||||
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapmodify failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
echo "Using ldapsearch to check that syncrepl received config changes..."
|
||||
|
|
@ -482,7 +489,7 @@ timestamp=`date --utc +"%Y%m%d%H%M%S.%6NZ"`
|
|||
newcsn="${timestamp}#000000#001#000000"
|
||||
|
||||
sed -i -e "s/entryCSN:.*/entryCSN: $newcsn/" testrun/config-consumer.ldif
|
||||
sed -i -e 's/contextCSN: .*#001#.*/contextCSN: 20230724180831.311873Z#000000#001#000000/' testrun/config-consumer.ldif
|
||||
sed -i -e 's/contextCSN: .*#001#.*/contextCSN: $newcsn/' testrun/config-consumer.ldif
|
||||
|
||||
mv testrun/db.1.a testrun/db.1.a.orig
|
||||
mkdir -p testrun/db.1.a
|
||||
|
|
|
|||
|
|
@ -712,53 +712,9 @@ echo "$CHECK < Comparing retrieved entries from provider and consumer..."
|
|||
$CMP $PROVIDERFLT $CONSUMERFLT > $CMPOUT
|
||||
|
||||
if test $? != 0 ; then
|
||||
# FIXME: keep the original workaround in place, in case we needed again
|
||||
if test 1 = 1 ; then
|
||||
echo "test failed - provider and consumer databases differ"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo " test failed - provider and consumer databases differ (ignored by now)"
|
||||
echo " Stopping proxy to see if it auto-recovers..."
|
||||
kill -HUP $PROXYPID
|
||||
wait $PROXYPID
|
||||
|
||||
echo " ${CHECK}.1 > Restarting proxy..."
|
||||
echo "======================= RESTART =======================" >> $LOG3
|
||||
$SLAPD -f $CONF3 -h $URI3 -d $LVL >> $LOG3 2>&1 &
|
||||
PROXYPID=$!
|
||||
if test $WAIT != 0 ; then
|
||||
echo PROXYPID $PROXYPID
|
||||
read foo
|
||||
fi
|
||||
KILLPIDS="$PROVIDERPID $CONSUMERPID $PROXYPID"
|
||||
|
||||
echo " Waiting $SLEEP2 seconds for syncrepl to receive changes..."
|
||||
sleep $SLEEP2
|
||||
|
||||
#echo "Using ldapsearch to read all the entries from the consumer..."
|
||||
$LDAPSEARCH -S "" -b "$BASEDN" -H $URI2 \
|
||||
'(objectClass=*)' > "${CONSUMEROUT}.5.1" 2>&1
|
||||
RC=$?
|
||||
|
||||
if test $RC != 0 ; then
|
||||
echo " ldapsearch failed at consumer ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
#echo "Filtering consumer results..."
|
||||
$LDIFFILTER < "${CONSUMEROUT}.5.1" > $CONSUMERFLT
|
||||
|
||||
echo " ${CHECK}.1 < Comparing retrieved entries from provider and consumer..."
|
||||
$CMP $PROVIDERFLT $CONSUMERFLT > $CMPOUT
|
||||
|
||||
if test $? != 0 ; then
|
||||
echo " test failed - provider and consumer databases differ"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit 1
|
||||
fi
|
||||
echo "test failed - provider and consumer databases differ"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
|
|
@ -844,18 +800,17 @@ if test $RC != 0 ; then
|
|||
fi
|
||||
|
||||
#echo "Filtering provider results..."
|
||||
$LDIFFILTER < "${PROVIDEROUT}.$CHECK" > $PROVIDERFLT
|
||||
$LDIFFILTER -s a < "${PROVIDEROUT}.$CHECK" > $PROVIDERFLT
|
||||
#echo "Filtering consumer results..."
|
||||
$LDIFFILTER < "${CONSUMEROUT}.$CHECK" > $CONSUMERFLT
|
||||
$LDIFFILTER -s a < "${CONSUMEROUT}.$CHECK" > $CONSUMERFLT
|
||||
|
||||
echo "$CHECK < Comparing retrieved entries from provider and consumer..."
|
||||
$CMP $PROVIDERFLT $CONSUMERFLT > $CMPOUT
|
||||
|
||||
if test $? != 0 ; then
|
||||
echo "test failed - provider and consumer databases differ (ignored by now)"
|
||||
#echo "test failed - provider and consumer databases differ"
|
||||
#test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
#exit 1
|
||||
echo "test failed - provider and consumer databases differ"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
|
|
|
|||
Loading…
Reference in a new issue