X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Froot_dse.c;h=13e7a9258a1c018abca4519a37cad61954767eb0;hb=f90ed5aef8f41ee90e1f67b0badbb793cb99f3ed;hp=9da603c89cdd9a38268cf2a5f68a27deb096d95d;hpb=6ba22723213fabbe51abc7ef1a2fc06b90d31e4d;p=openldap diff --git a/servers/slapd/root_dse.c b/servers/slapd/root_dse.c index 9da603c89c..13e7a9258a 100644 --- a/servers/slapd/root_dse.c +++ b/servers/slapd/root_dse.c @@ -88,18 +88,28 @@ root_dse_info( Connection *conn, Operation *op, char **attrs, int attrsonly ) } /* supportedSASLMechanism */ - 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( 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, 0, NULL ); + e, attrs, attrsonly, NULL ); send_search_result( conn, op, LDAP_SUCCESS, NULL, NULL, NULL, NULL, 1 );