]> git.sur5r.net Git - openldap/commitdiff
ITS#3844 fix slap_operational_subschemaSubentry
authorHoward Chu <hyc@openldap.org>
Thu, 7 Jul 2005 17:39:29 +0000 (17:39 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 7 Jul 2005 17:39:29 +0000 (17:39 +0000)
servers/slapd/frontend.c
servers/slapd/operational.c
servers/slapd/slap.h

index f9cfe6f466137c0110dc178e324dc7c27704b8ae..befc06c76615366fe3a5af19c15aa2ceda57abe0 100644 (file)
@@ -82,6 +82,8 @@ frontend_init( void )
        /* info */
        frontendDB->bd_info = &slap_frontendInfo;
 
+       SLAP_BFLAGS(frontendDB) |= SLAP_BFLAG_FRONTEND;
+
        /* name */
        frontendDB->bd_info->bi_type = "frontend";
 
index 44372f596e23fd070c1d58956697c02426f70467..9aec4402b3eaccd34a4ea511ab806f2a99a040c4 100644 (file)
@@ -27,7 +27,7 @@ slap_operational_subschemaSubentry( Backend *be )
        Attribute       *a;
 
        /* The backend wants to take care of it */
-       if ( be && be!= frontendDB && be->be_schemadn.bv_val ) return NULL;
+       if ( be && !SLAP_FRONTEND(be) && be->be_schemadn.bv_val ) return NULL;
 
        a = ch_malloc( sizeof( Attribute ) );
        a->a_desc = slap_schema.si_ad_subschemaSubentry;
index 05fa37faa429dc21cc49145b937e1c47e1db5f13..78a41f14ab125800cf8d5fbd906e538c74653211 100644 (file)
@@ -2111,6 +2111,7 @@ struct slap_backend_info {
        slap_mask_t     bi_flags; /* backend flags */
 #define SLAP_BFLAG_MONITOR                     0x0001U /* a monitor backend */
 #define SLAP_BFLAG_CONFIG                      0x0002U /* a config backend */
+#define SLAP_BFLAG_FRONTEND                    0x0004U /* the frontendD */
 #define SLAP_BFLAG_NOLASTMODCMD                0x0010U
 #define SLAP_BFLAG_INCREMENT           0x0100U
 #define SLAP_BFLAG_ALIASES                     0x1000U
@@ -2121,6 +2122,7 @@ struct slap_backend_info {
 #define SLAP_BFLAGS(be)                ((be)->bd_info->bi_flags)
 #define SLAP_MONITOR(be)       (SLAP_BFLAGS(be) & SLAP_BFLAG_MONITOR)
 #define SLAP_CONFIG(be)                (SLAP_BFLAGS(be) & SLAP_BFLAG_CONFIG)
+#define SLAP_FRONTEND(be)      (SLAP_BFLAGS(be) & SLAP_BFLAG_FRONTEND)
 #define SLAP_INCREMENT(be)     (SLAP_BFLAGS(be) & SLAP_BFLAG_INCREMENT)
 #define SLAP_ALIASES(be)       (SLAP_BFLAGS(be) & SLAP_BFLAG_ALIASES)
 #define SLAP_REFERRALS(be)     (SLAP_BFLAGS(be) & SLAP_BFLAG_REFERRALS)