Replace another inet_ntop() call with getnameinfo().
authorWayne Davison <wayned@samba.org>
Sat, 16 Jul 2011 22:42:32 +0000 (15:42 -0700)
committerWayne Davison <wayned@samba.org>
Sat, 16 Jul 2011 23:14:50 +0000 (16:14 -0700)
clientserver.c
socket.c

index 038900e..f3e2c04 100644 (file)
@@ -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);
index 855fc09..dc9e325 100644 (file)
--- 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)