]> git.sur5r.net Git - openldap/commitdiff
Add root DSE supportedFeatures support.
authorKurt Zeilenga <kurt@openldap.org>
Sun, 9 Sep 2001 04:01:07 +0000 (04:01 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sun, 9 Sep 2001 04:01:07 +0000 (04:01 +0000)
servers/slapd/root_dse.c
servers/slapd/schema/core.schema
servers/slapd/schema_prep.c
servers/slapd/slap.h

index 942364e0057d1ab42f18868ae64a0c2039633341..c208c82e06f9c5252e918d03486e37ff5063d7d4 100644 (file)
 
 #include "slap.h"
 
+static char *supportedFeatures[] = {
+       "1.3.6.1.4.1.4203.1.5.1", /* All Operational Attributes ("+") */
+       NULL
+};
+
+
 int
 root_dse_info(
        Connection *conn,
@@ -36,6 +42,7 @@ root_dse_info(
        AttributeDescription *ad_supportedExtension = slap_schema.si_ad_supportedExtension;
        AttributeDescription *ad_supportedLDAPVersion = slap_schema.si_ad_supportedLDAPVersion;
        AttributeDescription *ad_supportedSASLMechanisms = slap_schema.si_ad_supportedSASLMechanisms;
+       AttributeDescription *ad_supportedFeatures = slap_schema.si_ad_supportedFeatures;
        AttributeDescription *ad_ref = slap_schema.si_ad_ref;
 
        vals[0] = &val;
@@ -80,6 +87,13 @@ root_dse_info(
                attr_merge( e, ad_supportedExtension, vals );
        }
 
+       /* supportedFeatures */
+       for ( i=0; supportedFeatures[i] != NULL; i++ ) {
+               val.bv_val = supportedFeatures[i];
+               val.bv_len = strlen( val.bv_val );
+               attr_merge( e, ad_supportedFeatures, vals );
+       }
+
        /* supportedLDAPVersion */
        for ( i=LDAP_VERSION_MIN; i<=LDAP_VERSION_MAX; i++ ) {
                if (( global_disallows & SLAP_DISALLOW_BIND_V2 ) &&
index cad13de0c5142c190697fa2d0fbe39036f280800..e3b4e9d8e835412f9a48eeb692b1519b2d326d63 100644 (file)
@@ -638,7 +638,17 @@ attributetype ( 1.3.6.1.4.1.250.1.32
        SINGLE-VALUE )
 
 #
-# OpenLDAP specific schema items
+# draft-zeilenga-ldap-features-xx.txt (supportedFeatures)
+#
+attributetype ( 1.3.6.1.4.1.4203.1.3.5
+      NAME 'supportedFeatures'
+      DESC 'features supported by the server'
+      EQUALITY objectIdentifierMatch
+      SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
+      USAGE dSAOperation )
+
+#
+# RFC 3112 (authPassword)
 #
 attributetype ( 1.3.6.1.4.1.4203.666.1.1
        NAME 'authPassword'
@@ -653,6 +663,10 @@ attributetype ( 1.3.6.1.4.1.4203.666.1.2
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32}
        NO-USER-MODIFICATION USAGE dSAOperation )
 
+#
+# OpenLDAP specific schema items
+#
+
 attributetype ( 1.3.6.1.4.1.4203.1.3.1
        NAME 'entry'
        DESC 'OpenLDAP ACL entry pseudo-attribute'
index 9b120884783cdb819391406e91a466e2a288aa52..16efb4c1ee26f02cf4db075b8e149b479e08f31a 100644 (file)
@@ -175,6 +175,8 @@ struct slap_schema_ad_map {
                offsetof(struct slap_internal_schema, si_ad_supportedLDAPVersion) },
        { "supportedSASLMechanisms", NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_supportedSASLMechanisms) },
+       { "supportedFeatures", NULL, NULL, NULL,
+               offsetof(struct slap_internal_schema, si_ad_supportedFeatures) },
 
        /* subschema subentry attributes */
        { "attributeTypes", NULL, NULL, NULL,
index aaefe20868799398c619daabda0641c32ad03128..40e6580b36647e834055cbd8be61e5652125acf2 100644 (file)
@@ -450,6 +450,7 @@ struct slap_internal_schema {
        AttributeDescription *si_ad_supportedExtension;
        AttributeDescription *si_ad_supportedLDAPVersion;
        AttributeDescription *si_ad_supportedSASLMechanisms;
+       AttributeDescription *si_ad_supportedFeatures;
 
        /* subschema subentry attribute descriptions */
        AttributeDescription *si_ad_objectClasses;