Author: abartlet
Date: 2006-04-29 20:01:07 +0000 (Sat, 29 Apr 2006)
New Revision: 15329

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15329

Log:
I'm sick of this patch being in my local tree...

Use inet_ntop to convert IPv6 names to strings.  Don't do a reverse
lookup.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/lib/socket/socket_ipv6.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/socket/socket_ipv6.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/socket_ipv6.c  2006-04-29 17:34:49 UTC 
(rev 15328)
+++ branches/SAMBA_4_0/source/lib/socket/socket_ipv6.c  2006-04-29 20:01:07 UTC 
(rev 15329)
@@ -302,7 +302,8 @@
        socklen_t len = sizeof(*peer_addr);
        struct socket_address *peer;
        int ret;
-       struct hostent *he;
+       char addr[128];
+       const char *addr_ret;
        
        peer = talloc(mem_ctx, struct socket_address);
        if (!peer) {
@@ -326,18 +327,18 @@
 
        peer->sockaddrlen = len;
 
-       he = gethostbyaddr((char *)&peer_addr->sin6_addr, len, AF_INET6);
-
-       if (!he || !he->h_name) {
+       addr_ret = inet_ntop(AF_INET6, &peer_addr->sin6_addr, addr, 
sizeof(addr));
+       if (addr_ret == NULL) {
                talloc_free(peer);
                return NULL;
        }
-       
-       peer->addr = talloc_strdup(mem_ctx, he->h_name);
-       if (!peer->addr) {
+
+       peer->addr = talloc_strdup(peer, addr_ret);
+       if (peer->addr == NULL) {
                talloc_free(peer);
                return NULL;
        }
+
        peer->port = ntohs(peer_addr->sin6_port);
 
        return peer;

Reply via email to