Entry *entry = NULL;
if ( strcasecmp( nbase, LDAP_ROOT_DSE ) == 0 ) {
- /* check restrictions */
- rc = backend_check_restrictions( NULL, conn, op, NULL, &text ) ;
- if( rc != LDAP_SUCCESS ) {
- send_ldap_result( conn, op, rc,
- NULL, text, NULL, NULL );
- goto return_results;
- }
-
- rc = root_dse_info( conn, &entry, &text );
- }
-
-#if defined( SLAPD_MONITOR_DN )
- else if ( strcasecmp( nbase, SLAPD_MONITOR_DN ) == 0 ) {
- /* check restrictions */
- rc = backend_check_restrictions( NULL, conn, op, NULL, &text ) ;
- if( rc != LDAP_SUCCESS ) {
- send_ldap_result( conn, op, rc,
- NULL, text, NULL, NULL );
+#ifdef LDAP_CONNECTIONLESS
+ /* Ignore LDAPv2 CLDAP DSE queries */
+ if (op->o_protocol==LDAP_VERSION2 && conn->c_is_udp) {
goto return_results;
}
-
- rc = monitor_info( &entry, &text );
- }
#endif
-
-#if defined( SLAPD_CONFIG_DN )
- else if ( strcasecmp( nbase, SLAPD_CONFIG_DN ) == 0 ) {
/* check restrictions */
rc = backend_check_restrictions( NULL, conn, op, NULL, &text ) ;
if( rc != LDAP_SUCCESS ) {
goto return_results;
}
- rc = config_info( &entry, &text );
+ rc = root_dse_info( conn, &entry, &text );
}
-#endif
#if defined( SLAPD_SCHEMA_DN )
else if ( strcasecmp( nbase, SLAPD_SCHEMA_DN ) == 0 ) {
* if we don't hold it.
*/
if ( (be = select_backend( nbase, manageDSAit )) == NULL ) {
+ struct berval **ref = referral_rewrite( default_referral,
+ NULL, base, scope );
+
send_ldap_result( conn, op, rc = LDAP_REFERRAL,
- NULL, NULL, default_referral, NULL );
+ NULL, NULL, ref ? ref : default_referral, NULL );
+ ber_bvecfree( ref );
goto return_results;
}