head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.3
	netbsd-11-0-RC3:1.1.1.3
	netbsd-11-0-RC2:1.1.1.3
	netbsd-11-0-RC1:1.1.1.3
	OPENLDAP2_6_10:1.1.1.4
	perseant-exfatfs-base-20250801:1.1.1.3
	netbsd-11:1.1.1.3.0.6
	netbsd-11-base:1.1.1.3
	netbsd-10-1-RELEASE:1.1.1.3
	perseant-exfatfs-base-20240630:1.1.1.3
	perseant-exfatfs:1.1.1.3.0.4
	perseant-exfatfs-base:1.1.1.3
	netbsd-9-4-RELEASE:1.1.1.1.2.2
	netbsd-10-0-RELEASE:1.1.1.3
	netbsd-10-0-RC6:1.1.1.3
	netbsd-10-0-RC5:1.1.1.3
	netbsd-10-0-RC4:1.1.1.3
	netbsd-10-0-RC3:1.1.1.3
	netbsd-10-0-RC2:1.1.1.3
	netbsd-10-0-RC1:1.1.1.3
	netbsd-10:1.1.1.3.0.2
	netbsd-10-base:1.1.1.3
	netbsd-9-3-RELEASE:1.1.1.1.2.2
	OPENLDAP2_5_6:1.1.1.3
	cjep_sun2x-base1:1.1.1.2
	cjep_sun2x:1.1.1.2.0.4
	cjep_sun2x-base:1.1.1.2
	cjep_staticlib_x-base1:1.1.1.2
	netbsd-9-2-RELEASE:1.1.1.1.2.2
	cjep_staticlib_x:1.1.1.2.0.2
	cjep_staticlib_x-base:1.1.1.2
	netbsd-9-1-RELEASE:1.1.1.1.2.2
	OPENLDAP2_4_50:1.1.1.2
	phil-wifi-20200421:1.1.1.1
	phil-wifi:1.1.1.1.0.6
	phil-wifi-20200411:1.1.1.1
	is-mlppp:1.1.1.1.0.4
	is-mlppp-base:1.1.1.1
	phil-wifi-20200406:1.1.1.1
	netbsd-9-0-RELEASE:1.1.1.1.2.2
	netbsd-9-0-RC2:1.1.1.1.2.2
	netbsd-9-0-RC1:1.1.1.1.2.2
	phil-wifi-20191119:1.1.1.1
	netbsd-9:1.1.1.1.0.2
	OPENLDAP_2_4_48:1.1.1.1
	OPENLDAP:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2019.08.08.13.31.34;	author christos;	state Exp;
branches
	1.1.1.1;
next	;
commitid	epB5sf4Wz4DHaeyB;

1.1.1.1
date	2019.08.08.13.31.34;	author christos;	state Exp;
branches
	1.1.1.1.2.1
	1.1.1.1.6.1;
next	1.1.1.2;
commitid	epB5sf4Wz4DHaeyB;

1.1.1.2
date	2020.08.11.13.12.12;	author christos;	state Exp;
branches;
next	1.1.1.3;
commitid	X6bSG6T2qbuhcEjC;

1.1.1.3
date	2021.08.14.16.05.10;	author christos;	state Exp;
branches;
next	1.1.1.4;
commitid	KGC86c2DM9XNjX4D;

1.1.1.4
date	2025.09.05.21.09.36;	author christos;	state Exp;
branches;
next	;
commitid	fYrnJMLV6F5flz9G;

1.1.1.1.2.1
date	2019.08.08.13.31.34;	author martin;	state dead;
branches;
next	1.1.1.1.2.2;
commitid	hXdXSkz1NgtyHryB;

1.1.1.1.2.2
date	2019.08.10.06.17.23;	author martin;	state Exp;
branches;
next	;
commitid	hXdXSkz1NgtyHryB;

1.1.1.1.6.1
date	2019.08.08.13.31.34;	author martin;	state dead;
branches;
next	1.1.1.1.6.2;
commitid	X01YhRUPVUDaec4C;

1.1.1.1.6.2
date	2020.04.13.07.56.25;	author martin;	state Exp;
branches;
next	;
commitid	X01YhRUPVUDaec4C;


desc
@@


1.1
log
@Initial revision
@
text
@#! /bin/sh
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2019 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
## <http://www.OpenLDAP.org/license.html>.

echo "running defines.sh"
. $SRCDIR/scripts/defines.sh

if test $SYNCPROV = syncprovno; then
	echo "Syncrepl provider overlay not available, test skipped"
	exit 0
fi
if test $ACCESSLOG = accesslogno; then
	echo "Accesslog overlay not available, test skipped"
	exit 0
fi
if test $BACKEND = ldif ; then
	echo "$BACKEND backend unsuitable, test skipped"
	exit 0
fi

dtest=`date +%N|sed s/...$//`

if test $dtest = N; then
	echo "nanosecond date values not supported, test skipped"
	exit 0
fi

# This mimics the scenario where a single server has been used until now (no
# syncprov either, so no contextCSN) and we convert it to a delta-MMR setup:
# 1. stop the server (note that there is likely no contextCSN in the DB at this point)
# 2. configure all servers to delta-replicate from each other and start them up
#    - empty servers will start with a refresh of the main DB
#    - when the refresh is successful they should change over to replicating the log
# 3. keep making changes on all servers to see things still work

echo "This test tracks a case where slapd deadlocks during a significant write load"
echo "See http://www.openldap.org/its/index.cgi/?findid=8752 for more information."

MMR=4
iterations=20000
check_sync_every=100
MAPSIZE=`expr 100 \* 1024 \* 1024`
XDIR=$TESTDIR/srv

mkdir -p $TESTDIR

ITS=8752
ITSDIR=$DATADIR/regressions/its$ITS

n=1
while [ $n -le $MMR ]; do
	DBDIR=${XDIR}$n/db
	mkdir -p ${XDIR}$n $DBDIR.1 $DBDIR.2
	n=`expr $n + 1`
done

KILLPIDS=

echo "Starting slapd on TCP/IP port $PORT1..."
. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf > $CONF1
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
PID=$!
if test $WAIT != 0 ; then
	echo PID $PID
	read foo
fi
KILLPIDS="$PID"

sleep $SLEEP0

echo "Using ldapsearch to check that slapd is running..."
for i in 0 1 2 3 4 5; do
	$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
		'objectclass=*' > /dev/null 2>&1
	RC=$?
	if test $RC = 0 ; then
		break
	fi
	echo "Waiting $SLEEP1 seconds for slapd to start..."
	sleep $SLEEP1
done

if test $RC != 0 ; then
	echo "ldapsearch failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Populating database on first provider..."
$LDAPADD -D $MANAGERDN -H $URI1 -w $PASSWD << EOMODS >> $TESTOUT 2>&1
dn: $BASEDN
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example

dn: ou=People,$BASEDN
objectClass: organizationalUnit
ou: People

dn: ou=Groups,$BASEDN
objectClass: organizationalUnit
ou: Groups

dn: cn=Roger Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit

dn: cn=Baby Herman,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman

dn: cn=Jessica_Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Jessica_Rabbit
sn: Rabbit

dn: cn=Bugs_Bunny,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Bugs_Bunny
sn: Bunny

dn: cn=Daffy_Duck,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Daffy_Duck
sn: Duck

dn: cn=Elmer_Fudd,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Elmer_Fudd
sn: Fudd

dn: cn=Cartoonia,ou=Groups,$BASEDN
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=People,$BASEDN
member: cn=Baby Herman,ou=People,$BASEDN
EOMODS

RC=$?

if test $RC != 0 ; then
	echo "ldapadd failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Stopping slapd and reworking configuration for MMR..."

kill -HUP $KILLPIDS
wait $KILLPIDS

KILLPIDS=
n=1
while [ $n -le $MMR ]; do
	MYURI=`eval echo '$URI'$n`
	MYLOG=`eval echo '$LOG'$n`
	MYCONF=`eval echo '$CONF'$n`
	echo "Starting provider slapd on TCP/IP URI $MYURI"
	. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
	sed -e "s/MMR/$n/g" -e "s/wronglog/log/" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
	j=1
	while [ $j -le $MMR ]; do
		MMCURI=`eval echo '$URI'$j`
		sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
		mv $TESTDIR/slapd.conf $MYCONF
		j=`expr $j + 1`
	done
	if [ -f $TESTDIR/slapd.conf ]; then
		rm -f $TESTDIR/slapd.conf
	fi
	$SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
	PID=$!
	if test $WAIT != 0 ; then
		echo PID $PID
		read foo
	fi
	KILLPIDS="$PID $KILLPIDS"
	sleep $SLEEP1

	echo "Using ldapsearch to check that provider slapd is running..."
	for i in 0 1 2 3 4 5; do
		$LDAPSEARCH -s base -b "" -H $MYURI \
			'objectclass=*' > /dev/null 2>&1
		RC=$?
		if test $RC = 0 ; then
			break
		fi
		echo "Waiting $SLEEP1 seconds for slapd to start..."
		sleep $SLEEP1
	done

	if test $RC != 0 ; then
		echo "ldapsearch failed ($RC)!"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit $RC
	fi
	n=`expr $n + 1`
done

echo "Setting up accesslog on each master..."
n=1
while [ $n -le $MMR ]; do
	echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on master $n"
	MYURI=`eval echo '$URI'$n`
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: cn=Elmer_Fudd,ou=People,$BASEDN
changetype: modify
replace: sn
sn: Fudd
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi
	sleep $SLEEP1
	n=`expr $n + 1`
done

#echo "Letting server 1 establish its own contextCSN..."
#echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on $URI1"
#$LDAPMODIFY -v -D "$MANAGERDN" -H $URI1 -w $PASSWD > \
#    $TESTOUT 2>&1 << EOMODS
#dn: cn=Elmer_Fudd,ou=People,$BASEDN
#changetype: modify
#replace: sn
#sn: Fudd
#EOMODS

for i in 0 1 2 3 4 5; do
	j=1
	while [ $j -le $MMR ]; do
        MYURI=`eval echo '$URI'$j`
		$LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
			'*' '+' >"$TESTDIR/server$j.out" 2>&1
		RC=$?
		if test $RC != 0 ; then
			echo "ldapsearch failed ($RC)!"
			test $KILLSERVERS != no && kill -HUP $KILLPIDS
			exit $RC
		fi
        $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
		j=`expr $j + 1`
	done

	in_sync=1
	j=1
	while [ $j -lt $MMR ]; do
		k=$j
		j=`expr $j + 1`
		$CMP "$TESTDIR/server$k.flt" "$TESTDIR/server$j.flt" > $CMPOUT
		if test $? != 0 ; then
			in_sync=0
		fi
	done
	if test $in_sync = 1; then
		break
	fi

	echo "Waiting $SLEEP1 seconds for servers to catch up..."
	sleep $SLEEP1
done

if test $in_sync = 0; then
	echo "Servers did not replicate in time"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit 1
fi

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting random master/entry modifications..."
DN1="cn=Elmer_Fudd,ou=People,$BASEDN"
VAL1="Fudd"

DN2="cn=Jessica_Rabbit,ou=People,$BASEDN"
VAL2="Rabbit"

DN3="cn=Bugs_Bunny,ou=People,$BASEDN"
VAL3="Bunny"

DN4="cn=Daffy_Duck,ou=People,$BASEDN"
VAL4="Duck"

n=1
while [ $n -le $iterations ]; do
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*$MMR)}}"`
	MYURI=`eval echo '$URI'$rvalue`
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*4)}}"`
	MYDN=`eval echo '$DN'$rvalue`
	MYVAL=`eval echo '$VAL'$rvalue`
	echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi

	if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
		i=1
        echo "Checking replication status before we start iteration $n..."
        for i in 0 1 2 3 4 5; do
            j=1
            while [ $j -le $MMR ]; do
                MYURI=`eval echo '$URI'$j`
                echo "Reading database from server $j..."
                $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                    '*' '+' >"$TESTDIR/server$j.out" 2>&1
                RC=$?
                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
    fi
    n=`expr $n + 1`
done

kill -HUP $KILLPIDS
wait $KILLPIDS

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting servers again, this time with the wrong logbase setting..."
KILLPIDS=
n=1
while [ $n -le $MMR ]; do
    MYURI=`eval echo '$URI'$n`
    MYLOG=`eval echo '$LOG'$n`
    MYCONF=`eval echo '$CONF'$n`
    echo "Starting provider slapd on TCP/IP URI $MYURI"
    . $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
    sed -e "s/MMR/$n/g" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
    j=1
    while [ $j -le $MMR ]; do
        MMCURI=`eval echo '$URI'$j`
        sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
        mv $TESTDIR/slapd.conf $MYCONF
        j=`expr $j + 1`
    done
    if [ -f $TESTDIR/slapd.conf ]; then
        rm -f $TESTDIR/slapd.conf
    fi
    $SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
    PID=$!
    if test $WAIT != 0 ; then
        echo PID $PID
        read foo
    fi
    KILLPIDS="$PID $KILLPIDS"
    sleep $SLEEP1

    echo "Using ldapsearch to check that provider slapd is running..."
    for i in 0 1 2 3 4 5; do
        $LDAPSEARCH -s base -b "" -H $MYURI \
            'objectclass=*' > /dev/null 2>&1
                    RC=$?
                    if test $RC = 0 ; then
                        break
                    fi
                    echo "Waiting $SLEEP1 seconds for slapd to start..."
                    sleep $SLEEP1
                done

                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                n=`expr $n + 1`
            done

            echo "Starting random master/entry modifications..."
            n=1
            while [ $n -le $iterations ]; do
                seed=`date +%N|sed s/...$//`
                rvalue=`echo|awk "BEGIN {srand($seed)
                {print int(1+rand()*$MMR)}}"`
                    MYURI=`eval echo '$URI'$rvalue`
                    seed=`date +%N|sed s/...$//`
                    rvalue=`echo|awk "BEGIN {srand($seed)
                    {print int(1+rand()*4)}}"`
                        MYDN=`eval echo '$DN'$rvalue`
                        MYVAL=`eval echo '$VAL'$rvalue`
                        echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
                        $LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
                            $TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
RC=$?
if test $RC != 0; then
    echo "ldapmodify failed ($RC)"
    test $KILLSERVERS != no && kill -HUP $KILLPIDS
    exit 1
fi

if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
    i=1
    echo "Checking replication status before we start iteration $n..."
    for i in 0 1 2 3 4 5; do
        j=1
        while [ $j -le $MMR ]; do
            MYURI=`eval echo '$URI'$j`
            echo "Reading database from server $j..."
            $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                '*' '+' >"$TESTDIR/server$j.out" 2>&1
                            RC=$?
                            if test $RC != 0 ; then
                                echo "ldapsearch failed ($RC)!"
                                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                                exit $RC
                            fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
	fi
	n=`expr $n + 1`
done

test $KILLSERVERS != no && kill -HUP $KILLPIDS

echo ">>>>> Test succeeded"

test $KILLSERVERS != no && wait

exit 0
@


1.1.1.1
log
@OpenLDAP 2.4.48 (2019/07/24)
	Added libldap OpenSSL Elliptic Curve support (ITS#7595)
	Added libldap Expose OpenLDAP specific interfaces via openldap.h (ITS#8671)
	Added slapd-monitor support for slapd-mdb (ITS#7770)
	Fixed liblber leaks (ITS#8727)
	Fixed liblber with partial flush (ITS#8864)
	Fixed libldap ASYNC TLS so it works (ITS#8957,ITS#8980)
	Fixed libldap ASYNC connections with Solaris 10 (ITS#8968)
	Fixed libldap with SASL_NOCANON=on and ldapi connections (ITS#7585)
	Fixed libldap to be able to unset syncrepl TLS options (ITS#7042)
	Fixed libldap race condition in ldap_int_initialize (ITS#7996, ITS#8450)
	Fixed libldap return code in ldap_create_assertion_control_value (ITS#8674)
	Fixed libldap to correctly disable IPv6 when configured to do so (ITS#8754)
	Fixed libldap to correctly close TLS connection (ITS#8755)
	Fixed libldap_r handling of deprecated OpenSSL function (ITS#8353)
	Fixed liblunicode case correspondance (ITS#8508)
	Fixed slapd with an idletimeout of less than four seconds (ITS#8952)
	Fixed slapd config parser variable for Windows64 (ITS#9012)
	Fixed slapd syncrepl fallback handling with delta-syncrepl (ITS#9015)
	Fixed slapd telephoneNumberNormalize, cert DN validation (ITS#8999)
	Fixed slapd syncrepl for relax with delta-syncrepl (ITS#8037)
	Fixed slapd to restrict rootDN proxyauthz to its own databases (ITS#9038)
	Fixed slapd to initialize SASL SSF per connection (ITS#9052)
	Fixed slapo-accesslog with SLAP_MOD_SOFT modifications (ITS#8990)
	Fixed slapd-ldap starttls connections timeout behavior (ITS#8963)
	Fixed slapd-ldap segfault when entry result doesn't match filter (ITS#8997)
	Fixed slapd-meta conversion from slapd.conf to cn=config (ITS#8743)
	Fixed slapd-meta assertion when network interface goes down (ITS#8841)
	Fixed slapd-mdb fix bitshift integer overflow (ITS#8989)
	Fixed slapd-mdb index cleanup with cn=config (ITS#8472)
	Fixed slapd-mdb to improve performance with alias deref (ITS#7657)
	Fixed slapo-accesslog possible assert with exops (ITS#8971)
	Fixed slapo-chain to correctly reject multiple chaining URIs (ITS#8637)
	Fixed slapo-chain conversion from slapd.conf to cn=config (ITS#8799)
	Fixed slapo-memberof conversion from slapd.conf to cn=config (ITS#8663)
	Fixed slapo-memberof for group name change to itself (ITS#9000)
	Fixed slapo-ppolicy behavior when pwdInHistory is changed (ITS#8349)
	Fixed slapo-rwm to not free original filter (ITS#8964)
	Fixed slapo-syncprov contextCSN generation (ITS#9015)
	Build Environment
		Fixed slapd to only link to BDB libraries with static build (ITS#8948)
		Fixed libldap implicit declaration with LDAP_CONNECTIONLESS (ITS#8794)
		Fixed libldap double inclusion of limits.h in cyrus.c (ITS#9041)
	Documentation
		General - Fixed minor typos (ITS#8764, ITS#8761)
		admin24 - Miscellaneous updates promoting mdb and fixing examples (ITS#9031)
		slapd.access(5) - Note MDB is the primary backend (ITS#8881)
		slapd.backends(5) - Note MDB is the recommended backend (ITS#8771)
		slapd-ldap(5) - Document starttls parameter (ITS#8693)
	Contrib
		Added slapo-lastbind capability to forward authTimestamp updates (ITS#7721)

OpenLDAP 2.4.47 Release (2018/12/19)
	Added slapd-sock DN qualifier for subtrees to be processed (ITS#8051)
	Added slapd-sock ability to send extended operations to external listeners (ITS#8714)
	Fixed liblber to avoid incremental access to user-supplied bv in dupbv (ITS#8752)
	Fixed libldap dn to domain parsing with bad input (ITS#8842)
	Fixed slapd slapcat to correctly honor -g option (ITS#8667)
	Fixed slapd to correctly handle NO_SUCH_OBJECT with dynamic groups (ITS#8923)
	Fixed slapd to check status of rdnNormalize (ITS#8932)
	Fixed slapd cn=config when modifying slapo-syncprov config (ITS#8616)
	Fixed slapd sasl authz-policy "all" behavior (ITS#8909)
	Fixed slapd sasl minor typo (ITS#8918)
	Fixed slapd to correctly hide hidden DBs in the rootDSE (ITS#8912)
	Fixed slapd domainScope control to match Microsoft specification (ITS#8840)
	Fixed slapd-bdb/hdb/mdb to not convert certain IDLs to ranges (ITS#8868)
	Fixed slapo-accesslog deadlock during cleanup (ITS#8752)
	Fixed slapo-memberof cn=config modifications (ITS#8663)
	Fixed slapo-ppolicy with multimaster replication (ITS#8927)
	Fixed slapo-syncprov with NULL modlist (ITS#8843)
	Build Environment
		Added slapd reproducible build support (ITS#8928)
		Fixed missing includes with OpenSSL 1.0.2 (ITS#8809)
	Contrib
		Fixed slapo-pbkdf2 hash generation (ITS#8878)
	Documentation
		admin24 fixed minor typo (ITS#8887)

OpenLDAP 2.4.46 Release (2018/03/22)
	Fixed libldap connection delete callbacks when TLS fails to start (ITS#8717)
	Fixed libldap to not reuse tls_session if TLS hostname check fails (ITS#7373)
	Fixed libldap cross-compiling with OpenSSL 1.1 (ITS#8687)
	Fixed libldap OpenSSL 1.1.1 compatibility with BIO_method (ITS#8791)
	Fixed libldap MozNSS CA certificate hash matching (ITS#7374)
	Fixed libldap MozNSS with PEM certs when also using an NSS cert db (ITS#7389)
	Fixed libldap MozNSS initialization (ITS#8484)
	Fixed libldap GnuTLS with GNUTLS_E_AGAIN (ITS#8650)
	Fixed libldap memory leak with cancel operations (ITS#8782)
	Fixed slapd Eventlog registry key creation on 64-bit Windows (ITS#8705)
	Fixed slapd to maintain SSF across SASL binds (ITS#8796)
	Fixed slapd syncrepl deadlock when updating cookie (ITS#8752)
	Fixed slapd syncrepl callback to always be last in the stack (ITS#8752)
	Fixed slapd telephoneNumberNormalize when the value is spaces and hyphens (ITS#8778)
	Fixed slapd CSN queue processing (ITS#8801)
	Fixed slapd-ldap TLS connection timeout with high latency connections (ITS#8720)
	Fixed slapd-ldap to ignore unknown schema when omit-unknown-schema is set (ITS#7520)
	Fixed slapd-mdb with an optimization for long lived read transactions (ITS#8226)
	Fixed slapd-meta assert when olcDbRewrite is modified (ITS#8404)
	Fixed slapd-sock with LDAP_MOD_INCREMENT operations (ITS#8692)
	Fixed slapo-accesslog cleanup to only occur on failed operations (ITS#8752)
	Fixed slapo-dds entryTTL to actually decrease as per RFC 2589 (ITS#7100)
	Fixed slapo-syncprov memory leak with delete operations (ITS#8690)
	Fixed slapo-syncprov to not clear pending operation when checkpointing (ITS#8444)
	Fixed slapo-syncprov to correctly record contextCSN values in the accesslog (ITS#8100)
	Fixed slapo-syncprov not to log checkpoints to accesslog db (ITS#8607)
	Fixed slapo-syncprov to process changes from this SID on REFRESH (ITS#8800)
	Fixed slapo-syncprov session log parsing to not block other operations (ITS#8486)
	Build Environment
		Fixed Windows build with newer MINGW version (ITS#8697)
		Fixed compiler warnings and removed unused variables (ITS#8578)
	Contrib
		Fixed ldapc++ Control structure (ITS#8583)
	Documentation
		Delete stub manpage for back-ldbm (ITS#8713)
		Fixed ldap_bind(3) to mention the LDAP_SASL_SIMPLE mechanism (ITS#8121)
		Fixed ldap.conf(5) to note SASL_MECH/SASL_REALM are no longer user-only (ITS#8818)
		Fixed slapd-config(5) typo for olcTLSCipherSuite (ITS#8715)
		Fixed slapo-syncprov(5) indexing requirements (ITS#5048)
@
text
@@


1.1.1.2
log
@OpenLDAP 2.4.50 Release (2020/04/28)
    Fixed client benign typos (ITS#8890)
    Fixed libldap type cast (ITS#9175)
    Fixed libldap retry loop in ldap_int_tls_connect (ITS#8650)
    Fixed libldap_r race on Windows mutex initialization (ITS#9181)
    Fixed liblunicode memory leak (ITS#9198)
    Fixed slapd benign typos (ITS#8890)
    Fixed slapd to limit depth of nested filters (ITS#9202)
    Fixed slapd-mdb memory leak in dnSuperiorMatch (ITS#9214)
    Fixed slapo-pcache database initialization (ITS#9182)
    Fixed slapo-ppolicy callback (ITS#9171)
    Build
	Fix olcDatabaseDummy initialization for windows (ITS#7074)
	Fix detection for ws2tcpip.h for windows (ITS#8383)
	Fix back-mdb types for windows (ITS#7878)
    Contrib
	Update ldapc++ config.guess and config.sub to support newer
	    architectures (ITS#7855)
	Added pw-argon2 module (ITS#9233, ITS#8575, ITS#9203, ITS#9206)
    Documentation
	slapd-ldap(5) - Clarify idassert-authzfrom behavior (ITS#9003)
	slapd-meta(5) - Remove client-pr option (ITS#8683)
	slapdinex(8) - Fix truncate option information for back-mdb (ITS#9230)

OpenLDAP 2.4.49 Release (2020/01/30)
    Added slapd-monitor database entry count for slapd-mdb (ITS#9154)
    Fixed client tools to not add controls on cancel/abandon (ITS#9145)
    Fixed client tools SyncInfo message to be LDIF compliant (ITS#8116)
    Fixed libldap to correctly free sb (ITS#9081, ITS#8755)
    Fixed libldap descriptor leak if ldaps fails (ITS#9147)
    Fixed libldap remove unnecessary global mutex for GnuTLS (ITS#9069)
    Fixed slapd syntax evaluation of preferredDeliveryMethod (ITS#9067)
    Fixed slapd to relax domainScope control check (ITS#9100)
    Fixed slapd to have cleaner error handling during connection setup
	 (ITS#9112)
    Fixed slapd data check when processing cancel exop (ITS#9124)
    Fixed slapd attribute description processing (ITS#9128)
    Fixed slapd-ldap to set oldctrls correctly (ITS#9076)
    Fixed slapd-mdb to honor unchecked limit with alias deref (ITS#7657)
    Fixed slapd-mdb missing final commit with slapindex (ITS#9095)
    Fixed slapd-mdb drop attr mappings added in an aborted txn (ITS#9091)
    Fixed slapd-mdb nosync FLAG configuration handling (ITS#9150)
    Fixed slapd-monitor global operation counter reporting (ITS#9119)
    Fixed slapo-ppolicy when used with slapauth (ITS#8629)
    Fixed slapo-ppolicy to add a missed normalised copy of pwdChangedTime
	(ITS#9126)
    Fixed slapo-syncprov fix sessionlog init (ITS#9146)
    Fixed slapo-unique loop termination (ITS#9077)
    Build Environment
	Fix mkdep to honor TMPDIR if set (ITS#9062)
	Remove ICU library detection (ITS#9144)
	Update config.guess and config.sub to support newer architectures
	    (ITS#7855)
	Disable ITS8521 regression test as it is no longer valid (ITS#9015)
    Documentation
	admin24 - Fix inconsistent whitespace in replication section (ITS#9153)
	slapd-config(5)/slapd.conf(5) - Fix missing bold tag for keyword
	    (ITS#9063)
	slapd-ldap(5) - Document "tls none" option (ITS#9071)
	slapo-ppolicy(5) - Correctly document pwdGraceAuthnLimit (ITS#9065)
@
text
@d5 1
a5 1
## Copyright 1998-2020 The OpenLDAP Foundation.
@


1.1.1.3
log
@Import OpenLDAP 2.5.6:

OpenLDAP 2.5.6 Release (2021/07/27)
	Fixed libldap buffer overflow (ITS#9578)
	Fixed libldap missing mutex unlock on connection alloc failure (ITS#9590)
	Fixed lloadd cn=config olcBkLloadClientMaxPending setting (ITS#8747)
	Fixed slapd multiple config defaults (ITS#9363)
	Fixed slapd ipv6 addresses to work with tcp wrappers (ITS#9603)
	Fixed slapo-syncprov delete of nonexistent sessionlog (ITS#9608)
	Build
		Fixed library symbol versioning on Solaris (ITS#9591)
		Fixed compile warning in libldap/tpool.c (ITS#9601)
		Fixed compile wraning in libldap/tls_o.c (ITS#9602)
	Contrib
		Fixed ppm module for sysconfdir (ITS#7832)
	Documentation
		Updated guide to document multival, idlexp, and maxentrysize (ITS#9613, ITS#9614)

OpenLDAP 2.5.5 Release (2021/06/03)
	Added libldap LDAP_OPT_TCP_USER_TIMEOUT support (ITS#9502)
	Added lloadd tcp-user-timeout support (ITS#9502)
	Added slapd-asyncmeta tcp-user-timeout support (ITS#9502)
	Added slapd-ldap tcp-user-timeout support (ITS#9502)
	Added slapd-meta tcp-user-timeout support (ITS#9502)
	Fixed incorrect control OIDs for AuthZ Identity (ITS#9542)
	Fixed libldap typo in util-int.c (ITS#9541)
	Fixed libldap double free of LDAP_OPT_DEFBASE (ITS#9530)
	Fixed libldap better TLS1.3 cipher suite handling (ITS#9521, ITS#9546)
	Fixed lloadd multiple issues (ITS#8747)
	Fixed slapd slap_op_time to avoid duplicates across restarts (ITS#9537)
	Fixed slapd typo in daemon.c (ITS#9541)
	Fixed slapd slapi compilation (ITS#9544)
	Fixed slapd to handle empty DN in extended filters (ITS#9551)
	Fixed slapd syncrepl searches with empty base (ITS#6467)
	Fixed slapd syncrepl refresh on startup (ITS#9324, ITS#9534)
	Fixed slapd abort due to typo (ITS#9561)
	Fixed slapd-asyncmeta quarantine handling (ITS#8721)
	Fixed slapd-asyncmeta to have a default operations timeout (ITS#9555)
	Fixed slapd-ldap quarantine handling (ITS#8721)
	Fixed slapd-mdb deletion of context entry (ITS#9531)
	Fixed slapd-mdb off-by-one affecting search scope (ITS#9557)
	Fixed slapd-meta quarantine handling (ITS#8721)
	Fixed slapo-accesslog to record reqNewDN for modRDN ops (ITS#9552)
	Fixed slapo-pcache locking during expiration (ITS#9529)
	Build
		Fixed slappw-argon2 module installation (ITS#9548)
	Contrib
		Update ldapc++/ldaptcl to use configure.ac (ITS#9554)
	Documentation
		ldap_first_attribute(3) - Document ldap_get_attribute_ber (ITS#8820)
        ldap_modify(3) - Delete non-existent mod_next parameter (ITS#9559)

OpenLDAP 2.5.4 Release (2021/04/29)
	Initial release for "general use".

OpenLDAP 2.4.59 Release (2021/06/03)
	Fixed libldap TLSv1.3 cipher suites with OpenSSL 1.1.1 (ITS#9521)
	Fixed libldap double free of LDAP_OPT_DEFBASE (ITS#9530)
	Fixed slapd syncrepl handling of add+delete on single value attr (ITS#9295)
	Fixed slapd-mdb cursor init check (ITS#9526)
	Fixed slapd-mdb deletion of context entry (ITS#9531)
	Fixed slapd-mdb off-by-one affecting search scope (ITS#9557)
	Fixed slapo-pcache locking during expiration (ITS#9529)
	Contrib
		Fixed slapo-autogroup to not thrash thread context (ITS#9494)
	Documentation
		ldap_modify(3) - Delete non-existent mod_next parameter (ITS#9559)

OpenLDAP 2.4.58 Release (2021/03/16)
	Fixed slapd validity checks for issuerAndThisUpdateCheck (ITS#9454)
	Fixed slapd to alloc new conn struct after freeing old one (ITS#9458)
	Fixed slapd syncrepl to check all contextCSNs (ITS#9282)
	Fixed slapd-bdb lockdetect config (ITS#9449)

OpenLDAP 2.4.57 Release (2021/01/18)
	Fixed ldapexop to use correct return code (ITS#9417)
	Fixed slapd to remove asserts in UUIDNormalize (ITS#9391)
	Fixed slapd to remove assert in csnValidate (ITS#9410)
	Fixed slapd validity checks for issuerAndThisUpdateCheck (ITS#9411, ITS#9427)
	Fixed slapd validity checks for serialNumberAndIssuerCheck (ITS#9404, ITS#9424)
	Fixed slapd AVA sort with invalid RDN (ITS#9412)
	Fixed slapd ldap_X509dn2bv to check for invalid BER after RDN count (ITS#9423, ITS#9425)
	Fixed slapd saslauthz to remove asserts in validation (ITS#9406, ITS#9407)
	Fixed slapd saslauthz to use slap_sl_free on normalized DN (ITS#9409)
	Fixed slapd saslauthz SEGV in slap_parse_user (ITS#9413)
	Fixed slapd modrdn memory leak (ITS#9420)
	Fixed slapd double-free in vrfilter (ITS#9408)
	Fixed slapd cancel operation to correctly terminate (ITS#9428)
	Fixed slapd-ldap fix binds on retry with closed connection (ITS#9400)
	Fixed slapo-syncprov to ignore duplicate sessionlog entries (ITS#9394)

OpenLDAP 2.4.56 Release (2020/11/10)
	Fixed slapd to remove assert in certificateListValidate (ITS#9383)
	Fixed slapd to remove assert in csnNormalize23 (ITS#9384)
	Fixed slapd to better parse ldapi listener URIs (ITS#9379)

OpenLDAP 2.4.55 Release (2020/10/26)
	Fixed slapd normalization handling with modrdn (ITS#9370)
	Fixed slapd-meta to check ldap_install_tls return code (ITS#9366)
	Contrib
		Fixed nssov misplaced semicolon (ITS#8731, ITS#9368)

OpenLDAP 2.4.54 Release (2020/10/12)
	Fixed slapd delta-syncrepl to ignore delete ops on deleted entry (ITS#9342)
	Fixed slapd delta-syncrepl to be fully serialized (ITS#9330)
	Fixed slapd delta-syncrepl MOD on zero-length context entry (ITS#9352)
	Fixed slapd syncrepl to be fully serialized (ITS#8102)
	Fixed slapd syncrepl to call check_syncprov on fresh consumer (ITS#9345)
	Fixed slapd syncrepl to propagate errors from overlay_entry_get_ov (ITS#9355)
	Fixed slapd syncrepl to not create empty ADD ops (ITS#9359)
	Fixed slapd syncrepl replace usage on single valued attrs (ITS#9295)
	Fixed slapd-monitor fix monitor_back_register_database for empty suffix DB (ITS#9353)
	Fixed slapo-accesslog normalizer for reqStart (ITS#9358)
	Fixed slapo-accesslog to not generate new contextCSN on purge (ITS#9361)
	Fixed slapo-syncprov contextCSN generation with empty suffix (ITS#9015)
	Fixed slapo-syncprov sessionlog to use a TAVL tree (ITS#8486)

OpenLDAP 2.4.53 Release (2020/09/07)
	Added slapd syncrepl additional SYNC logging (ITS#9043)
	Fixed slapd syncrepl segfault on NULL cookie on REFRESH (ITS#9282)
	Fixed slapd syncrepl to use fresh connection on REFRESH fallback (ITS#9338)
	Fixed slapo-ppolicy race condition for pwdFailureTime (ITS#9302,ITS#9334)
	Build
		Require OpenSSL 1.0.2 or later (ITS#9323)
		Fixed libldap compilation issue with broken C compilers (ITS#9332)

OpenLDAP 2.4.52 Release (2020/08/28)
	Added libldap LDAP_OPT_X_TLS_REQUIRE_SAN option (ITS#9318)
	Added libldap OpenSSL support for multiple EECDH curves (ITS#9054)
	Added slapd OpenSSL support for multiple EECDH curves (ITS#9054)
	Fixed librewrite malloc/free corruption (ITS#9249)
	Fixed libldap hang when using UDP and server down (ITS#9328)
	Fixed slapd syncrepl rare deadlock due to network issues (ITS#9324)
	Fixed slapd syncrepl regression that could trigger an assert (ITS#9329)
	Fixed slapd-mdb index error with collapsed range (ITS#9135)

OpenLDAP 2.4.51 Release (2020/08/11)
	Added slapo-ppolicy implement Netscape password policy controls (ITS#9279)
	Fixed libldap retry loop in ldap_int_tls_connect (ITS#8650)
	Fixed libldap to use getaddrinfo in ldap_pvt_get_fqdn (ITS#9287)
	Fixed slapd to enforce singular existence of some overlays (ITS#9309)
	Fixed slapd syncrepl to not delete non-replicated attrs (ITS#9227)
	Fixed slapd syncrepl to correctly delete entries on resync (ITS#9282)
	Fixed slapd syncrepl to use replace on single valued attrs (ITS#9294, ITS#9295)
	Fixed slapd-perl dynamic config with threaded slapd (ITS#7573)
	Fixed slapo-ppolicy to expose the ppolicy control (ITS#9285)
	Fixed slapo-ppolicy race condition for pwdFailureTime (ITS#9302)
	Fixed slapo-ppolicy so it can only exist once per DB (ITS#9309)
	Fixed slapo-chain to check referral (ITS#9262)
	Build Environment
		Fix test064 so it no longer uses bashisms (ITS#9263)
	Contrib
		Fix default prefix value for pw-argon2, pw-pbkdf2 modules (ITS#9248)
		slapo-allowed - Fix usage of uninitialized variable (ITS#9308)
	Documentation
		ldap_parse_result(3) - Document ldap_parse_intermediate (ITS#9271)
@
text
@d5 1
a5 1
## Copyright 1998-2021 The OpenLDAP Foundation.
d40 1
a40 1
# syncprov either, so no contextCSN) and we convert it to a delta-MPR setup:
d48 1
a48 1
echo "See https://bugs.openldap.org/show_bug.cgi?id=8752 for more information."
d50 1
a50 1
MPR=4
d62 1
a62 1
while [ $n -le $MPR ]; do
d71 2
a72 2
. $CONFFILTER $BACKEND < $ITSDIR/slapd.conf > $CONF1
$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 &
d84 1
a84 1
	$LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \
d161 1
a161 1
echo "Stopping slapd and reworking configuration for MPR..."
d168 1
a168 1
while [ $n -le $MPR ]; do
d173 2
a174 2
	. $CONFFILTER $BACKEND < $ITSDIR/slapd.conf.mpr > $TESTDIR/slapd.conf
	sed -e "s/MPR/$n/g" -e "s/wronglog/log/" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
d176 1
a176 1
	while [ $j -le $MPR ]; do
d185 1
a185 1
	$SLAPD -f $MYCONF -h $MYURI  -d $LVL >> $MYLOG 2>&1 &
d214 1
a214 1
echo "Setting up accesslog on each provider..."
d216 2
a217 2
while [ $n -le $MPR ]; do
	echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on provider $n"
d249 1
a249 1
	while [ $j -le $MPR ]; do
d265 1
a265 1
	while [ $j -lt $MPR ]; do
d290 1
a290 1
echo "Starting random provider/entry modifications..."
d307 1
a307 1
{print int(1+rand()*$MPR)}}"`
d335 1
a335 1
            while [ $j -le $MPR ]; do
d352 1
a352 1
            while [ $j -lt $MPR ]; do
d386 1
a386 1
while [ $n -le $MPR ]; do
d391 2
a392 2
    . $CONFFILTER $BACKEND < $ITSDIR/slapd.conf.mpr > $TESTDIR/slapd.conf
    sed -e "s/MPR/$n/g" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
d394 1
a394 1
    while [ $j -le $MPR ]; do
d403 1
a403 1
    $SLAPD -f $MYCONF -h $MYURI  -d $LVL >> $MYLOG 2>&1 &
d432 1
a432 1
            echo "Starting random provider/entry modifications..."
d437 1
a437 1
                {print int(1+rand()*$MPR)}}"`
d465 1
a465 1
        while [ $j -le $MPR ]; do
d482 1
a482 1
            while [ $j -lt $MPR ]; do
@


1.1.1.4
log
@Import OpenLDAP 2.6.10 (previous was 2.5.6)

A.1. New Features and Enhancements in 2.6
A.1.1. New features in slapd
slapd now supports logging directly to a file, bypassing syslog.

A.1.2. New features in lloadd
lloadd now supports additional balancing mechansims

A.2. Obsolete Features Removed From 2.6
These features were strongly deprecated in 2.5 and removed in 2.6.

A.2.1. back-ndb
The experimental and incomplete back-ndb backend was removed.

See CHANGES for the complete list of bugfixes.
@
text
@d5 1
a5 1
## Copyright 1998-2024 The OpenLDAP Foundation.
@


1.1.1.1.6.1
log
@file its8752 was added on branch phil-wifi on 2020-04-13 07:56:25 +0000
@
text
@d1 513
@


1.1.1.1.6.2
log
@Mostly merge changes from HEAD upto 20200411
@
text
@a0 513
#! /bin/sh
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2019 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
## <http://www.OpenLDAP.org/license.html>.

echo "running defines.sh"
. $SRCDIR/scripts/defines.sh

if test $SYNCPROV = syncprovno; then
	echo "Syncrepl provider overlay not available, test skipped"
	exit 0
fi
if test $ACCESSLOG = accesslogno; then
	echo "Accesslog overlay not available, test skipped"
	exit 0
fi
if test $BACKEND = ldif ; then
	echo "$BACKEND backend unsuitable, test skipped"
	exit 0
fi

dtest=`date +%N|sed s/...$//`

if test $dtest = N; then
	echo "nanosecond date values not supported, test skipped"
	exit 0
fi

# This mimics the scenario where a single server has been used until now (no
# syncprov either, so no contextCSN) and we convert it to a delta-MMR setup:
# 1. stop the server (note that there is likely no contextCSN in the DB at this point)
# 2. configure all servers to delta-replicate from each other and start them up
#    - empty servers will start with a refresh of the main DB
#    - when the refresh is successful they should change over to replicating the log
# 3. keep making changes on all servers to see things still work

echo "This test tracks a case where slapd deadlocks during a significant write load"
echo "See http://www.openldap.org/its/index.cgi/?findid=8752 for more information."

MMR=4
iterations=20000
check_sync_every=100
MAPSIZE=`expr 100 \* 1024 \* 1024`
XDIR=$TESTDIR/srv

mkdir -p $TESTDIR

ITS=8752
ITSDIR=$DATADIR/regressions/its$ITS

n=1
while [ $n -le $MMR ]; do
	DBDIR=${XDIR}$n/db
	mkdir -p ${XDIR}$n $DBDIR.1 $DBDIR.2
	n=`expr $n + 1`
done

KILLPIDS=

echo "Starting slapd on TCP/IP port $PORT1..."
. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf > $CONF1
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
PID=$!
if test $WAIT != 0 ; then
	echo PID $PID
	read foo
fi
KILLPIDS="$PID"

sleep $SLEEP0

echo "Using ldapsearch to check that slapd is running..."
for i in 0 1 2 3 4 5; do
	$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
		'objectclass=*' > /dev/null 2>&1
	RC=$?
	if test $RC = 0 ; then
		break
	fi
	echo "Waiting $SLEEP1 seconds for slapd to start..."
	sleep $SLEEP1
done

if test $RC != 0 ; then
	echo "ldapsearch failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Populating database on first provider..."
$LDAPADD -D $MANAGERDN -H $URI1 -w $PASSWD << EOMODS >> $TESTOUT 2>&1
dn: $BASEDN
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example

dn: ou=People,$BASEDN
objectClass: organizationalUnit
ou: People

dn: ou=Groups,$BASEDN
objectClass: organizationalUnit
ou: Groups

dn: cn=Roger Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit

dn: cn=Baby Herman,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman

dn: cn=Jessica_Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Jessica_Rabbit
sn: Rabbit

dn: cn=Bugs_Bunny,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Bugs_Bunny
sn: Bunny

dn: cn=Daffy_Duck,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Daffy_Duck
sn: Duck

dn: cn=Elmer_Fudd,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Elmer_Fudd
sn: Fudd

dn: cn=Cartoonia,ou=Groups,$BASEDN
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=People,$BASEDN
member: cn=Baby Herman,ou=People,$BASEDN
EOMODS

RC=$?

if test $RC != 0 ; then
	echo "ldapadd failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Stopping slapd and reworking configuration for MMR..."

kill -HUP $KILLPIDS
wait $KILLPIDS

KILLPIDS=
n=1
while [ $n -le $MMR ]; do
	MYURI=`eval echo '$URI'$n`
	MYLOG=`eval echo '$LOG'$n`
	MYCONF=`eval echo '$CONF'$n`
	echo "Starting provider slapd on TCP/IP URI $MYURI"
	. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
	sed -e "s/MMR/$n/g" -e "s/wronglog/log/" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
	j=1
	while [ $j -le $MMR ]; do
		MMCURI=`eval echo '$URI'$j`
		sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
		mv $TESTDIR/slapd.conf $MYCONF
		j=`expr $j + 1`
	done
	if [ -f $TESTDIR/slapd.conf ]; then
		rm -f $TESTDIR/slapd.conf
	fi
	$SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
	PID=$!
	if test $WAIT != 0 ; then
		echo PID $PID
		read foo
	fi
	KILLPIDS="$PID $KILLPIDS"
	sleep $SLEEP1

	echo "Using ldapsearch to check that provider slapd is running..."
	for i in 0 1 2 3 4 5; do
		$LDAPSEARCH -s base -b "" -H $MYURI \
			'objectclass=*' > /dev/null 2>&1
		RC=$?
		if test $RC = 0 ; then
			break
		fi
		echo "Waiting $SLEEP1 seconds for slapd to start..."
		sleep $SLEEP1
	done

	if test $RC != 0 ; then
		echo "ldapsearch failed ($RC)!"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit $RC
	fi
	n=`expr $n + 1`
done

echo "Setting up accesslog on each master..."
n=1
while [ $n -le $MMR ]; do
	echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on master $n"
	MYURI=`eval echo '$URI'$n`
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: cn=Elmer_Fudd,ou=People,$BASEDN
changetype: modify
replace: sn
sn: Fudd
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi
	sleep $SLEEP1
	n=`expr $n + 1`
done

#echo "Letting server 1 establish its own contextCSN..."
#echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on $URI1"
#$LDAPMODIFY -v -D "$MANAGERDN" -H $URI1 -w $PASSWD > \
#    $TESTOUT 2>&1 << EOMODS
#dn: cn=Elmer_Fudd,ou=People,$BASEDN
#changetype: modify
#replace: sn
#sn: Fudd
#EOMODS

for i in 0 1 2 3 4 5; do
	j=1
	while [ $j -le $MMR ]; do
        MYURI=`eval echo '$URI'$j`
		$LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
			'*' '+' >"$TESTDIR/server$j.out" 2>&1
		RC=$?
		if test $RC != 0 ; then
			echo "ldapsearch failed ($RC)!"
			test $KILLSERVERS != no && kill -HUP $KILLPIDS
			exit $RC
		fi
        $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
		j=`expr $j + 1`
	done

	in_sync=1
	j=1
	while [ $j -lt $MMR ]; do
		k=$j
		j=`expr $j + 1`
		$CMP "$TESTDIR/server$k.flt" "$TESTDIR/server$j.flt" > $CMPOUT
		if test $? != 0 ; then
			in_sync=0
		fi
	done
	if test $in_sync = 1; then
		break
	fi

	echo "Waiting $SLEEP1 seconds for servers to catch up..."
	sleep $SLEEP1
done

if test $in_sync = 0; then
	echo "Servers did not replicate in time"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit 1
fi

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting random master/entry modifications..."
DN1="cn=Elmer_Fudd,ou=People,$BASEDN"
VAL1="Fudd"

DN2="cn=Jessica_Rabbit,ou=People,$BASEDN"
VAL2="Rabbit"

DN3="cn=Bugs_Bunny,ou=People,$BASEDN"
VAL3="Bunny"

DN4="cn=Daffy_Duck,ou=People,$BASEDN"
VAL4="Duck"

n=1
while [ $n -le $iterations ]; do
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*$MMR)}}"`
	MYURI=`eval echo '$URI'$rvalue`
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*4)}}"`
	MYDN=`eval echo '$DN'$rvalue`
	MYVAL=`eval echo '$VAL'$rvalue`
	echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi

	if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
		i=1
        echo "Checking replication status before we start iteration $n..."
        for i in 0 1 2 3 4 5; do
            j=1
            while [ $j -le $MMR ]; do
                MYURI=`eval echo '$URI'$j`
                echo "Reading database from server $j..."
                $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                    '*' '+' >"$TESTDIR/server$j.out" 2>&1
                RC=$?
                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
    fi
    n=`expr $n + 1`
done

kill -HUP $KILLPIDS
wait $KILLPIDS

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting servers again, this time with the wrong logbase setting..."
KILLPIDS=
n=1
while [ $n -le $MMR ]; do
    MYURI=`eval echo '$URI'$n`
    MYLOG=`eval echo '$LOG'$n`
    MYCONF=`eval echo '$CONF'$n`
    echo "Starting provider slapd on TCP/IP URI $MYURI"
    . $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
    sed -e "s/MMR/$n/g" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
    j=1
    while [ $j -le $MMR ]; do
        MMCURI=`eval echo '$URI'$j`
        sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
        mv $TESTDIR/slapd.conf $MYCONF
        j=`expr $j + 1`
    done
    if [ -f $TESTDIR/slapd.conf ]; then
        rm -f $TESTDIR/slapd.conf
    fi
    $SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
    PID=$!
    if test $WAIT != 0 ; then
        echo PID $PID
        read foo
    fi
    KILLPIDS="$PID $KILLPIDS"
    sleep $SLEEP1

    echo "Using ldapsearch to check that provider slapd is running..."
    for i in 0 1 2 3 4 5; do
        $LDAPSEARCH -s base -b "" -H $MYURI \
            'objectclass=*' > /dev/null 2>&1
                    RC=$?
                    if test $RC = 0 ; then
                        break
                    fi
                    echo "Waiting $SLEEP1 seconds for slapd to start..."
                    sleep $SLEEP1
                done

                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                n=`expr $n + 1`
            done

            echo "Starting random master/entry modifications..."
            n=1
            while [ $n -le $iterations ]; do
                seed=`date +%N|sed s/...$//`
                rvalue=`echo|awk "BEGIN {srand($seed)
                {print int(1+rand()*$MMR)}}"`
                    MYURI=`eval echo '$URI'$rvalue`
                    seed=`date +%N|sed s/...$//`
                    rvalue=`echo|awk "BEGIN {srand($seed)
                    {print int(1+rand()*4)}}"`
                        MYDN=`eval echo '$DN'$rvalue`
                        MYVAL=`eval echo '$VAL'$rvalue`
                        echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
                        $LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
                            $TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
RC=$?
if test $RC != 0; then
    echo "ldapmodify failed ($RC)"
    test $KILLSERVERS != no && kill -HUP $KILLPIDS
    exit 1
fi

if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
    i=1
    echo "Checking replication status before we start iteration $n..."
    for i in 0 1 2 3 4 5; do
        j=1
        while [ $j -le $MMR ]; do
            MYURI=`eval echo '$URI'$j`
            echo "Reading database from server $j..."
            $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                '*' '+' >"$TESTDIR/server$j.out" 2>&1
                            RC=$?
                            if test $RC != 0 ; then
                                echo "ldapsearch failed ($RC)!"
                                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                                exit $RC
                            fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
	fi
	n=`expr $n + 1`
done

test $KILLSERVERS != no && kill -HUP $KILLPIDS

echo ">>>>> Test succeeded"

test $KILLSERVERS != no && wait

exit 0
@


1.1.1.1.2.1
log
@file its8752 was added on branch netbsd-9 on 2019-08-10 06:17:23 +0000
@
text
@d1 513
@


1.1.1.1.2.2
log
@Pull up following revision(s) (requested by christos in ticket #41):

	external/bsd/openldap/dist/include/openldap.h   up to 1.1.1.1
	external/bsd/openldap/dist/servers/slapd/back-sock/extended.c up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8444/its8444 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8444/slapd-provider1.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8444/slapd-provider2.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8444/slapd-provider3.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8444/slapd-provider4.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8616/its8616 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8616/slapd-provider.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8663/its8663 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8663/slapd-provider.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/accounting.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/administrative.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/its8667 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/janitorial.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/root.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8667/slapd.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8752/its8752 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8752/slapd.conf up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8752/slapd.conf.mmr up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/db.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/its8800 up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/slapd-provider1.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/slapd-provider2.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/slapd-provider3.ldif up to 1.1.1.1
	external/bsd/openldap/dist/tests/data/regressions/its8800/slapd-provider4.ldif up to 1.1.1.1
	external/bsd/openldap/dist/doc/man/man5/slapd-ldbm.5 delete
	external/bsd/openldap/dist/tests/scripts/test058-syncrepl-asymmetric delete
	external/bsd/openldap/dist/ANNOUNCEMENT         up to 1.1.1.7
	external/bsd/openldap/dist/CHANGES              up to 1.1.1.8
	external/bsd/openldap/dist/COPYRIGHT            up to 1.1.1.8
	external/bsd/openldap/dist/INSTALL              up to 1.1.1.7
	external/bsd/openldap/dist/Makefile.in          up to 1.1.1.7
	external/bsd/openldap/dist/README               up to 1.1.1.7
	external/bsd/openldap/dist/configure            up to 1.1.1.7
	external/bsd/openldap/dist/configure.in         up to 1.1.1.7
	external/bsd/openldap/dist/build/dir.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/info.mk        up to 1.1.1.7
	external/bsd/openldap/dist/build/lib-shared.mk  up to 1.1.1.7
	external/bsd/openldap/dist/build/lib-static.mk  up to 1.1.1.7
	external/bsd/openldap/dist/build/lib.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/ltmain.sh      up to 1.1.1.7
	external/bsd/openldap/dist/build/man.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/missing        up to 1.1.1.7
	external/bsd/openldap/dist/build/mkdep          up to 1.1.1.7
	external/bsd/openldap/dist/build/mkdep.aix      up to 1.1.1.7
	external/bsd/openldap/dist/build/mkrelease      up to 1.1.1.7
	external/bsd/openldap/dist/build/mkvers.bat     up to 1.1.1.7
	external/bsd/openldap/dist/build/mkversion      up to 1.8
	external/bsd/openldap/dist/build/mod.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/openldap.m4    up to 1.1.1.7
	external/bsd/openldap/dist/build/rules.mk       up to 1.1.1.7
	external/bsd/openldap/dist/build/srv.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/top.mk         up to 1.1.1.7
	external/bsd/openldap/dist/build/version.h      up to 1.1.1.7
	external/bsd/openldap/dist/build/version.sh     up to 1.1.1.7
	external/bsd/openldap/dist/build/version.var    up to 1.1.1.8
	external/bsd/openldap/dist/clients/Makefile.in  up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/common.c up to 1.8
	external/bsd/openldap/dist/clients/tools/common.h up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapcompare.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapdelete.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapexop.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapmodify.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapmodrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldappasswd.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapsearch.c up to 1.1.1.7
	external/bsd/openldap/dist/clients/tools/ldapurl.c up to 1.1.1.6
	external/bsd/openldap/dist/clients/tools/ldapwhoami.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/COPYRIGHT up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/Makefile.am up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/configure up to 1.1.1.8
	external/bsd/openldap/dist/contrib/ldapc++/configure.in up to 1.1.1.8
	external/bsd/openldap/dist/contrib/ldapc++/version.sh up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/version.var up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/examples/Makefile.am up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/examples/Makefile.in up to 1.1.1.8
	external/bsd/openldap/dist/contrib/ldapc++/examples/main.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/examples/readSchema.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/examples/startTls.cpp up to 1.1.1.5
	external/bsd/openldap/dist/contrib/ldapc++/examples/urlTest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAddRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAddRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAsynConnection.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAsynConnection.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttrType.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttrType.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttribute.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttribute.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttributeList.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPAttributeList.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPBindRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPBindRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPCompareRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPCompareRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPConnection.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPConnection.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPConstraints.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPConstraints.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPControl.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPControl.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPControlSet.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPControlSet.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPDeleteRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPDeleteRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPEntry.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPEntry.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPEntryList.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPEntryList.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPException.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPException.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPExtRequest.cpp up to 1.1.1.5
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPExtRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPExtResult.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPExtResult.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPMessage.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPMessage.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPMessageQueue.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPMessageQueue.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModDNRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModDNRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModList.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModList.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModification.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModification.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModifyRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPModifyRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPObjClass.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPObjClass.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRebind.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRebind.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRebindAuth.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRebindAuth.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPReferenceList.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPReferenceList.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPResult.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPResult.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSaslBindResult.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSaslBindResult.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSchema.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSchema.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchReference.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchReference.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchRequest.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchRequest.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchResult.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchResult.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchResults.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPSearchResults.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPUrl.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPUrl.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPUrlList.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LDAPUrlList.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LdifReader.cpp up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldapc++/src/LdifReader.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LdifWriter.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/LdifWriter.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/Makefile.am up to 1.1.1.8
	external/bsd/openldap/dist/contrib/ldapc++/src/Makefile.in up to 1.1.1.8
	external/bsd/openldap/dist/contrib/ldapc++/src/SaslInteraction.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/SaslInteraction.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/SaslInteractionHandler.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/SaslInteractionHandler.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/StringList.cpp up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/StringList.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/TlsOptions.cpp up to 1.1.1.5
	external/bsd/openldap/dist/contrib/ldapc++/src/TlsOptions.h up to 1.1.1.5
	external/bsd/openldap/dist/contrib/ldapc++/src/debug.h up to 1.1.1.6
	external/bsd/openldap/dist/contrib/ldapc++/src/ac/time.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/ldaptcl/COPYRIGHT up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/acl/README.posixgroup up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/acl/posixgroup.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/addpartial/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/addpartial/addpartial-overlay.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/allop/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/allop/allop.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/allop/slapo-allop.5 up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/allowed/Makefile up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/allowed/README up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/allowed/allowed.c up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/autogroup/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/autogroup/autogroup.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/autogroup/slapo-autogroup.5 up to 1.1.1.2
	external/bsd/openldap/dist/contrib/slapd-modules/cloak/cloak.c up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/cloak/slapo-cloak.5 up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/comp_match/Makefile up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/denyop/denyop.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/dsaschema/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/dsaschema/dsaschema.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/dupent/Makefile up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/dupent/dupent.c up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/kinit/README up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/kinit/kinit.c up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/lastbind/lastbind.c up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/lastbind/slapo-lastbind.5 up to 1.1.1.2
	external/bsd/openldap/dist/contrib/slapd-modules/lastmod/lastmod.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/lastmod/slapo-lastmod.5 up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/noopsrch/Makefile up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/noopsrch/noopsrch.c up to 1.1.1.4
	external/bsd/openldap/dist/contrib/slapd-modules/nops/nops.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/Makefile up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/alias.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/ether.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/group.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/host.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/netgroup.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/network.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/nssov.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/nssov.h up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/pam.c up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/passwd.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/protocol.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/rpc.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/service.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/shadow.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/nssov/slapo-nssov.5 up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/kerberos.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/netscape.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/radius.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/pbkdf2/README up to 1.1.1.3
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/pbkdf2/pw-pbkdf2.c up to 1.1.1.3
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/sha2/README up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/passwd/sha2/slapd-sha2.c up to 1.1.1.6
	external/bsd/openldap/dist/contrib/slapd-modules/proxyOld/Makefile up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/proxyOld/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/proxyOld/proxyOld.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/samba4/Makefile up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/samba4/README up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/samba4/pguid.c up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/samba4/rdnval.c up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/samba4/vernum.c up to 1.1.1.5
	external/bsd/openldap/dist/contrib/slapd-modules/smbk5pwd/Makefile up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/smbk5pwd/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-modules/smbk5pwd/smbk5pwd.c up to 1.1.1.8
	external/bsd/openldap/dist/contrib/slapd-modules/trace/trace.c up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-tools/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapd-tools/statslog up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapi-plugins/addrdnvalues/README up to 1.1.1.7
	external/bsd/openldap/dist/contrib/slapi-plugins/addrdnvalues/addrdnvalues.c up to 1.1.1.7
	external/bsd/openldap/dist/doc/Makefile.in      up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/plain.sdf  up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/preamble.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/Makefile up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/README.spellcheck up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/abstract.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/access-control.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/admin.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-changes.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-common-errors.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-configs.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-contrib.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/appendix-deployments.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-ldap-result-codes.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-recommended-versions.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/appendix-upgrading.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/backends.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/config.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/dbtools.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/glossary.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/guide.html up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/guide.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/index.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/install.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/intro.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/limits.sdf up to 1.1.1.6
	external/bsd/openldap/dist/doc/guide/admin/maintenance.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/master.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/monitoringslapd.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/overlays.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/preface.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/quickstart.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/referrals.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/replication.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/runningslapd.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/sasl.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/schema.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/security.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/slapdconf2.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/slapdconfig.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/title.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/tls.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/admin/troubleshooting.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/admin/tuning.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/images/src/README.fonts up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/release/copyright-plain.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/release/copyright.sdf up to 1.1.1.8
	external/bsd/openldap/dist/doc/guide/release/install.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/release/license-plain.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/guide/release/license.sdf up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/Makefile.in  up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapcompare.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapdelete.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapmodify.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapmodrdn.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldappasswd.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapsearch.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man1/ldapurl.1 up to 1.1.1.6
	external/bsd/openldap/dist/doc/man/man1/ldapwhoami.1 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/lber-decode.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/lber-encode.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/lber-memory.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/lber-sockbuf.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/lber-types.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap.3  up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_abandon.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_add.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_bind.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_compare.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_controls.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_delete.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_dup.3 up to 1.1.1.4
	external/bsd/openldap/dist/doc/man/man3/ldap_error.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_extended_operation.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_first_attribute.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_first_entry.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_first_message.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_first_reference.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_get_dn.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_get_option.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_get_values.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_memory.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_modify.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_modrdn.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_open.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_parse_reference.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_parse_result.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_parse_sort_control.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_parse_vlv_control.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_rename.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_result.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_schema.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_search.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_sort.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_sync.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_tls.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man3/ldap_url.3 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/ldap.conf.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/ldif.5  up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-bdb.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-config.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapd-dnssrv.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-ldap.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapd-ldif.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-mdb.5 up to 1.1.1.4
	external/bsd/openldap/dist/doc/man/man5/slapd-meta.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapd-monitor.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-ndb.5 up to 1.1.1.6
	external/bsd/openldap/dist/doc/man/man5/slapd-null.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-passwd.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-relay.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-shell.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd-sock.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd.access.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapd.backends.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd.conf.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapd.overlays.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapd.plugin.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-accesslog.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-auditlog.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-chain.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-collect.5 up to 1.1.1.6
	external/bsd/openldap/dist/doc/man/man5/slapo-constraint.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapo-dds.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-dyngroup.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-dynlist.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-memberof.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-pbind.5 up to 1.1.1.5
	external/bsd/openldap/dist/doc/man/man5/slapo-pcache.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapo-ppolicy.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-refint.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapo-retcode.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapo-rwm.5 up to 1.1.1.8
	external/bsd/openldap/dist/doc/man/man5/slapo-sssvlv.5 up to 1.1.1.6
	external/bsd/openldap/dist/doc/man/man5/slapo-syncprov.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-translucent.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-unique.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man5/slapo-valsort.5 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapacl.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapadd.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapauth.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapcat.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapd.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapdn.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapindex.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slappasswd.8 up to 1.1.1.7
	external/bsd/openldap/dist/doc/man/man8/slapschema.8 up to 1.1.1.6
	external/bsd/openldap/dist/doc/man/man8/slaptest.8 up to 1.1.1.7
	external/bsd/openldap/dist/include/Makefile.in  up to 1.8
	external/bsd/openldap/dist/include/avl.h        up to 1.1.1.7
	external/bsd/openldap/dist/include/getopt-compat.h up to 1.1.1.7
	external/bsd/openldap/dist/include/lber.h       up to 1.1.1.7
	external/bsd/openldap/dist/include/lber_pvt.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/lber_types.hin up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap.h       up to 1.1.1.8
	external/bsd/openldap/dist/include/ldap_cdefs.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_config.hin up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_defaults.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_features.hin up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_int_thread.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_log.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_pvt.h   up to 1.2
	external/bsd/openldap/dist/include/ldap_pvt_thread.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_pvt_uc.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_queue.h up to 1.6
	external/bsd/openldap/dist/include/ldap_rq.h    up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_schema.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ldap_utf8.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ldif.h       up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil.h      up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil_hash.h up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil_ldap.h up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil_lockf.h up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil_md5.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/lutil_sha1.h up to 1.1.1.7
	external/bsd/openldap/dist/include/portable.hin up to 1.8
	external/bsd/openldap/dist/include/rewrite.h    up to 1.1.1.7
	external/bsd/openldap/dist/include/slapi-plugin.h up to 1.1.1.7
	external/bsd/openldap/dist/include/sysexits-compat.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/alloca.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/assert.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/bytes.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/crypt.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/ctype.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/dirent.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/errno.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/fdset.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/localize.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/param.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/regex.h   up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/setproctitle.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/signal.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/socket.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/stdarg.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/stdlib.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/string.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/sysexits.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/syslog.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/termios.h up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/time.h    up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/unistd.h  up to 1.1.1.7
	external/bsd/openldap/dist/include/ac/wait.h    up to 1.1.1.7
	external/bsd/openldap/dist/libraries/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/assert.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/bprint.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/debug.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/decode.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/dtest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/encode.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/etest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/idtest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/io.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/liblber/lber-int.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/memory.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/nt_err.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/options.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/sockbuf.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblber/stdio.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/Makefile.in up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap/abandon.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/add.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/addentry.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/apitest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/assertion.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/cancel.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/charray.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/controls.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/cyrus.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/dds.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/deref.c up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/dnssrv.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/dntest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/error.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/extended.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/fetch.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/libldap/filter.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/free.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/ftest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/getattr.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/getdn.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/getentry.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/getvalues.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/gssapi.c up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/init.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/ldap-int.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/ldap-tls.h up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/ldap_sync.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/ldif.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/libldap/messages.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/open.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/options.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/os-ip.c up to 1.9
	external/bsd/openldap/dist/libraries/libldap/os-local.c up to 1.10
	external/bsd/openldap/dist/libraries/libldap/pagectrl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/passwd.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/ppolicy.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/print.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/references.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/request.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap/result.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap/sasl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/sbind.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/schema.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/search.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/sort.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/sortctrl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/stctrl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/string.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/t61.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap/test.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/tls2.c up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/tls_g.c up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/tls_m.c up to 1.1.1.6
	external/bsd/openldap/dist/libraries/libldap/tls_o.c up to 1.7
	external/bsd/openldap/dist/libraries/libldap/turn.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/txn.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/url.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/urltest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/utf-8-conv.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/utf-8.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/util-int.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/vlvctrl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap/whoami.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/Makefile.in up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap_r/ldap_thr_debug.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/rdwr.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/rmutex.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/rq.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_cthreads.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_debug.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_nt.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_posix.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_pth.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/thr_stub.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/libldap_r/thr_thr.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/threads.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/libldap_r/tpool.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblmdb/CHANGES up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/COPYRIGHT up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/intro.doc up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/lmdb.h up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mdb.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mdb_copy.1 up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mdb_copy.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mdb_dump.1 up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/mdb_dump.c up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/mdb_load.1 up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/mdb_load.c up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/mdb_stat.1 up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mdb_stat.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/midl.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/midl.h up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest2.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest3.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest4.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest5.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/mtest6.c up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblmdb/sample-bdb.txt up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblmdb/sample-mdb.txt up to 1.1.1.3
	external/bsd/openldap/dist/libraries/liblunicode/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucstr.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/ucdata.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/ucdata.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/ucgendat.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/ucpgba.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/ucpgba.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ucdata/uctable.h up to 1.1.1.4
	external/bsd/openldap/dist/libraries/liblunicode/ure/ure.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ure/ure.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/ure/urestubs.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/utbm/utbm.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/utbm/utbm.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblunicode/utbm/utbmstub.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/avl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/base64.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/detach.c up to 1.6
	external/bsd/openldap/dist/libraries/liblutil/entropy.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/getopt.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/getpass.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/getpeereid.c up to 1.1.1.8
	external/bsd/openldap/dist/libraries/liblutil/hash.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/lockf.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/md5.c up to 1.6
	external/bsd/openldap/dist/libraries/liblutil/memcmp.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/ntservice.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/passfile.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/passwd.c up to 1.7
	external/bsd/openldap/dist/libraries/liblutil/ptest.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/sasl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/setproctitle.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/sha1.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/signal.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/sockpair.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/tavl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/testavl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/testtavl.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/utils.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/liblutil/uuid.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/config.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/context.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/info.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/ldapmap.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/map.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/params.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/parse.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/rewrite-int.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/rewrite-map.h up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/rewrite.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/rule.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/session.c up to 1.5
	external/bsd/openldap/dist/libraries/librewrite/subst.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/var.c up to 1.1.1.7
	external/bsd/openldap/dist/libraries/librewrite/xmap.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/Makefile.in  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/abandon.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/aci.c  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/acl.c  up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/aclparse.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/ad.c   up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/add.c  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/alock.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/alock.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/at.c   up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/attr.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/ava.c  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/backend.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/backglue.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/backover.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/bconfig.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/cancel.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/ch_malloc.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/component.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/component.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/config.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/connection.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/controls.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/cr.c   up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/ctxcsn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/daemon.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/dn.c   up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/entry.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/extended.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/filter.c up to 1.6
	external/bsd/openldap/dist/servers/slapd/filterentry.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/frontend.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/globals.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/index.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/ldapsync.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/limits.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/lock.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/main.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/matchedValues.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/mods.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/module.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/mr.c   up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/mra.c  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/nt_svc.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/oc.c   up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/oidm.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/operation.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/operational.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/passwd.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/phonetic.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/proto-slap.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/referral.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/result.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/root_dse.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/sasl.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/saslauthz.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema_check.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema_init.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/schema_prep.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/schemaparse.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/sets.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/sets.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/sl_malloc.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slap.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/slapacl.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapadd.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapauth.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapcat.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapcommon.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapcommon.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapindex.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slappasswd.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapschema.c up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/slaptest.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/starttls.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/str2filter.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/syncrepl.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/syntax.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/txn.c  up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/user.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/value.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/zn_malloc.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/attr.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-bdb/back-bdb.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/cache.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/dbcache.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/dn2entry.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/dn2id.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-bdb/error.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/extended.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/filterindex.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/id2entry.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/idl.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/idl.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/index.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/key.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/monitor.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-bdb/nextid.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/operational.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/proto-bdb.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/referral.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/tools.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-bdb/trans.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/proto-dnssrv.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/referral.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-dnssrv/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-hdb/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-hdb/back-bdb.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/back-ldap.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-ldap/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/chain.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/config.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-ldap/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/distproc.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/extended.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/init.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-ldap/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/monitor.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldap/pbind.c up to 1.1.1.5
	external/bsd/openldap/dist/servers/slapd/back-ldap/proto-ldap.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-ldap/search.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-ldap/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldif/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ldif/ldif.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-mdb/Makefile.in up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/add.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/attr.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/back-mdb.h up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/bind.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/compare.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/config.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/delete.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/dn2entry.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/dn2id.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/extended.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/filterindex.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/id2entry.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/idl.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/idl.h up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/index.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/init.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/key.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/modify.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/modrdn.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/monitor.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/nextid.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/operational.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/proto-mdb.h up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/referral.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/search.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-mdb/tools.c up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/back-meta/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/back-meta.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-meta/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/candidates.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/config.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-meta/conn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/dncache.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/init.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-meta/map.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/proto-meta.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/search.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-meta/suffixmassage.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-meta/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/back-monitor.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/backend.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/cache.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/conn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/database.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-monitor/entry.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/listener.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/log.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/operation.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/operational.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/overlay.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/proto-back-monitor.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/rww.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/sent.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/thread.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-monitor/time.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-ndb/Makefile.in up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/add.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/back-ndb.h up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/bind.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/compare.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/config.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/delete.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/init.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/modify.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/modrdn.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/ndbio.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/proto-ndb.h up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/search.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-ndb/tools.cpp up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/back-null/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-null/null.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/back-passwd.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/proto-passwd.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-passwd/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/SampleLDAP.pm up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/asperl_undefs.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/close.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/perl_back.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/proto-perl.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-perl/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-relay/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-relay/back-relay.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-relay/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-relay/op.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-relay/proto-back-relay.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/fork.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/proto-shell.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/result.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-shell/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/searchexample.conf up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/searchexample.sh up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/shell.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-shell/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/back-sock.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/opensock.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/proto-sock.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/result.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/back-sock/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/searchexample.conf up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/searchexample.pl up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sock/unbind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/add.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/api.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/back-sql.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/bind.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/compare.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/config.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/delete.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/entry-id.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/init.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/modify.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/operational.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/proto-sql.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/schema-map.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/search.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/sql-wrap.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/util.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/dnreverse.cpp up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/accesslog.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/auditlog.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/collect.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/dds.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/deref.c up to 1.5
	external/bsd/openldap/dist/servers/slapd/overlays/dyngroup.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/dynlist.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/memberof.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/overlays.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/pcache.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/ppolicy.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/refint.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/retcode.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/rwm.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/rwm.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/rwmconf.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/rwmdn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/rwmmap.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/seqmod.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/sssvlv.c up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/overlays/syncprov.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/translucent.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/overlays/unique.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/overlays/valsort.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/README up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/collective.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/collective.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/corba.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/corba.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/core.ldif up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/core.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/cosine.ldif up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/cosine.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/duaconf.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/duaconf.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/dyngroup.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/dyngroup.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/inetorgperson.ldif up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/inetorgperson.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/java.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/java.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/misc.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/misc.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/nis.ldif up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/nis.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/openldap.ldif up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/openldap.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/schema/pmi.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/pmi.schema up to 1.1.1.6
	external/bsd/openldap/dist/servers/slapd/schema/ppolicy.ldif up to 1.1.1.4
	external/bsd/openldap/dist/servers/slapd/schema/ppolicy.schema up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/shell-backends/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/shell-backends/passwd-shell.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/shell-backends/shellutil.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/shell-backends/shellutil.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/plugin.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/slapi/printmsg.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/proto-slapi.h up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/slapi/slapi.h up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_dn.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_ext.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_ops.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_overlay.c up to 1.1.1.8
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_pblock.c up to 1.1.1.7
	external/bsd/openldap/dist/servers/slapd/slapi/slapi_utils.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/Makefile.in    up to 1.1.1.7
	external/bsd/openldap/dist/tests/run.in         up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/ditcontentrules.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/dynlist.out up to 1.1.1.3
	external/bsd/openldap/dist/tests/data/idassert.out up to 1.1.1.2
	external/bsd/openldap/dist/tests/data/memberof.out up to 1.1.1.4
	external/bsd/openldap/dist/tests/data/ndb.conf  up to 1.1.1.6
	external/bsd/openldap/dist/tests/data/retcode.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-2db.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-aci.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-acl.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-cache-master-proxyauthz.conf up to 1.1.1.2
	external/bsd/openldap/dist/tests/data/slapd-cache-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-chain1.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-chain2.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-component.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-dds.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-deltasync-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-deltasync-slave.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-dn.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-dnssrv.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-dynlist.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-emptydn.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-glue-ldap.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-glue-syncrepl1.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-glue-syncrepl2.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-glue.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-idassert.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-ldapglue.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-ldapgluegroups.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-ldapgluepeople.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-limits.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-meta-target1.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-meta-target2.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-meta.conf up to 1.1.1.8
	external/bsd/openldap/dist/tests/data/slapd-nis-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-passwd.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-ppolicy.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-proxyauthz.conf up to 1.1.1.2
	external/bsd/openldap/dist/tests/data/slapd-proxycache.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-pw.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-ref-slave.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-referrals.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-refint.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-relay.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-repl-slave-remote.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-retcode.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-schema.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-sql-syncrepl-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-sql.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-master.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-multiproxy.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-slave-persist-ldap.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-slave-persist1.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-slave-persist3.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-slave-refresh1.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-syncrepl-slave-refresh2.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-translucent-local.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-translucent-remote.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-unique.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-valregex.conf up to 1.1.1.6
	external/bsd/openldap/dist/tests/data/slapd-valsort.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd-whoami.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/slapd2.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/test-idassert1.ldif up to 1.1.1.2
	external/bsd/openldap/dist/tests/data/test.schema up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4184/its4184 up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4326/its4326 up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4326/slapd.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4336/its4336 up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4336/slapd.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4337/its4337 up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4337/slapd.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4448/its4448 up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its4448/slapd-meta.conf up to 1.1.1.7
	external/bsd/openldap/dist/tests/data/regressions/its6794/its6794 up to 1.1.1.4
	external/bsd/openldap/dist/tests/data/regressions/its6794/slapd-glue.conf up to 1.1.1.4
	external/bsd/openldap/dist/tests/data/regressions/its8521/its8521 up to 1.1.1.2
	external/bsd/openldap/dist/tests/progs/Makefile.in up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/ldif-filter.c up to 1.1.1.5
	external/bsd/openldap/dist/tests/progs/slapd-addel.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-bind.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-common.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-common.h up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-modify.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-modrdn.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-mtread.c up to 1.1.1.4
	external/bsd/openldap/dist/tests/progs/slapd-read.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-search.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/progs/slapd-tester.c up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/all    up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/conf.sh up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/defines.sh up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/its-all up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/monitor_data.sh up to 1.1.1.6
	external/bsd/openldap/dist/tests/scripts/passwd-search up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/relay  up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/sql-all up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/sql-test000-read up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/sql-test001-concurrency up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/sql-test900-write up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/sql-test901-syncrepl up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/start-server up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/start-server-nolog up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/start-server2 up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/start-server2-nolog up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/startup_nis_ldap_server.sh up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test000-rootdse up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test001-slapadd up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test002-populate up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test003-search up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test004-modify up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test005-modrdn up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test006-acls up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test008-concurrency up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test009-referral up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test010-passwd up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test011-glue-slapadd up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test012-glue-populate up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test013-language up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test014-whoami up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test015-xsearch up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test016-subref up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test017-syncreplication-refresh up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test018-syncreplication-persist up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test019-syncreplication-cascade up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test020-proxycache up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test021-certificate up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test022-ppolicy up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test023-refint up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test024-unique up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test025-limits up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test026-dn up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test027-emptydn up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test028-idassert up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test029-ldapglue up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test030-relay up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test031-component-filter up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test032-chain up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test033-glue-syncrepl up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test034-translucent up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test035-meta up to 1.1.1.8
	external/bsd/openldap/dist/tests/scripts/test036-meta-concurrency up to 1.1.1.8
	external/bsd/openldap/dist/tests/scripts/test037-manage up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test038-retcode up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test039-glue-ldap-concurrency up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test040-subtree-rename up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test041-aci up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test042-valsort up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test043-delta-syncrepl up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test044-dynlist up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test045-syncreplication-proxied up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test046-dds up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test047-ldap up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test048-syncrepl-multiproxy up to 1.1.1.8
	external/bsd/openldap/dist/tests/scripts/test049-sync-config up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test050-syncrepl-multimaster up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test051-config-undo up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test052-memberof up to 1.1.1.7
	external/bsd/openldap/dist/tests/scripts/test054-syncreplication-parallel-load up to 1.1.1.6
	external/bsd/openldap/dist/tests/scripts/test055-valregex up to 1.1.1.6
	external/bsd/openldap/dist/tests/scripts/test056-monitor up to 1.1.1.6
	external/bsd/openldap/dist/tests/scripts/test057-memberof-refint up to 1.1.1.6
	external/bsd/openldap/dist/tests/scripts/test059-slave-config up to 1.1.1.4
	external/bsd/openldap/dist/tests/scripts/test060-mt-hot up to 1.1.1.4
	external/bsd/openldap/dist/tests/scripts/test061-syncreplication-initiation up to 1.1.1.4
	external/bsd/openldap/dist/tests/scripts/test063-delta-multimaster up to 1.1.1.4
	external/bsd/openldap/dist/tests/scripts/test065-proxyauthz up to 1.1.1.2
	external/bsd/openldap/include/ldap_features.h   up to 1.6
	external/bsd/openldap/include/portable.h        up to 1.8
	doc/3RDPARTY: revision 1.1642

Import OpenLDAP 2.4.48
@
text
@a0 513
#! /bin/sh
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2019 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
## <http://www.OpenLDAP.org/license.html>.

echo "running defines.sh"
. $SRCDIR/scripts/defines.sh

if test $SYNCPROV = syncprovno; then
	echo "Syncrepl provider overlay not available, test skipped"
	exit 0
fi
if test $ACCESSLOG = accesslogno; then
	echo "Accesslog overlay not available, test skipped"
	exit 0
fi
if test $BACKEND = ldif ; then
	echo "$BACKEND backend unsuitable, test skipped"
	exit 0
fi

dtest=`date +%N|sed s/...$//`

if test $dtest = N; then
	echo "nanosecond date values not supported, test skipped"
	exit 0
fi

# This mimics the scenario where a single server has been used until now (no
# syncprov either, so no contextCSN) and we convert it to a delta-MMR setup:
# 1. stop the server (note that there is likely no contextCSN in the DB at this point)
# 2. configure all servers to delta-replicate from each other and start them up
#    - empty servers will start with a refresh of the main DB
#    - when the refresh is successful they should change over to replicating the log
# 3. keep making changes on all servers to see things still work

echo "This test tracks a case where slapd deadlocks during a significant write load"
echo "See http://www.openldap.org/its/index.cgi/?findid=8752 for more information."

MMR=4
iterations=20000
check_sync_every=100
MAPSIZE=`expr 100 \* 1024 \* 1024`
XDIR=$TESTDIR/srv

mkdir -p $TESTDIR

ITS=8752
ITSDIR=$DATADIR/regressions/its$ITS

n=1
while [ $n -le $MMR ]; do
	DBDIR=${XDIR}$n/db
	mkdir -p ${XDIR}$n $DBDIR.1 $DBDIR.2
	n=`expr $n + 1`
done

KILLPIDS=

echo "Starting slapd on TCP/IP port $PORT1..."
. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf > $CONF1
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
PID=$!
if test $WAIT != 0 ; then
	echo PID $PID
	read foo
fi
KILLPIDS="$PID"

sleep $SLEEP0

echo "Using ldapsearch to check that slapd is running..."
for i in 0 1 2 3 4 5; do
	$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
		'objectclass=*' > /dev/null 2>&1
	RC=$?
	if test $RC = 0 ; then
		break
	fi
	echo "Waiting $SLEEP1 seconds for slapd to start..."
	sleep $SLEEP1
done

if test $RC != 0 ; then
	echo "ldapsearch failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Populating database on first provider..."
$LDAPADD -D $MANAGERDN -H $URI1 -w $PASSWD << EOMODS >> $TESTOUT 2>&1
dn: $BASEDN
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example

dn: ou=People,$BASEDN
objectClass: organizationalUnit
ou: People

dn: ou=Groups,$BASEDN
objectClass: organizationalUnit
ou: Groups

dn: cn=Roger Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit

dn: cn=Baby Herman,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman

dn: cn=Jessica_Rabbit,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Jessica_Rabbit
sn: Rabbit

dn: cn=Bugs_Bunny,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Bugs_Bunny
sn: Bunny

dn: cn=Daffy_Duck,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Daffy_Duck
sn: Duck

dn: cn=Elmer_Fudd,ou=People,$BASEDN
objectClass: inetOrgPerson
cn: Elmer_Fudd
sn: Fudd

dn: cn=Cartoonia,ou=Groups,$BASEDN
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=People,$BASEDN
member: cn=Baby Herman,ou=People,$BASEDN
EOMODS

RC=$?

if test $RC != 0 ; then
	echo "ldapadd failed ($RC)!"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit $RC
fi

echo "Stopping slapd and reworking configuration for MMR..."

kill -HUP $KILLPIDS
wait $KILLPIDS

KILLPIDS=
n=1
while [ $n -le $MMR ]; do
	MYURI=`eval echo '$URI'$n`
	MYLOG=`eval echo '$LOG'$n`
	MYCONF=`eval echo '$CONF'$n`
	echo "Starting provider slapd on TCP/IP URI $MYURI"
	. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
	sed -e "s/MMR/$n/g" -e "s/wronglog/log/" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
	j=1
	while [ $j -le $MMR ]; do
		MMCURI=`eval echo '$URI'$j`
		sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
		mv $TESTDIR/slapd.conf $MYCONF
		j=`expr $j + 1`
	done
	if [ -f $TESTDIR/slapd.conf ]; then
		rm -f $TESTDIR/slapd.conf
	fi
	$SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
	PID=$!
	if test $WAIT != 0 ; then
		echo PID $PID
		read foo
	fi
	KILLPIDS="$PID $KILLPIDS"
	sleep $SLEEP1

	echo "Using ldapsearch to check that provider slapd is running..."
	for i in 0 1 2 3 4 5; do
		$LDAPSEARCH -s base -b "" -H $MYURI \
			'objectclass=*' > /dev/null 2>&1
		RC=$?
		if test $RC = 0 ; then
			break
		fi
		echo "Waiting $SLEEP1 seconds for slapd to start..."
		sleep $SLEEP1
	done

	if test $RC != 0 ; then
		echo "ldapsearch failed ($RC)!"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit $RC
	fi
	n=`expr $n + 1`
done

echo "Setting up accesslog on each master..."
n=1
while [ $n -le $MMR ]; do
	echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on master $n"
	MYURI=`eval echo '$URI'$n`
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: cn=Elmer_Fudd,ou=People,$BASEDN
changetype: modify
replace: sn
sn: Fudd
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi
	sleep $SLEEP1
	n=`expr $n + 1`
done

#echo "Letting server 1 establish its own contextCSN..."
#echo "Modifying dn: cn=Elmer_Fudd,ou=People,$BASEDN on $URI1"
#$LDAPMODIFY -v -D "$MANAGERDN" -H $URI1 -w $PASSWD > \
#    $TESTOUT 2>&1 << EOMODS
#dn: cn=Elmer_Fudd,ou=People,$BASEDN
#changetype: modify
#replace: sn
#sn: Fudd
#EOMODS

for i in 0 1 2 3 4 5; do
	j=1
	while [ $j -le $MMR ]; do
        MYURI=`eval echo '$URI'$j`
		$LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
			'*' '+' >"$TESTDIR/server$j.out" 2>&1
		RC=$?
		if test $RC != 0 ; then
			echo "ldapsearch failed ($RC)!"
			test $KILLSERVERS != no && kill -HUP $KILLPIDS
			exit $RC
		fi
        $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
		j=`expr $j + 1`
	done

	in_sync=1
	j=1
	while [ $j -lt $MMR ]; do
		k=$j
		j=`expr $j + 1`
		$CMP "$TESTDIR/server$k.flt" "$TESTDIR/server$j.flt" > $CMPOUT
		if test $? != 0 ; then
			in_sync=0
		fi
	done
	if test $in_sync = 1; then
		break
	fi

	echo "Waiting $SLEEP1 seconds for servers to catch up..."
	sleep $SLEEP1
done

if test $in_sync = 0; then
	echo "Servers did not replicate in time"
	test $KILLSERVERS != no && kill -HUP $KILLPIDS
	exit 1
fi

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting random master/entry modifications..."
DN1="cn=Elmer_Fudd,ou=People,$BASEDN"
VAL1="Fudd"

DN2="cn=Jessica_Rabbit,ou=People,$BASEDN"
VAL2="Rabbit"

DN3="cn=Bugs_Bunny,ou=People,$BASEDN"
VAL3="Bunny"

DN4="cn=Daffy_Duck,ou=People,$BASEDN"
VAL4="Duck"

n=1
while [ $n -le $iterations ]; do
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*$MMR)}}"`
	MYURI=`eval echo '$URI'$rvalue`
	seed=`date +%N|sed s/...$//`
	rvalue=`echo|awk "BEGIN {srand($seed)
{print int(1+rand()*4)}}"`
	MYDN=`eval echo '$DN'$rvalue`
	MYVAL=`eval echo '$VAL'$rvalue`
	echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
	$LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
		$TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
	RC=$?
	if test $RC != 0; then
		echo "ldapmodify failed ($RC)"
		test $KILLSERVERS != no && kill -HUP $KILLPIDS
		exit 1
	fi

	if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
		i=1
        echo "Checking replication status before we start iteration $n..."
        for i in 0 1 2 3 4 5; do
            j=1
            while [ $j -le $MMR ]; do
                MYURI=`eval echo '$URI'$j`
                echo "Reading database from server $j..."
                $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                    '*' '+' >"$TESTDIR/server$j.out" 2>&1
                RC=$?
                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
    fi
    n=`expr $n + 1`
done

kill -HUP $KILLPIDS
wait $KILLPIDS

echo "The next step of the test will perform $iterations random write operations and may take some time."
echo "As this test is for a deadlock, it will take manual intervention to exit the test if one occurs."

echo "Starting servers again, this time with the wrong logbase setting..."
KILLPIDS=
n=1
while [ $n -le $MMR ]; do
    MYURI=`eval echo '$URI'$n`
    MYLOG=`eval echo '$LOG'$n`
    MYCONF=`eval echo '$CONF'$n`
    echo "Starting provider slapd on TCP/IP URI $MYURI"
    . $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.conf.mmr > $TESTDIR/slapd.conf
    sed -e "s/MMR/$n/g" -e "s/@@MAPSIZE@@/$MAPSIZE/" $TESTDIR/slapd.conf > $MYCONF
    j=1
    while [ $j -le $MMR ]; do
        MMCURI=`eval echo '$URI'$j`
        sed -e "s|MMC${j}|${MMCURI}|" $MYCONF > $TESTDIR/slapd.conf
        mv $TESTDIR/slapd.conf $MYCONF
        j=`expr $j + 1`
    done
    if [ -f $TESTDIR/slapd.conf ]; then
        rm -f $TESTDIR/slapd.conf
    fi
    $SLAPD -f $MYCONF -h $MYURI  -d $LVL $TIMING >> $MYLOG 2>&1 &
    PID=$!
    if test $WAIT != 0 ; then
        echo PID $PID
        read foo
    fi
    KILLPIDS="$PID $KILLPIDS"
    sleep $SLEEP1

    echo "Using ldapsearch to check that provider slapd is running..."
    for i in 0 1 2 3 4 5; do
        $LDAPSEARCH -s base -b "" -H $MYURI \
            'objectclass=*' > /dev/null 2>&1
                    RC=$?
                    if test $RC = 0 ; then
                        break
                    fi
                    echo "Waiting $SLEEP1 seconds for slapd to start..."
                    sleep $SLEEP1
                done

                if test $RC != 0 ; then
                    echo "ldapsearch failed ($RC)!"
                    test $KILLSERVERS != no && kill -HUP $KILLPIDS
                    exit $RC
                fi
                n=`expr $n + 1`
            done

            echo "Starting random master/entry modifications..."
            n=1
            while [ $n -le $iterations ]; do
                seed=`date +%N|sed s/...$//`
                rvalue=`echo|awk "BEGIN {srand($seed)
                {print int(1+rand()*$MMR)}}"`
                    MYURI=`eval echo '$URI'$rvalue`
                    seed=`date +%N|sed s/...$//`
                    rvalue=`echo|awk "BEGIN {srand($seed)
                    {print int(1+rand()*4)}}"`
                        MYDN=`eval echo '$DN'$rvalue`
                        MYVAL=`eval echo '$VAL'$rvalue`
                        echo "Modifying $MYURI entry $MYDN with value $MYVAL iteration $n of $iterations"
                        $LDAPMODIFY -v -D "$MANAGERDN" -H $MYURI -w $PASSWD > \
                            $TESTOUT 2>&1 << EOMODS

dn: $MYDN
changetype: modify
replace: sn
sn: $MYVAL
EOMODS
RC=$?
if test $RC != 0; then
    echo "ldapmodify failed ($RC)"
    test $KILLSERVERS != no && kill -HUP $KILLPIDS
    exit 1
fi

if [ "$check_sync_every" -gt 0 ] && [ `expr $n % $check_sync_every` = 0 ]; then
    i=1
    echo "Checking replication status before we start iteration $n..."
    for i in 0 1 2 3 4 5; do
        j=1
        while [ $j -le $MMR ]; do
            MYURI=`eval echo '$URI'$j`
            echo "Reading database from server $j..."
            $LDAPSEARCH -b "$BASEDN" -H "$MYURI" \
                '*' '+' >"$TESTDIR/server$j.out" 2>&1
                            RC=$?
                            if test $RC != 0 ; then
                                echo "ldapsearch failed ($RC)!"
                                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                                exit $RC
                            fi
                $LDIFFILTER -s a < "$TESTDIR/server$j.out" > "$TESTDIR/server$j.flt"
                j=`expr $j + 1`
            done

            in_sync=1
            j=1
            while [ $j -lt $MMR ]; do
                k=`expr $j + 1`
                $CMP "$TESTDIR/server$j.flt" "$TESTDIR/server$k.flt" > $CMPOUT
                if test $? != 0 ; then
                    in_sync=0
                fi
                j=$k
            done
            if test $in_sync = 1; then
                break
            fi

            echo "Waiting $SLEEP1 seconds for servers to catch up..."
            sleep $SLEEP1
        done

        if test $in_sync = 0; then
            echo "Servers did not replicate in time"
            test $KILLSERVERS != no && kill -HUP $KILLPIDS
            exit 1
        fi
	fi
	n=`expr $n + 1`
done

test $KILLSERVERS != no && kill -HUP $KILLPIDS

echo ">>>>> Test succeeded"

test $KILLSERVERS != no && wait

exit 0
@


