]> git.sur5r.net Git - openldap/commitdiff
Add monitorContext rootDSE attribute
authorKurt Zeilenga <kurt@openldap.org>
Wed, 19 Jun 2002 06:44:16 +0000 (06:44 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 19 Jun 2002 06:44:16 +0000 (06:44 +0000)
libraries/libldap/os-ip.c
servers/slapd/root_dse.c
servers/slapd/schema_prep.c
servers/slapd/slap.h

index 0084743d8498fe922a32e9aade7835416abbe656..7412a58014d067c5b702ae566db0dd77bff2ed90 100644 (file)
 
 int ldap_int_tblsize = 0;
 
+#if defined( HAVE_GETADDRINFO ) && defined( HAVE_INET_NTOP )
+int ldap_int_inet4or6 = AF_UNSPEC;
+#endif
+
 /*
  * nonblock connect code
  * written by Lars Uffmann, <lars.uffmann@mediaway.net>.
@@ -340,7 +344,7 @@ ldap_connect_to_host(LDAP *ld, Sockbuf *sb,
                struct addrinfo hints, *res, *sai;
 
                memset( &hints, '\0', sizeof(hints) );
-               hints.ai_family = AF_UNSPEC;
+               hints.ai_family = ldap_int_inet4or6;
                hints.ai_socktype = socktype;
 
                snprintf(serv, sizeof serv, "%d", port );
index e4b0b0159b50225fd103235c17f053a4529cec3f..e814c5155d648a5768f3dc2c989f8224f6835483 100644 (file)
@@ -58,6 +58,8 @@ root_dse_info(
                = slap_schema.si_ad_supportedSASLMechanisms;
        AttributeDescription *ad_supportedFeatures
                = slap_schema.si_ad_supportedFeatures;
+       AttributeDescription *ad_monitorContext
+               = slap_schema.si_ad_monitorContext;
        AttributeDescription *ad_ref
                = slap_schema.si_ad_ref;
 
@@ -77,10 +79,6 @@ root_dse_info(
 
        e->e_private = NULL;
 
-       vals[0].bv_val = "OpenLDAProotDSE";
-       vals[0].bv_len = sizeof("OpenLDAProotDSE")-1;
-       attr_merge( e, ad_structuralObjectClass, vals );
-
        vals[0].bv_val = "top";
        vals[0].bv_len = sizeof("top")-1;
        attr_merge( e, ad_objectClass, vals );
@@ -88,9 +86,12 @@ root_dse_info(
        vals[0].bv_val = "OpenLDAProotDSE";
        vals[0].bv_len = sizeof("OpenLDAProotDSE")-1;
        attr_merge( e, ad_objectClass, vals );
+       attr_merge( e, ad_structuralObjectClass, vals );
 
        for ( i = 0; i < nbackends; i++ ) {
                if ( backends[i].be_flags & SLAP_BFLAG_MONITOR ) {
+                       vals[0] = backends[i].be_suffix[0];
+                       attr_merge( e, ad_monitorContext, vals );
                        continue;
                }
                if ( backends[i].be_flags & SLAP_BFLAG_GLUE_SUBORDINATE ) {
index 64d3de2164ce84fde1fcd1194329859cc3549844..53d7433e7ad916068bf4d8edfb939e014f46b727 100644 (file)
@@ -364,6 +364,15 @@ static struct slap_schema_ad_map {
                        "USAGE dSAOperation )",
                rootDseAttribute, 0, NULL, NULL, NULL,
                offsetof(struct slap_internal_schema, si_ad_supportedFeatures) },
+       { "monitorContext", "( 1.3.6.1.4.1.4203.666.1.10 "
+                       "NAME 'monitorContext' "
+                       "DESC 'monitor context' "
+                       "EQUALITY objectIdentifierMatch "
+                       "SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
+                       "SINGLE-VALUE NO-USER-MODIFICATION "
+                       "USAGE dSAOperation )",
+               rootDseAttribute, SLAP_AT_HIDE, NULL, NULL, NULL,
+               offsetof(struct slap_internal_schema, si_ad_monitorContext) },
        { "vendorName", "( 1.3.6.1.1.4 NAME 'vendorName' "
                        "DESC 'RFC3045: name of implementation vendor' "
                        "EQUALITY 1.3.6.1.4.1.1466.109.114.1 "
index ca7967cba1472e9c527959e07da42ff7e24d3d0e..358ac633408191b672fe384e91748b9500ca8097 100644 (file)
@@ -598,6 +598,7 @@ struct slap_internal_schema {
        AttributeDescription *si_ad_supportedLDAPVersion;
        AttributeDescription *si_ad_supportedSASLMechanisms;
        AttributeDescription *si_ad_supportedFeatures;
+       AttributeDescription *si_ad_monitorContext;
        AttributeDescription *si_ad_vendorName;
        AttributeDescription *si_ad_vendorVersion;