#! /bin/sh
# $OpenLDAP$
+## This work is part of OpenLDAP Software <http://www.openldap.org/>.
+##
+## Copyright 1998-2008 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
fi
KILLPIDS="$PID"
+sleep 1
+
echo "Testing slapd modify operations..."
for i in 0 1 2 3 4 5; do
$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
# LEADING COMMENT AND WHITE SPACE
-dn: cn=James A Jones 1,ou=Alumni Association,ou=People,o=University of Michigan,c=US
+dn: cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com
# EMBEDDED COMMENT
changetype: modify
add: drink
add: sn
sn: Jones
-dn: cn=Bjorn Jensen,ou=Information Technology Division,ou=People,o=University of Michigan,c=US
+dn: cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com
changetype: modify
# EMBEDDED COMMENT
CONTINUED
drink: Iced Tea
drink: Mad Dog 20/20
-dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
+dn: cn=ITD Staff,ou=Groups,dc=example,dc=com
changetype: modify
delete: uniquemember
uniquemember: cn=James A Jones 2,ou=Information Technology Division,
- ou=People,o=University of Michigan,c=US
+ ou=People,dc=example,dc=com
uniquemember: cn=Bjorn Jensen,ou=Information Technology Division,
- ou=People,o=University of Michigan,c=US
+ ou=People,dc=example,dc=com
-
add: uniquemember
uniquemember: cn=Dorothy Stevens,ou=Alumni Association,
- ou=People,o=University of Michigan,c=US
+ ou=People,dc=example,dc=com
uniquemember: cn=James A Jones 1,ou=Alumni Association,
- ou=People,o=University of Michigan,c=US
+ ou=People,dc=example,dc=com
+-
+add: objectClass
+objectClass: OpenLDAPdisplayableObject
+objectClass: pkiUser
+objectClass: userSecurityInformation
+-
+delete: objectClass
+objectClass: userSecurityInformation
+objectClass: pkiUser
+objectClass: OpenLDAPdisplayableObject
-dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
+dn: cn=All Staff,ou=Groups,dc=example,dc=com
changetype: modify
delete: member
-
add: member
-member: cn=Dorothy Stevens,ou=Alumni Association,ou=People,o=University of Michigan,c=US
+member: cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com
-
delete: description
+-
+add: objectClass
+objectClass: OpenLDAPdisplayableObject
+objectClass: pkiUser
+objectClass: userSecurityInformation
+-
+delete: objectClass
+objectClass: OpenLDAPdisplayableObject
+objectClass: pkiUser
+objectClass: userSecurityInformation
-dn: cn=Gern Jensen,ou=Information Technology Division,ou=People,o=University of Michigan,c=US
+dn: cn=Gern Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com
changetype: add
-objectclass: OpenLDAPperson
+objectclass: testPerson
cn: Gern Jensen
sn: Jensen
uid: gjensen
title: Chief Investigator, ITD
-postaladdress: ITD $ 535 W. William St $ Ann Arbor, MI 48103
-seealso: cn=All Staff,ou=Groups,o=University of Michigan,c=US
+postaladdress: ITD $ 535 W. William St $ Anytown, MI 48103
+seealso: cn=All Staff,ou=Groups,dc=example,dc=com
drink: Coffee
-homepostaladdress: 844 Brown St. Apt. 4 $ Ann Arbor, MI 48104
+homepostaladdress: 844 Brown St. Apt. 4 $ Anytown, MI 48104
description: Very odd
facsimiletelephonenumber: +1 313 555 7557
telephonenumber: +1 313 555 8343
mail: gjensen@mailgw.example.com
homephone: +1 313 555 8844
+testTime: 20050304001801.234Z
-dn: cn=James A Jones 2,ou=Information Technology Division,ou=People,o=University of Michigan,c=US
+dn: cn=James A Jones 2,ou=Information Technology Division,ou=People,dc=example,dc=com
changetype: delete
# TRAILING COMMENT AND WHITE SPACE
-dn: ou=People,o=University of Michigan,c=US
+dn: ou=People,dc=example,dc=com
changetype: modify
increment: uidNumber
uidNumber: 1
increment: gidNumber
gidNumber: -1
+dn: dc=example,dc=com
+changetype: modify
+# EMPTY SEQUENCE OF CHANGE
+
EOMODS
RC=$?
exit $RC
fi
+echo "Using ldapmodify to add an empty entry (should fail with protocolError)..."
+$LDAPMODIFY -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
+ >> $TESTOUT 2>&1 << EOMODS
+dn: cn=Foo Bar,dc=example,dc=com
+changetype: add
+# EMPTY SEQUENCE OF ATTRS
+EOMODS
+
+RC=$?
+case $RC in
+2)
+ echo " ldapmodify failed ($RC)"
+ ;;
+0)
+ echo " ldapmodify should have failed ($RC)!"
+ test $KILLSERVERS != no && kill -HUP $KILLPIDS
+ exit -1
+ ;;
+*)
+ echo " ldapmodify failed ($RC)!"
+ test $KILLSERVERS != no && kill -HUP $KILLPIDS
+ exit $RC
+ ;;
+esac
+
echo "Using ldapsearch to retrieve all the entries..."
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
'objectClass=*' > $SEARCHOUT 2>&1
fi
echo ">>>>> Test succeeded"
+
+test $KILLSERVERS != no && wait
+
exit 0