From: Ken Hornstein Date: Mon, 24 Jun 2019 16:42:05 +0000 (-0400) Subject: Print port number in the connection error message X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/fcaa3047b2a23fc0c36be518d1ca1ea0b0cb3b66?hp=fe9ab00a6a507867c3ab42101c17630c1217c29f Print port number in the connection error message 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. --- diff --git a/sbr/client.c b/sbr/client.c index 27632538..8d390a81 100644 --- a/sbr/client.c +++ b/sbr/client.c @@ -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);