From: Wayne Davison Date: Sat, 16 Jul 2011 22:42:32 +0000 (-0700) Subject: Replace another inet_ntop() call with getnameinfo(). X-Git-Tag: v3.0.9pre2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0d07c098724ee8c382a498cab991f7d8467d778;p=thirdparty%2Frsync.git Replace another inet_ntop() call with getnameinfo(). --- diff --git a/clientserver.c b/clientserver.c index 038900ea..f3e2c043 100644 --- a/clientserver.c +++ b/clientserver.c @@ -1071,7 +1071,7 @@ int daemon_main(void) rprintf(FLOG, "rsyncd version %s starting, listening on port %d\n", RSYNC_VERSION, rsync_port); /* TODO: If listening on a particular address, then show that - * address too. In fact, why not just do inet_ntop on the + * address too. In fact, why not just do getnameinfo on the * local address??? */ start_accept_loop(rsync_port, start_daemon); diff --git a/socket.c b/socket.c index 855fc09f..dc9e325a 100644 --- a/socket.c +++ b/socket.c @@ -300,9 +300,8 @@ int open_socket_out(char *host, int port, const char *bind_addr, if (verbose >= 3) { char buf[2048]; if ((error = getnameinfo(res->ai_addr, res->ai_addrlen, buf, sizeof buf, NULL, 0, NI_NUMERICHOST) != 0)) - rprintf(FINFO, "error in getnameinfo: %s\n", gai_strerror(error)); - else - rprintf(FINFO, "Connected to %s (%s)\n", h, buf); + snprintf(buf, sizeof buf, "*getnameinfo failure: %s*", gai_strerror(error)); + rprintf(FINFO, "Connected to %s (%s)\n", h, buf); } break; } @@ -312,8 +311,8 @@ int open_socket_out(char *host, int port, const char *bind_addr, for (res = res0, j = 0; res; res = res->ai_next, j++) { if (errnos[j] == 0) continue; - if (inet_ntop(res->ai_family, res->ai_addr->sa_data + 2, buf, sizeof buf) == NULL) - strlcpy(buf, "*inet_ntop failed*", sizeof buf); + if ((error = getnameinfo(res->ai_addr, res->ai_addrlen, buf, sizeof buf, NULL, 0, NI_NUMERICHOST) != 0)) + snprintf(buf, sizeof buf, "*getnameinfo failure: %s*", gai_strerror(error)); rsyserr(FERROR, errnos[j], "failed to connect to %s (%s)", h, buf); } if (s < 0)