e->e_attrs = NULL;
e->e_dn = ch_strdup( LDAP_ROOT_DSE );
- e->e_ndn = dn_normalize_case( ch_strdup( LDAP_ROOT_DSE ));
+ e->e_ndn = ch_strdup( LDAP_ROOT_DSE );
+ (void) dn_normalize_case( e->e_ndn );
e->e_private = NULL;
for ( i = 0; i < nbackends; i++ ) {
}
/* supportedSASLMechanism */
- for ( i=0; supportedSASLMechanisms[i] != NULL; i++ ) {
- val.bv_val = supportedSASLMechanisms[i];
- val.bv_len = strlen( val.bv_val );
- attr_merge( e, "supportedSASLMechanism", vals );
+ if( supportedSASLMechanisms != NULL ) {
+ for ( i=0; supportedSASLMechanisms[i] != NULL; i++ ) {
+ val.bv_val = supportedSASLMechanisms[i];
+ val.bv_len = strlen( val.bv_val );
+ attr_merge( e, "supportedSASLMechanisms", vals );
+ }
}
+ if ( default_referral != NULL ) {
+ attr_merge( e, "ref", default_referral );
+ }
+
+ val.bv_val = "top";
+ val.bv_len = sizeof("top")-1;
+ attr_merge( e, "objectClass", vals );
+
+ val.bv_val = "extenisbleObject";
+ val.bv_len = sizeof("extenisbleObject")-1;
+ attr_merge( e, "objectClass", vals );
- send_search_entry( &backends[0], conn, op, e, attrs, attrsonly, 1 );
- send_ldap_search_result( conn, op, LDAP_SUCCESS, NULL, NULL, 1 );
+ send_search_entry( &backends[0], conn, op,
+ e, attrs, attrsonly, NULL );
+ send_search_result( conn, op, LDAP_SUCCESS,
+ NULL, NULL, NULL, NULL, 1 );
entry_free( e );
}