From 5ea77a75dd2d2158401331879f3c8f47940a732c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:35:32 +0200 Subject: Adding upstream version 2.5.13+dfsg. Signed-off-by: Daniel Baumann --- tests/data/regressions/its4184/its4184 | 90 ++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 tests/data/regressions/its4184/its4184 (limited to 'tests/data/regressions/its4184/its4184') diff --git a/tests/data/regressions/its4184/its4184 b/tests/data/regressions/its4184/its4184 new file mode 100755 index 0000000..1b9e216 --- /dev/null +++ b/tests/data/regressions/its4184/its4184 @@ -0,0 +1,90 @@ +#! /bin/sh +# $OpenLDAP$ +## This work is part of OpenLDAP Software . +## +## Copyright 1998-2022 The OpenLDAP Foundation. +## All rights reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted only as authorized by the OpenLDAP +## Public License. +## +## A copy of this license is available in the file LICENSE in the +## top-level directory of the distribution or, alternatively, at +## . + +echo "running defines.sh" +. $SRCDIR/scripts/defines.sh + +mkdir -p $DBDIR1A $DBDIR2A + +ITS=4184 +ITSDIR=$DATADIR/regressions/its$ITS +USER="uid=user1,ou=People,dc=example,dc=com" +PASS="abc" + +echo "Running slapadd to build slapd database..." +. $CONFFILTER $BACKEND < $ITSDIR/slapd.conf > $CONF1 +$SLAPADD -f $CONF1 -l $ITSDIR/adds.ldif +RC=$? +if test $RC != 0 ; then + echo "slapadd failed ($RC)!" + exit $RC +fi + +echo "Starting slapd on TCP/IP port $PORT1..." +$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & +PID=$! +if test $WAIT != 0 ; then + echo PID $PID + read foo +fi +KILLPIDS="$PID" + +sleep 1 + +for i in 0 1 2 3 4 5; do + $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ + '(objectClass=*)' > /dev/null 2>&1 + RC=$? + if test $RC = 0 ; then + break + fi + echo "Waiting 5 seconds for slapd to start..." + sleep 5 +done + +if test $RC != 0 ; then + echo "ldapsearch failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +echo "" +echo " This test applies a round of updates __after__ grabbing a lock" +echo " that, before the fix, was not correctly released; in case " +echo " of failure, the second round of updates will deadlock." +echo " This issue was fixed in OpenLDAP 2.3.14." +echo "" + +for S in 1 2 ; do + FILE="${ITSDIR}/mods.ldif" + echo "${S}) Applying `basename ${FILE}`..." + $LDAPMODIFY -v -D "$USER" -w $PASS -H $URI1 \ + -f "${FILE}" > $TESTOUT 2>&1 + RC=$? + if test $RC != 0 ; then + echo "ldapmodify failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC + fi + sleep 1 +done + +test $KILLSERVERS != no && kill -HUP $KILLPIDS + +echo ">>>>> Test succeeded" + +test $KILLSERVERS != no && wait + +exit 0 -- cgit v1.2.3