]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/root_dse.c
ITS#2919 move OpenLDAPtime to OpenLDAPperson
[openldap] / servers / slapd / root_dse.c
index 96450daa39db0b243d133681a8f5d290f15c2ad2..8d18760abea0ecb53ed64d4c39a7a1f52e280f05 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2004 The OpenLDAP Foundation.
+ * Copyright 1999-2005 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,9 +34,10 @@ static struct berval supportedFeatures[] = {
        BER_BVC(LDAP_FEATURE_ABSOLUTE_FILTERS),         /* (&) and (|) search filters */
        BER_BVC(LDAP_FEATURE_LANGUAGE_TAG_OPTIONS), /* Language Tag Options */
        BER_BVC(LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS),/* Language Range Options */
-
-#ifdef LDAP_DEVEL
+#ifdef LDAP_FEATURE_SUBORDINATE_SCOPE
        BER_BVC(LDAP_FEATURE_SUBORDINATE_SCOPE),        /* "children" search scope */
+#endif
+#ifdef LDAP_FEATURE_MODIFY_INCREMENT
        BER_BVC(LDAP_FEATURE_MODIFY_INCREMENT),         /* Modify/increment */
 #endif
        {0,NULL}
@@ -127,7 +128,7 @@ root_dse_info(
                        }
                        continue;
                }
-               if ( SLAP_GLUE_SUBORDINATE( &backends[i] ) ) {
+               if ( SLAP_GLUE_SUBORDINATE( &backends[i] ) && !SLAP_GLUE_ADVERTISE( &backends[i] ) ) {
                        continue;
                }
                for ( j = 0; backends[i].be_suffix[j].bv_val != NULL; j++ ) {
@@ -169,7 +170,7 @@ root_dse_info(
        /* supportedLDAPVersion */
        for ( i=LDAP_VERSION_MIN; i<=LDAP_VERSION_MAX; i++ ) {
                char buf[BUFSIZ];
-               if (!( SLAPD_GLOBAL(allows) & SLAP_ALLOW_BIND_V2 ) &&
+               if (!( global_allows & SLAP_ALLOW_BIND_V2 ) &&
                        ( i < LDAP_VERSION3 ) )
                {
                        /* version 2 and lower are disallowed */
@@ -197,8 +198,8 @@ root_dse_info(
                ldap_charray_free( supportedSASLMechanisms );
        }
 
-       if ( SLAPD_GLOBAL(default_referral) != NULL ) {
-               if( attr_merge( e, ad_ref, SLAPD_GLOBAL(default_referral), NULL /* FIXME */ ) ) {
+       if ( default_referral != NULL ) {
+               if( attr_merge( e, ad_ref, default_referral, NULL /* FIXME */ ) ) {
                        return LDAP_OTHER;
                }
        }