Diff for /servers/slapd/root_dse.c between versions 1.61 and 1.61.2.5

version 1.61, 2002/02/15 15:33:44 version 1.61.2.5, 2002/08/29 02:10:44
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.60 2002/02/15 15:27:31 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.61.2.4 2002/07/28 19:17:38 kurt Exp $ */
 /* root_dse.c - Provides the ROOT DSA-Specific Entry  /* root_dse.c - Provides the ROOT DSA-Specific Entry
  *   *
  * Copyright 1999-2002 The OpenLDAP Foundation.   * Copyright 1999-2002 The OpenLDAP Foundation.
Line 17 Line 17
   
 #include "slap.h"  #include "slap.h"
 #include <ldif.h>  #include <ldif.h>
   #include "lber_pvt.h"
 #define BVC(x) {sizeof(x)-1, x}  
   
 static struct berval supportedFeatures[] = {  static struct berval supportedFeatures[] = {
         BVC("1.3.6.1.4.1.4203.1.5.1"), /* all Operational Attributes ("+") */          BER_BVC(LDAP_FEATURE_ALL_OPERATIONAL_ATTRS), /* all Operational Attributes ("+") */
         BVC("1.3.6.1.4.1.4203.1.5.2"), /* OCs in Attributes List */          BER_BVC(LDAP_FEATURE_OBJECTCLASS_ATTRS), /* OCs in Attributes List */
         BVC("1.3.6.1.4.1.4203.1.5.3"), /* (&) and (|) search filters */          BER_BVC(LDAP_FEATURE_ABSOLUTE_FILTERS), /* (&) and (|) search filters */
         BVC("1.3.6.1.4.1.4203.1.5.4"), /* Language Tag Options */          BER_BVC(LDAP_FEATURE_LANGUAGE_TAG_OPTIONS), /* Language Tag Options */
         BVC("1.3.6.1.4.1.4203.1.5.5"), /* Language Range Options */          BER_BVC(LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS), /* Language Range Options */
         {0,NULL}          {0,NULL}
 };  };
   
Line 37  root_dse_info( Line 36  root_dse_info(
         Entry **entry,          Entry **entry,
         const char **text )          const char **text )
 {  {
         char buf[BUFSIZ];  
         Entry           *e;          Entry           *e;
         struct berval   vals[2], *bv;          struct berval   vals[2], *bv;
         int             i, j;          int             i, j;
Line 59  root_dse_info( Line 57  root_dse_info(
                 = slap_schema.si_ad_supportedSASLMechanisms;                  = slap_schema.si_ad_supportedSASLMechanisms;
         AttributeDescription *ad_supportedFeatures          AttributeDescription *ad_supportedFeatures
                 = slap_schema.si_ad_supportedFeatures;                  = slap_schema.si_ad_supportedFeatures;
           AttributeDescription *ad_monitorContext
                   = slap_schema.si_ad_monitorContext;
         AttributeDescription *ad_ref          AttributeDescription *ad_ref
                 = slap_schema.si_ad_ref;                  = slap_schema.si_ad_ref;
   
Line 78  root_dse_info( Line 78  root_dse_info(
   
         e->e_private = NULL;          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_val = "top";
         vals[0].bv_len = sizeof("top")-1;          vals[0].bv_len = sizeof("top")-1;
         attr_merge( e, ad_objectClass, vals );          attr_merge( e, ad_objectClass, vals );
Line 89  root_dse_info( Line 85  root_dse_info(
         vals[0].bv_val = "OpenLDAProotDSE";          vals[0].bv_val = "OpenLDAProotDSE";
         vals[0].bv_len = sizeof("OpenLDAProotDSE")-1;          vals[0].bv_len = sizeof("OpenLDAProotDSE")-1;
         attr_merge( e, ad_objectClass, vals );          attr_merge( e, ad_objectClass, vals );
           attr_merge( e, ad_structuralObjectClass, vals );
   
         for ( i = 0; i < nbackends; i++ ) {          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 ) {                  if ( backends[i].be_flags & SLAP_BFLAG_GLUE_SUBORDINATE ) {
                         continue;                          continue;
                 }                  }
                 for ( j = 0; backends[i].be_suffix[j] != NULL; j++ ) {                  for ( j = 0; backends[i].be_suffix[j].bv_val != NULL; j++ ) {
                         vals[0] = *backends[i].be_suffix[j];                          vals[0] = backends[i].be_suffix[j];
                         attr_merge( e, ad_namingContexts, vals );                          attr_merge( e, ad_namingContexts, vals );
                 }                  }
         }          }
Line 119  root_dse_info( Line 121  root_dse_info(
   
         /* supportedLDAPVersion */          /* supportedLDAPVersion */
         for ( i=LDAP_VERSION_MIN; i<=LDAP_VERSION_MAX; i++ ) {          for ( i=LDAP_VERSION_MIN; i<=LDAP_VERSION_MAX; i++ ) {
                   char buf[BUFSIZ];
                 if (!( global_allows & SLAP_ALLOW_BIND_V2 ) &&                  if (!( global_allows & SLAP_ALLOW_BIND_V2 ) &&
                         ( i < LDAP_VERSION3 ) )                          ( i < LDAP_VERSION3 ) )
                 {                  {
                         /* version 2 and lower are disallowed */                          /* version 2 and lower are disallowed */
                         continue;                          continue;
                 }                  }
                 sprintf(buf,"%d",i);                  snprintf(buf, sizeof buf, "%d", i);
                 vals[0].bv_val = buf;                  vals[0].bv_val = buf;
                 vals[0].bv_len = strlen( vals[0].bv_val );                  vals[0].bv_len = strlen( vals[0].bv_val );
                 attr_merge( e, ad_supportedLDAPVersion, vals );                  attr_merge( e, ad_supportedLDAPVersion, vals );
Line 140  root_dse_info( Line 143  root_dse_info(
                         vals[0].bv_len = strlen( vals[0].bv_val );                          vals[0].bv_len = strlen( vals[0].bv_val );
                         attr_merge( e, ad_supportedSASLMechanisms, vals );                          attr_merge( e, ad_supportedSASLMechanisms, vals );
                 }                  }
                 charray_free( supportedSASLMechanisms );                  ldap_charray_free( supportedSASLMechanisms );
         }          }
   
         if ( default_referral != NULL ) {          if ( default_referral != NULL ) {

Removed from v.1.61  
changed lines
  Added in v.1.61.2.5


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org