Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tero Saarni
OpenLDAP
Commits
41d79ff0
Commit
41d79ff0
authored
Apr 28, 2009
by
Quanah Gibson-Mount
Browse files
ITS#5395
parent
9bb28e33
Changes
4
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
41d79ff0
...
...
@@ -2,6 +2,9 @@ OpenLDAP 2.4 Change Log
OpenLDAP 2.4.17 Engineering
Fixed slapd normalization of updated schema attributes (ITS#5540)
Build Environment
Added test056-monitor (ITS#5540)
Added test057-memberof-refint (ITS#5395)
OpenLDAP 2.4.16 Release (2009/04/05)
Fixed libldap GnuTLS with x509v1 CA certs (ITS#5992)
...
...
tests/data/memberof-refint.out
0 → 100644
View file @
41d79ff0
# Search the entire database...
dn: cn=Baby Herman,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman
memberOf: cn=Cartoonia,ou=Groups,dc=example,dc=com
dn: cn=Cartoonia,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=People,dc=example,dc=com
member: cn=Baby Herman,ou=People,dc=example,dc=com
dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
dn: cn=Roger Rabbit,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit
memberOf: cn=Cartoonia,ou=Groups,dc=example,dc=com
# Re-search the entire database...
dn: cn=Baby Herman,ou=Toons,dc=example,dc=com
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman
memberOf: cn=Cartoonia,ou=Groups,dc=example,dc=com
dn: cn=Cartoonia,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
member: cn=Baby Herman,ou=Toons,dc=example,dc=com
dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit
memberOf: cn=Cartoonia,ou=Groups,dc=example,dc=com
dn: ou=Toons,dc=example,dc=com
objectClass: organizationalUnit
ou: Toons
# Re-search the entire database...
dn: cn=Baby Herman,ou=Toons,dc=example,dc=com
objectClass: inetOrgPerson
cn: Baby Herman
sn: Herman
memberOf: cn=Cartoonia,ou=Studios,dc=example,dc=com
dn: cn=Cartoonia,ou=Studios,dc=example,dc=com
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
member: cn=Baby Herman,ou=Toons,dc=example,dc=com
dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example
dn: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit
memberOf: cn=Cartoonia,ou=Studios,dc=example,dc=com
dn: ou=Studios,dc=example,dc=com
objectClass: organizationalUnit
ou: Studios
dn: ou=Toons,dc=example,dc=com
objectClass: organizationalUnit
ou: Toons
# Re-search the entire database...
dn: cn=Cartoonia,ou=Studios,dc=example,dc=com
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
o: Example, Inc.
dc: example
dn: cn=Roger Rabbit,ou=Toons,dc=example,dc=com
objectClass: inetOrgPerson
cn: Roger Rabbit
sn: Rabbit
memberOf: cn=Cartoonia,ou=Studios,dc=example,dc=com
dn: ou=Studios,dc=example,dc=com
objectClass: organizationalUnit
ou: Studios
dn: ou=Toons,dc=example,dc=com
objectClass: organizationalUnit
ou: Toons
tests/scripts/defines.sh
View file @
41d79ff0
...
...
@@ -350,5 +350,6 @@ ACIOUT=$DATADIR/aci.out
DYNLISTOUT
=
$DATADIR
/dynlist.out
DDSOUT
=
$DATADIR
/dds.out
MEMBEROFOUT
=
$DATADIR
/memberof.out
MEMBEROFREFINTOUT
=
$DATADIR
/memberof-refint.out
SHTOOL
=
"
$SRCDIR
/../build/shtool"
tests/scripts/test057-memberof-refint
0 → 100755
View file @
41d79ff0
#! /bin/sh
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2009 The OpenLDAP Foundation.
## Portions Copyright 2008 Red Hat, Inc.
## 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
$MEMBEROF
=
memberofno
;
then
echo
"Memberof overlay not available, test skipped"
exit
0
fi
if
test
"
$BACKEND
"
!=
"hdb"
;
then
echo
"Test does not support
$BACKEND
"
exit
0
fi
mkdir
-p
$TESTDIR
$DBDIR1
$TESTDIR
/confdir
$SLAPPASSWD
-g
-n
>
$CONFIGPWF
echo
"rootpw
`
$SLAPPASSWD
-T
$CONFIGPWF
`
"
>
$TESTDIR
/configpw.conf
echo
"Starting slapd on TCP/IP port
$PORT1
..."
.
$CONFFILTER
$BACKEND
$MONITORDB
<
$NAKEDCONF
>
$CONF1
$SLAPD
-f
$CONF1
-F
$TESTDIR
/confdir
-h
$URI1
-d
$LVL
$TIMING
>
$LOG1
2>&1 &
PID
=
$!
if
test
$WAIT
!=
0
;
then
echo
PID
$PID
read
foo
fi
KILLPIDS
=
"
$PID
"
sleep
1
for
i
in
0 1 2 3 4 5
;
do
$LDAPSEARCH
-s
base
-b
"
$MONITOR
"
-h
$LOCALHOST
-p
$PORT1
\
'objectclass=*'
>
/dev/null 2>&1
RC
=
$?
if
test
$RC
=
0
;
then
break
fi
echo
"Waiting 5 seconds for slapd to start..."
sleep
5
done
if
test
$RC
!=
0
;
then
echo
"ldapsearch failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
cat
/dev/null
>
$TESTOUT
if
[
"
$MEMBEROF
"
=
memberofmod
]
;
then
echo
"Inserting memberof overlay on producer..."
$LDAPADD
-D
cn
=
config
-H
$URI1
-y
$CONFIGPWF
<<
EOF
>
$TESTOUT
2>&1
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: ../servers/slapd/overlays
olcModuleLoad: memberof.la
olcModuleLoad: refint.la
EOF
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapadd failed for moduleLoad (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
fi
echo
"Running ldapadd to build slapd config database..."
$LDAPADD
-h
$LOCALHOST
-p
$PORT1
-D
'cn=config'
-w
`
cat
$CONFIGPWF
`
\
>>
$TESTOUT
2>&1
<<
EOF
dn: olcDatabase={1}
$BACKEND
,cn=config
objectClass: olcDatabaseConfig
objectClass: olc
${
BACKEND
}
Config
olcDatabase: {1}
$BACKEND
olcSuffix:
$BASEDN
olcRootDN: cn=Manager,
$BASEDN
olcRootPW:: c2VjcmV0
olcMonitoring: TRUE
olcDbDirectory:
$TESTDIR
/db.1.a/
olcDbCacheSize: 1000
olcDbIndex: objectClass eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid pres,eq,sub
olcDbIndex: sn pres,eq,sub
olcDbMode: 384
# {0}memberof, {1}
$BACKEND
, config
dn: olcOverlay={0}memberof,olcDatabase={1}
$BACKEND
,cn=config
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: {0}memberof
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
# {1}refint, {1}
$BACKEND
, config
dn: olcOverlay={1}refint,olcDatabase={1}
$BACKEND
,cn=config
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
olcOverlay: {1}refint
olcRefintAttribute: member
olcRefintAttribute: memberOf
EOF
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapadd failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
echo
"Running ldapadd to build slapd database..."
$LDAPADD
-h
$LOCALHOST
-p
$PORT1
\
-D
"cn=Manager,
$BASEDN
"
-w
secret
\
>>
$TESTOUT
2>&1
<<
EOF
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=Cartoonia,ou=Groups,
$BASEDN
objectClass: groupOfNames
cn: Cartoonia
member: cn=Roger Rabbit,ou=People,
$BASEDN
member: cn=Baby Herman,ou=People,
$BASEDN
EOF
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapadd failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
echo
"Search the entire database..."
echo
"# Search the entire database..."
>>
$SEARCHOUT
$LDAPSEARCH
-S
""
-b
"
$BASEDN
"
-h
$LOCALHOST
-p
$PORT1
\
'(objectClass=*)'
'*'
memberOf
>>
$SEARCHOUT
2>&1
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapsearch failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
echo
"Running ldapmodify to rename subtree..."
$LDAPMODIFY
-h
$LOCALHOST
-p
$PORT1
\
-D
"cn=Manager,
$BASEDN
"
-w
secret
\
>>
$TESTOUT
2>&1
<<
EOF
dn: ou=People,
$BASEDN
changetype: modrdn
newrdn: ou=Toons
deleteoldrdn:1
newsuperior:
$BASEDN
EOF
echo
"Re-search the entire database..."
echo
"# Re-search the entire database..."
>>
$SEARCHOUT
$LDAPSEARCH
-S
""
-b
"
$BASEDN
"
-h
$LOCALHOST
-p
$PORT1
\
'(objectClass=*)'
'*'
memberOf
>>
$SEARCHOUT
2>&1
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapsearch failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
echo
"Running ldapmodify to rename subtree..."
$LDAPMODIFY
-h
$LOCALHOST
-p
$PORT1
\
-D
"cn=Manager,
$BASEDN
"
-w
secret
\
>>
$TESTOUT
2>&1
<<
EOF
dn: ou=Groups,
$BASEDN
changetype: modrdn
newrdn: ou=Studios
deleteoldrdn:1
newsuperior:
$BASEDN
EOF
echo
"Re-search the entire database..."
echo
"# Re-search the entire database..."
>>
$SEARCHOUT
$LDAPSEARCH
-S
""
-b
"
$BASEDN
"
-h
$LOCALHOST
-p
$PORT1
\
'(objectClass=*)'
'*'
memberOf
>>
$SEARCHOUT
2>&1
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapsearch failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
echo
"Running ldapdelete to remove a member..."
$LDAPMODIFY
-h
$LOCALHOST
-p
$PORT1
\
-D
"cn=Manager,
$BASEDN
"
-w
secret
\
>>
$TESTOUT
2>&1
<<
EOF
dn: cn=Baby Herman,ou=Toons,
$BASEDN
changetype: delete
EOF
echo
"Re-search the entire database..."
echo
"# Re-search the entire database..."
>>
$SEARCHOUT
$LDAPSEARCH
-S
""
-b
"
$BASEDN
"
-h
$LOCALHOST
-p
$PORT1
\
'(objectClass=*)'
'*'
memberOf
>>
$SEARCHOUT
2>&1
RC
=
$?
if
test
$RC
!=
0
;
then
echo
"ldapsearch failed (
$RC
)!"
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
exit
$RC
fi
test
$KILLSERVERS
!=
no
&&
kill
-HUP
$KILLPIDS
LDIF
=
$MEMBEROFREFINTOUT
echo
"Filtering ldapsearch results..."
.
$LDIFFILTER
<
$SEARCHOUT
>
$SEARCHFLT
echo
"Filtering original ldif used to create database..."
.
$LDIFFILTER
<
$LDIF
>
$LDIFFLT
echo
"Comparing filter output..."
$CMP
$SEARCHFLT
$LDIFFLT
>
$CMPOUT
if
test
$?
!=
0
;
then
echo
"Comparison failed"
exit
1
fi
echo
">>>>> Test succeeded"
test
$KILLSERVERS
!=
no
&&
wait
exit
0
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment