Commit 0a155934 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Add root DSE supportedFeatures support.

parent 553d80ce
......@@ -17,6 +17,12 @@
#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 ) &&
......
......@@ -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'
......
......@@ -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,
......
......@@ -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;
......
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