mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
For object classes in attribute lists, use '+' (or '-') to indicate
name is an objectClass.
This commit is contained in:
parent
a1da292989
commit
cc7d1433bb
@ -444,8 +444,18 @@ int ad_inlist(
|
||||
* if so, return attributes which the class requires/allows
|
||||
*/
|
||||
oc = attrs->an_oc;
|
||||
if( oc == NULL ) {
|
||||
oc = oc_bvfind( &attrs->an_name );
|
||||
if( oc == NULL && attrs->an_name.bv_val ) {
|
||||
switch( attrs->an_name.bv_val[0] ) {
|
||||
case '+':
|
||||
case '-': {
|
||||
struct berval ocname;
|
||||
ocname.bv_len = attrs->an_name.bv_len - 1;
|
||||
ocname.bv_val = &attrs->an_name.bv_val[1];
|
||||
oc = oc_bvfind( &ocname );
|
||||
} break;
|
||||
default:
|
||||
oc = oc_bvfind( &attrs->an_name );
|
||||
}
|
||||
attrs->an_oc = oc;
|
||||
}
|
||||
if( oc != NULL ) {
|
||||
|
@ -39,7 +39,7 @@ fi
|
||||
|
||||
echo "Using ldapsearch to retrieve the root DSE..."
|
||||
for i in 0 1 2 3 4 5; do
|
||||
$LDAPSEARCH -b "" -s base -h $LOCALHOST -p $PORT 'extensibleObject' > $SEARCHOUT 2>&1
|
||||
$LDAPSEARCH -b "" -s base -h $LOCALHOST -p $PORT '+extensibleObject' > $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC = 0 ; then
|
||||
break
|
||||
@ -50,7 +50,7 @@ done
|
||||
|
||||
if test $RC = 0 -a $MONITORDB = yes ; then
|
||||
echo "Using ldapsearch to retrieve the cn=Monitor..."
|
||||
$LDAPSEARCH -b "cn=Monitor" -s base -h $LOCALHOST -p $PORT 'extensibleObject' >> $SEARCHOUT 2>&1
|
||||
$LDAPSEARCH -b "cn=Monitor" -s base -h $LOCALHOST -p $PORT -- '-extensibleObject' >> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user