[Bug 192014] New: getaddrinfo(3) broken in jail on loopback
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jul 21 15:20:49 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192014
Bug ID: 192014
Summary: getaddrinfo(3) broken in jail on loopback
Product: Base System
Version: 9.3-RELEASE
Hardware: amd64
OS: Any
Status: Needs Triage
Severity: Affects Many People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: oleg at mamontov.net
It seems like https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=190824
broke getaddrinfo in jail with configured only lo0.
Real life jail example:
[lonerr at tonal ~]% ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether d4:3d:7e:ec:e1:49
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.1.4 netmask 0xffffffff
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33152
After upgrade to 9.3 fetchmail failed to start:
fetchmail: 6.3.26 querying google (protocol IMAP) at Mon Jul 21 19:18:03 2014:
poll started
fetchmail: getaddrinfo("imap.gmail.com","imaps") error: Non-recoverable failure
in name resolution
Simple test program:
[lonerr at tonal ~]% cat gai.c
#include <netdb.h>
#include <stdio.h>
#include <sys/socket.h>
int main() {
struct addrinfo hints, *res;
int rc;
memset(&hints, 0, sizeof(hints));
hints.ai_socktype = SOCK_STREAM;
hints.ai_family = AF_UNSPEC;
hints.ai_flags |= AI_ADDRCONFIG;
printf("rc:%d\n",getaddrinfo("www.freebsd.org", NULL, &hints, &res));
}
Run test program on 9.3-RELEASE-p0 with libc.so.7 from base ditribution:
[lonerr at tonal ~]% ./gai
rc:4
Simple commented out loopback ignoring:
[lonerr at tonal ~]% svn di
Index: lib/libc/net/getaddrinfo.c
===================================================================
--- lib/libc/net/getaddrinfo.c (revision 268939)
+++ lib/libc/net/getaddrinfo.c (working copy)
@@ -1557,8 +1557,10 @@
if (seen_inet)
continue;
sin = (struct sockaddr_in *)(ifa->ifa_addr);
+ /*
if (IN_LOOPBACK(htonl(sin->sin_addr.s_addr)))
continue;
+ */
seen_inet = 1;
break;
#ifdef INET6
Run again after rebuild/reinstall libc.so.7:
[lonerr at tonal ~]% ./gai
rc:0
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list