]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2052. [bug] 'rndc' improve connect failed message to report
authorMark Andrews <marka@isc.org>
Thu, 20 Jul 2006 03:48:05 +0000 (03:48 +0000)
committerMark Andrews <marka@isc.org>
Thu, 20 Jul 2006 03:48:05 +0000 (03:48 +0000)
                        the failing address. [RT #15978]

CHANGES
bin/rndc/rndc.c

diff --git a/CHANGES b/CHANGES
index 2a4ac40030b3b7951a6e9ce22fe1261f11f9f95b..ac6b5b813e34dd811e2aca89607e8bb3cbcc6f58 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2052.  [bug]           'rndc' improve connect failed message to report
+                       the failing address. [RT #15978]
+
 2051.  [port]          More strtol() fixes. [RT #16249]
 
 2050.  [bug]           Parsing of NSAP records was not case insensitive.
index 6b36c40c3849f694a28d4de4d56046335def76f1..011ecf11dfeef677fb6c0b2603bfd5b5d2350350 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: rndc.c,v 1.77.2.5.2.17 2006/03/02 00:37:20 marka Exp $ */
+/* $Id: rndc.c,v 1.77.2.5.2.18 2006/07/20 03:48:05 marka Exp $ */
 
 /*
  * Principal Author: DCL
@@ -288,6 +288,7 @@ rndc_recvnonce(isc_task_t *task, isc_event_t *event) {
 
 static void
 rndc_connected(isc_task_t *task, isc_event_t *event) {
+       char socktext[ISC_SOCKADDR_FORMATSIZE];
        isc_socketevent_t *sevent = (isc_socketevent_t *)event;
        isccc_sexpr_t *request = NULL;
        isccc_sexpr_t *data;
@@ -301,17 +302,19 @@ rndc_connected(isc_task_t *task, isc_event_t *event) {
        connects--;
 
        if (sevent->result != ISC_R_SUCCESS) {
+               isc_sockaddr_format(&serveraddrs[currentaddr], socktext,
+                                   sizeof(socktext));
                if (sevent->result != ISC_R_CANCELED &&
-                   currentaddr < nserveraddrs)
+                   ++currentaddr < nserveraddrs)
                {
-                       notify("connection failed: %s",
+                       notify("connection failed: %s: %s", socktext,
                               isc_result_totext(sevent->result));
                        isc_socket_detach(&sock);
                        isc_event_free(&event);
-                       rndc_startconnect(&serveraddrs[currentaddr++], task);
+                       rndc_startconnect(&serveraddrs[currentaddr], task);
                        return;
                } else
-                       fatal("connect failed: %s",
+                       fatal("connect failed: %s: %s", socktext,
                              isc_result_totext(sevent->result));
        }
 
@@ -369,7 +372,7 @@ rndc_start(isc_task_t *task, isc_event_t *event) {
        get_addresses(servername, (in_port_t) remoteport);
 
        currentaddr = 0;
-       rndc_startconnect(&serveraddrs[currentaddr++], task);
+       rndc_startconnect(&serveraddrs[currentaddr], task);
 }
 
 static void