t = ldap_tavl_next( t, TAVL_DIR_LEFT );
op->o_tmpfree( dp, op->o_tmpmemctx );
} while ( t );
- ldap_tavl_free( gi->gi_DNs, NULL );
f->f_choice = LDAP_FILTER_EQUALITY;
f->f_ava = mbr_f[i].nf_f->f_ava;
mbr_f[i].nf_new = f;
}
+ ldap_tavl_free( gi->gi_DNs, NULL );
}
o.o_bd->bd_info = (BackendInfo *)on->on_info;
op->o_tmpfree( sc, op->o_tmpmemctx );
cn: Roger Rabbit
sn: Rabbit
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
+dn: cn=Tom Riddle,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+cn: Tom Riddle
+sn: Riddle
+
dn: cn=Tweety Bird,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: Tweety Bird
member: cn=Bugs Bunny,ou=People,dc=example,dc=com
member: cn=Tweety Bird,ou=People,dc=example,dc=com
+# Search for non-nested member=cn=Tom Riddle...
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
# Re-search for nested member=cn=Bugs Bunny...
dn: cn=A-M,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
member: cn=Mixer3,ou=Groups,dc=example,dc=com
member: cn=A-M,ou=Groups,dc=example,dc=com
+# Re-search for non-nested member=cn=Tom Riddle...
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
# Search the expanded groups...
dn: cn=A-M,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
member: cn=Roger Rabbit,ou=People,dc=example,dc=com
member: cn=Jessica Rabbit,ou=People,dc=example,dc=com
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
memberOf: cn=Rabbits,ou=Groups,dc=example,dc=com
memberOf: cn=N-Z,ou=Groups,dc=example,dc=com
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
+dn: cn=Tom Riddle,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+cn: Tom Riddle
+sn: Riddle
+memberOf: cn=Strays,ou=Groups,dc=example,dc=com
+
dn: cn=Tweety Bird,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: Tweety Bird
memberOf: cn=Mixer4,ou=Groups,dc=example,dc=com
memberOf: cn=Leporidae,ou=Groups,dc=example,dc=com
+dn: cn=Strays,ou=Groups,dc=example,dc=com
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,dc=example,dc=com
+
+dn: cn=Tom Riddle,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+cn: Tom Riddle
+sn: Riddle
+memberOf: cn=Strays,ou=Groups,dc=example,dc=com
+
dn: cn=Tweety Bird,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
cn: Tweety Bird
cn: Porky Pig
sn: Pig
+dn: cn=Tom Riddle,ou=People,$BASEDN
+objectClass: inetOrgPerson
+cn: Tom Riddle
+sn: Riddle
+
dn: cn=Rabbits,ou=Groups,$BASEDN
objectClass: groupOfNames
cn: Rabbits
member: cn=Wile E. Coyote,ou=People,$BASEDN
member: cn=Endless Loop,ou=Groups,$BASEDN
+dn: cn=Strays,ou=Groups,$BASEDN
+objectClass: groupOfNames
+cn: Strays
+member: cn=Tom Riddle,ou=People,$BASEDN
+
EOF
RC=$?
if test $RC != 0 ; then
exit $RC
fi
+echo "Search for non-nested member=cn=Tom Riddle..."
+echo "# Search for non-nested member=cn=Tom Riddle..." >> $SEARCHOUT
+$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
+ "(member=cn=Tom Riddle,ou=People,$BASEDN)" '*' 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 enable nested member filter..."
$LDAPMODIFY -H $URI1 -D 'cn=config' -w `cat $CONFIGPWF` \
>> $TESTOUT 2>&1 <<EOF
exit $RC
fi
+echo "Re-search for non-nested member=cn=Tom Riddle..."
+echo "# Re-search for non-nested member=cn=Tom Riddle..." >> $SEARCHOUT
+$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \
+ "(member=cn=Tom Riddle,ou=People,$BASEDN)" '*' 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 enable nested member values..."
$LDAPMODIFY -H $URI1 -D 'cn=config' -w `cat $CONFIGPWF` \
>> $TESTOUT 2>&1 <<EOF
member: cn=Wile E. Coyote,ou=People,$BASEDN
member: cn=Endless Loop,ou=Groups,$BASEDN
+dn: cn=Strays,ou=Groups,$BASEDN
+changetype: modify
+replace: member
+member: cn=Tom Riddle,ou=People,$BASEDN
+
EOF
RC=$?
if test $RC != 0 ; then