svn commit: trunk/busybox/networking
vda at busybox.net
vda at busybox.net
Mon Nov 17 15:36:36 UTC 2008
Author: vda
Date: 2008-11-17 07:36:36 -0800 (Mon, 17 Nov 2008)
New Revision: 24074
Log:
nslookup: glibc + IPv6 address of DNS server don't mix (yet)
Modified:
trunk/busybox/networking/nslookup.c
Changeset:
Modified: trunk/busybox/networking/nslookup.c
===================================================================
--- trunk/busybox/networking/nslookup.c 2008-11-17 15:10:13 UTC (rev 24073)
+++ trunk/busybox/networking/nslookup.c 2008-11-17 15:36:36 UTC (rev 24074)
@@ -133,14 +133,19 @@
_res.nsaddr_list[0] = lsa->u.sin;
}
#if ENABLE_FEATURE_IPV6
-// Hoping libc will handle an IPv4 address there too,
-// if it so happens that family is indeed AF_INET
-// if (lsa->u.sa.sa_family == AF_INET6) {
+ /* Hoped libc can cope with IPv4 address there too.
+ * No such luck, glibc 2.4 segfaults even with IPv6,
+ * maybe I misunderstand how to make glibc use IPv6 addr?
+ * (uclibc 0.9.31+ should work) */
+ if (lsa->u.sa.sa_family == AF_INET6) {
+ // glibc neither SEGVs nor sends any dgrams with this
+ // (strace shows no socket ops):
+ //_res.nscount = 0;
_res._u._ext.nscount = 1;
/* store a pointer to part of malloc'ed lsa */
_res._u._ext.nsaddrs[0] = &lsa->u.sin6;
/* must not free(lsa)! */
-// }
+ }
#endif
}
More information about the busybox-cvs
mailing list