mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
Round 2 of subentry changes
This commit is contained in:
parent
9b0585f393
commit
74421a28ec
3 changed files with 20 additions and 1 deletions
|
|
@ -309,6 +309,23 @@ bdb_search(
|
|||
goto loop_continue;
|
||||
}
|
||||
|
||||
if ( is_entry_subentry( e ) ) {
|
||||
if( scope != LDAP_SCOPE_BASE ) {
|
||||
if(!get_subentries_visibility( op )) {
|
||||
/* only subentries are visible */
|
||||
goto loop_continue;
|
||||
}
|
||||
} else if ( get_subentries( op ) &&
|
||||
!get_subentries_visibility( op ))
|
||||
{
|
||||
/* only subentries are visible */
|
||||
goto loop_continue;
|
||||
}
|
||||
} else if ( get_subentries_visibility( op )) {
|
||||
/* only subentries are visible */
|
||||
goto loop_continue;
|
||||
}
|
||||
|
||||
#ifdef BDB_ALIASES
|
||||
if ( deref & LDAP_DEREF_SEARCHING && is_entry_alias( e ) ) {
|
||||
Entry *matched;
|
||||
|
|
|
|||
|
|
@ -800,6 +800,8 @@ LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P((
|
|||
is_entry_objectclass((e), slap_schema.si_oc_alias)
|
||||
#define is_entry_referral(e) \
|
||||
is_entry_objectclass((e), slap_schema.si_oc_referral)
|
||||
#define is_entry_subentry(e) \
|
||||
is_entry_objectclass((e), slap_schema.si_oc_subentry)
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ static struct slap_schema_oc_map {
|
|||
{ "alias", offsetof(struct slap_internal_schema, si_oc_alias) },
|
||||
{ "referral", offsetof(struct slap_internal_schema, si_oc_referral) },
|
||||
{ "LDAProotDSE", offsetof(struct slap_internal_schema, si_oc_rootdse) },
|
||||
{ "LDAPsubentry", offsetof(struct slap_internal_schema, si_oc_subentry) },
|
||||
{ "subentry", offsetof(struct slap_internal_schema, si_oc_subentry) },
|
||||
{ "subschema", offsetof(struct slap_internal_schema, si_oc_subschema) },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue