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;