Commit 74421a28 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Round 2 of subentry changes

parent 9b0585f3
...@@ -309,6 +309,23 @@ bdb_search( ...@@ -309,6 +309,23 @@ bdb_search(
goto loop_continue; 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 #ifdef BDB_ALIASES
if ( deref & LDAP_DEREF_SEARCHING && is_entry_alias( e ) ) { if ( deref & LDAP_DEREF_SEARCHING && is_entry_alias( e ) ) {
Entry *matched; Entry *matched;
......
...@@ -800,6 +800,8 @@ LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P(( ...@@ -800,6 +800,8 @@ LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P((
is_entry_objectclass((e), slap_schema.si_oc_alias) is_entry_objectclass((e), slap_schema.si_oc_alias)
#define is_entry_referral(e) \ #define is_entry_referral(e) \
is_entry_objectclass((e), slap_schema.si_oc_referral) 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 { ...@@ -124,7 +124,7 @@ static struct slap_schema_oc_map {
{ "alias", offsetof(struct slap_internal_schema, si_oc_alias) }, { "alias", offsetof(struct slap_internal_schema, si_oc_alias) },
{ "referral", offsetof(struct slap_internal_schema, si_oc_referral) }, { "referral", offsetof(struct slap_internal_schema, si_oc_referral) },
{ "LDAProotDSE", offsetof(struct slap_internal_schema, si_oc_rootdse) }, { "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) }, { "subschema", offsetof(struct slap_internal_schema, si_oc_subschema) },
{ NULL, 0 } { NULL, 0 }
}; };
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment