--------------------- PatchSet 4660 Date: 2007/05/28 12:49:59 Author: amosjeffries Branch: squid3-ipv6 Tag: (none) Log: Fix: DNS-parser locating wrong IP address in result packet. Members: NOTES-IPv6:1.1.2.22->1.1.2.23 src/ipcache.cc:1.9.2.25->1.9.2.26 Index: squid3/NOTES-IPv6 =================================================================== RCS file: /cvsroot/squid-sf//squid3/Attic/NOTES-IPv6,v retrieving revision 1.1.2.22 retrieving revision 1.1.2.23 diff -u -r1.1.2.22 -r1.1.2.23 --- squid3/NOTES-IPv6 27 May 2007 12:52:44 -0000 1.1.2.22 +++ squid3/NOTES-IPv6 28 May 2007 12:49:59 -0000 1.1.2.23 @@ -1,4 +1,4 @@ -$Id: NOTES-IPv6,v 1.1.2.22 2007/05/27 12:52:44 amosjeffries Exp $ +$Id: NOTES-IPv6,v 1.1.2.23 2007/05/28 12:49:59 amosjeffries Exp $ KNOWN BUGS: @@ -9,6 +9,20 @@ until conversion is completed. +CURRENT BLOCK: + - Somewhere After receiving DNS packets telling IP of upstream source. +Program received signal SIGABRT, Aborted. +0xffffe410 in __kernel_vsyscall () +#0 0xffffe410 in __kernel_vsyscall () +#1 0xb7c60df0 in raise () from /lib/tls/i686/cmov/libc.so.6 +#2 0xb7c62641 in abort () from /lib/tls/i686/cmov/libc.so.6 +#3 0x08089341 in xassert (msg=0x814f517 "address.GetPort() != 0", file=0x814f189 "comm.cc", line=1291) at debug.cc:569 +#4 0x08107bb4 in comm_connect_addr (sock=13, address=@0x856fcf4) at comm.cc:1291 +#5 0x0810905d in ConnectStateData::connect (this=0x856fcd0) at comm.cc:1217 +#6 0x080c7b54 in ipcacheCallback (i=0x8334fcc) at ipcache.cc:271 +#7 0x08097ed0 in FwdState::connectStart (this=0x855b8e0) at forward.cc:889 + + ... And a number of problems caused by the URI handling in Squid. (bug #1961) PROBLEM: Wireshark reports DNS queries looking up hostname A record for @@ -18,13 +32,6 @@ FIXED ?? -... Current Blocking problem in DNS lookups - ( for parent proxy.treenet.co.nz ie 192.168.0.14 locally) -2007/05/27 23:37:44.035| ipcache_nbgethostbyname: HIT for 'proxy.treenet.co.nz' -2007/05/27 23:37:44.035| ipcacheCycleAddr: proxy.treenet.co.nz now at 64.247.84.8 -LOCATION: src/ipcache.cc:452 & 463 - - .... cache.log lines detected showing problems: (after a request for http://[2001:200:0:8002:203:47ff:fea5:3085]/ ) Index: squid3/src/ipcache.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ipcache.cc,v retrieving revision 1.9.2.25 retrieving revision 1.9.2.26 diff -u -r1.9.2.25 -r1.9.2.26 --- squid3/src/ipcache.cc 27 May 2007 12:52:47 -0000 1.9.2.25 +++ squid3/src/ipcache.cc 28 May 2007 12:50:00 -0000 1.9.2.26 @@ -1,6 +1,6 @@ /* - * $Id: ipcache.cc,v 1.9.2.25 2007/05/27 12:52:47 amosjeffries Exp $ + * $Id: ipcache.cc,v 1.9.2.26 2007/05/28 12:50:00 amosjeffries Exp $ * * DEBUG: section 14 IP Cache * AUTHOR: Harvest Derived @@ -447,13 +447,11 @@ if (answers[k].rdlength != sizeof(struct in_addr)) continue; - debugs(14, 3, "ipcacheParse: #" << j << " " << i->addrs.in_addrs[j] <<" (pre)"); - struct in_addr temp; - xmemcpy(&temp, &answers[k].rdata, sizeof(struct in_addr)); + xmemcpy(&temp, answers[k].rdata, sizeof(struct in_addr)); i->addrs.in_addrs[j] = temp; - debugs(14, 3, "ipcacheParse: #" << j << " " << i->addrs.in_addrs[j] << " (post. temp=" << inet_ntoa(temp) << ")"); + debugs(14, 3, "ipcacheParse: #" << j << " " << i->addrs.in_addrs[j]); #if USE_IPV6 } else if (answers[k].type == RFC1035_TYPE_AAAA) { @@ -461,7 +459,7 @@ continue; struct in6_addr temp; - xmemcpy(&temp, &answers[k].rdata, sizeof(struct in6_addr)); + xmemcpy(&temp, answers[k].rdata, sizeof(struct in6_addr)); i->addrs.in_addrs[j] = temp; debugs(14, 3, "ipcacheParse: #" << j << " " << i->addrs.in_addrs[j] );