#define is_entry_subentry(e) \
(((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_SUBENTRY) : \
is_entry_objectclass((e), slap_schema.si_oc_subentry, 1))
-#define is_entry_collectiveAttributes(e) \
- (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_COLLECTIVEATTRIBUTES) : \
- is_entry_objectclass((e), slap_schema.si_oc_collectiveAttributes, 1))
+#define is_entry_collectiveAttributeSubentry(e) \
+ (((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY) : \
+ is_entry_objectclass((e), slap_schema.si_oc_collectiveAttributeSubentry, 1))
#define is_entry_dynamicObject(e) \
(((e)->e_ocflags & SLAP_OC__END) ? ((e)->e_ocflags & SLAP_OC_DYNAMICOBJECT) : \
is_entry_objectclass((e), slap_schema.si_oc_dynamicObject, 1))
int subentry = is_entry_subentry( e );
int collectiveSubentry = 0;
- if( subentry) collectiveSubentry = is_entry_collectiveAttributes( e );
+ if( subentry) collectiveSubentry = is_entry_collectiveAttributeSubentry( e );
*text = textbuf;
if( !collectiveSubentry && is_at_collective( a->a_desc->ad_type ) ) {
snprintf( textbuf, textlen,
- "'%s' can only appear in collectiveAttributes subentry",
+ "'%s' can only appear in collectiveAttributeSubentry",
type );
return LDAP_OBJECT_CLASS_VIOLATION;
}
"STRUCTURAL "
"MUST cn )",
0, 0, offsetof(struct slap_internal_schema, si_oc_monitor) },
- { "collectiveAttributes", "( 2.5.20.2 "
- "NAME 'collectiveAttributes' "
+ { "collectiveAttributeSubentry", "( 2.5.20.2 "
+ "NAME 'collectiveAttributeSubentry' "
"AUXILIARY )",
- subentryObjectClass, SLAP_OC_COLLECTIVEATTRIBUTES,
- offsetof(struct slap_internal_schema, si_oc_collectiveAttributes) },
+ subentryObjectClass, SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY,
+ offsetof(struct slap_internal_schema, si_oc_collectiveAttributeSubentry) },
{ "dynamicObject", "( 1.3.6.1.4.1.1466.101.119.2 "
"NAME 'dynamicObject' "
"DESC 'RFC2589: Dynamic Object' "
"SINGLE-VALUE USAGE directoryOperation )",
NULL, 0, NULL, NULL, NULL,
offsetof(struct slap_internal_schema, si_ad_subschemaSubentry) },
- { "collectiveAttributeSubentry", "( 2.5.18.12 "
- "NAME 'collectiveAttributeSubentry' "
+ { "collectiveAttributeSubentries", "( 2.5.18.12 "
+ "NAME 'collectiveAttributeSubentries' "
"EQUALITY distinguishedNameMatch "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
"USAGE directoryOperation NO-USER-MODIFICATION )",
NULL, 0, NULL, NULL, NULL,
- offsetof(struct slap_internal_schema, si_ad_collectiveSubentry) },
+ offsetof(struct slap_internal_schema, si_ad_collectiveSubentries) },
{ "collectiveExclusions", "( 2.5.18.7 NAME 'collectiveExclusions' "
"EQUALITY objectIdentifierMatch "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
#define SLAP_OC_REFERRAL 0x02
#define SLAP_OC_SUBENTRY 0x04
#define SLAP_OC_DYNAMICOBJECT 0x08
-#define SLAP_OC_COLLECTIVEATTRIBUTES 0x10
+#define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x10
#define SLAP_OC__MASK 0x1F
#define SLAP_OC__END 0x20
ObjectClass *si_oc_subentry;
ObjectClass *si_oc_subschema;
ObjectClass *si_oc_monitor;
- ObjectClass *si_oc_collectiveAttributes;
+ ObjectClass *si_oc_collectiveAttributeSubentry;
ObjectClass *si_oc_dynamicObject;
/* objectClass attribute descriptions */
AttributeDescription *si_ad_modifyTimestamp;
AttributeDescription *si_ad_hasSubordinates;
AttributeDescription *si_ad_subschemaSubentry;
- AttributeDescription *si_ad_collectiveSubentry;
+ AttributeDescription *si_ad_collectiveSubentries;
AttributeDescription *si_ad_collectiveExclusions;
AttributeDescription *si_ad_entryUUID;
AttributeDescription *si_ad_entryCSN;