]> 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:45:15 +0000 (03:45 +0000)
committerMark Andrews <marka@isc.org>
Thu, 20 Jul 2006 03:45:15 +0000 (03:45 +0000)
                        the failing address. [RT #15978]

CHANGES
bin/rndc/rndc.c

diff --git a/CHANGES b/CHANGES
index 9c33e24fa21fb0af688c1f35bed463c5cf136ba5..5eff71f0288d12ca78559739e7f6f1ed595a3e15 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 5a79203c063dca52886c51d6ddd013770cfd32ce..c6a9d3460fb2db7690e881d85306dc229068c6e8 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: rndc.c,v 1.96.18.15 2006/03/09 23:46:20 marka Exp $ */
+/* $Id: rndc.c,v 1.96.18.16 2006/07/20 03:45:15 marka Exp $ */
 
 /*! \file */
 
@@ -314,6 +314,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;
@@ -327,17 +328,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));
        }
 
@@ -408,7 +411,7 @@ rndc_start(isc_task_t *task, isc_event_t *event) {
        isc_event_free(&event);
 
        currentaddr = 0;
-       rndc_startconnect(&serveraddrs[currentaddr++], task);
+       rndc_startconnect(&serveraddrs[currentaddr], task);
 }
 
 static void