]> diplodocus.org Git - nmh/commitdiff
Print port number in the connection error message
authorKen Hornstein <kenh@pobox.com>
Mon, 24 Jun 2019 16:42:05 +0000 (12:42 -0400)
committerKen Hornstein <kenh@pobox.com>
Mon, 24 Jun 2019 16:42:05 +0000 (12:42 -0400)
If a connection to a host fails, print the port number in the brief error
message.  This will hopefully eliminate problems when nmh is using a default
port number that users are not expecting.

sbr/client.c

index 27632538491f1f176cbf74b908eeed675923aff8..8d390a816510b54a7ee6c1c89209ec07378ebbbf 100644 (file)
@@ -103,9 +103,18 @@ client (char *server, char *service, char *response, int len_response,
     if (res->ai_next)
        snprintf(response, len_response, "no servers available (use -snoop "
                 "for details)");
-    else
-       snprintf(response, len_response, "Connection to \"%s\" failed: %s",
-                server, strerror(errno));
+    else {
+       char port[NI_MAXSERV];
+
+       if (getnameinfo(res->ai_addr, res->ai_addrlen, NULL, 0, port,
+                       sizeof port, NI_NUMERICSERV)) {
+           strncpy(port, "unknown", sizeof port);
+           port[sizeof(port) - 1] = '\0';
+       }
+
+       snprintf(response, len_response, "Connection to \"%s:%s\" failed: %s",
+                server, port, strerror(errno));
+    }
 
     freeaddrinfo(res);