--- servers/slapd/root_dse.c 2005/05/06 16:42:51 1.95.2.5 +++ servers/slapd/root_dse.c 2005/05/18 16:29:22 1.95.2.6 @@ -1,5 +1,5 @@ /* root_dse.c - Provides the Root DSA-Specific Entry */ -/* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.95.2.4 2005/04/29 21:29:05 kurt Exp $ */ +/* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.106 2005/05/11 22:46:39 hyc Exp $ */ /* This work is part of OpenLDAP Software . * * Copyright 1999-2005 The OpenLDAP Foundation. @@ -176,14 +176,13 @@ root_dse_info( } /* supportedLDAPVersion */ - for ( i=LDAP_VERSION_MIN; i<=LDAP_VERSION_MAX; i++ ) { + /* don't publish version 2 as we don't really support it + * (even when configured to accept version 2 Bind requests) + * and the value would never be used by true LDAPv2 (or LDAPv3) + * clients. + */ + for ( i=LDAP_VERSION3; i<=LDAP_VERSION_MAX; i++ ) { char buf[BUFSIZ]; - if (!( global_allows & SLAP_ALLOW_BIND_V2 ) && - ( i < LDAP_VERSION3 ) ) - { - /* version 2 and lower are disallowed */ - continue; - } snprintf(buf, sizeof buf, "%d", i); val.bv_val = buf; val.bv_len = strlen( val.bv_val ); @@ -235,11 +234,11 @@ root_dse_info( */ int read_root_dse_file( const char *fname ) { - FILE *fp; + struct LDIFFP *fp; int rc = 0, lineno = 0, lmax = 0; char *buf = NULL; - if ( (fp = fopen( fname, "r" )) == NULL ) { + if ( (fp = ldif_open( fname, "r" )) == NULL ) { Debug( LDAP_DEBUG_ANY, "could not open rootdse attr file \"%s\" - absolute path?\n", fname, 0, 0 ); @@ -251,7 +250,7 @@ int read_root_dse_file( const char *fnam if( usr_attr == NULL ) { Debug( LDAP_DEBUG_ANY, "read_root_dse_file: SLAP_CALLOC failed", 0, 0, 0 ); - fclose( fp ); + ldif_close( fp ); return LDAP_OTHER; } usr_attr->e_attrs = NULL; @@ -303,7 +302,7 @@ int read_root_dse_file( const char *fnam ch_free( buf ); - fclose( fp ); + ldif_close( fp ); Debug(LDAP_DEBUG_CONFIG, "rootDSE file %s read.\n", fname, 0, 0); return rc;