]> git.sur5r.net Git - openldap/commitdiff
Clarify error text returned to client
authorKurt Zeilenga <kurt@openldap.org>
Sat, 27 May 2000 00:38:16 +0000 (00:38 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sat, 27 May 2000 00:38:16 +0000 (00:38 +0000)
servers/slapd/back-dnssrv/request.c

index 1c224cfca4c8d24e9afdef58c0bae21350ecf4da..ebe81ad1d89c3f6655f60cbb07e93bcba93839be 100644 (file)
@@ -30,6 +30,13 @@ dnssrv_back_request(
        char **hosts = NULL;
        struct berval **urls = NULL;
 
+       if( ndn == NULL && *ndn == '\0' ) ) {
+               send_ldap_result( conn, op, LDAP_UNWILLING_TO_PERFORM,
+                       NULL, "operation upon null (empty) DN disallowed",
+                       NULL, NULL );
+               goto done;
+       }
+
        if( ldap_dn2domain( dn, &domain ) ) {
                send_ldap_result( conn, op, LDAP_REFERRAL,
                        NULL, NULL, default_referral, NULL );
@@ -45,7 +52,7 @@ dnssrv_back_request(
                Debug( LDAP_DEBUG_TRACE, "DNSSRV: domain2hostlist returned %d\n",
                        rc, 0, 0 );
                send_ldap_result( conn, op, LDAP_NO_SUCH_OBJECT,
-                       NULL, "could not locate DNS SRV records", NULL, NULL );
+                       NULL, "no DNS SRV available for DN", NULL, NULL );
                goto done;
        }
 
@@ -54,7 +61,7 @@ dnssrv_back_request(
        if( hosts == NULL ) {
                Debug( LDAP_DEBUG_TRACE, "DNSSRV: str2charrary error\n", 0, 0, 0 );
                send_ldap_result( conn, op, LDAP_OTHER,
-                       NULL, NULL, NULL, NULL );
+                       NULL, "problem processing DNS SRV records for DN", NULL, NULL );
                goto done;
        }
 
@@ -70,7 +77,8 @@ dnssrv_back_request(
                if( ber_bvecadd( &urls, url ) < 0) {
                        ber_bvfree( url );
                        send_ldap_result( conn, op, LDAP_OTHER,
-                               NULL, NULL, NULL, NULL );
+                               NULL, "problem processing DNS SRV records for DN",
+                               NULL, NULL );
                        goto done;
                }
        }
@@ -84,7 +92,7 @@ dnssrv_back_request(
                urls[0]->bv_val, 0 );
 
        send_ldap_result( conn, op, LDAP_REFERRAL,
-               NULL, NULL, urls, NULL );
+               NULL, "DNS SRV generated referrals", urls, NULL );
 
 done:
        if( domain != NULL ) ch_free( domain );