--------------------- PatchSet 5405 Date: 2007/08/21 23:42:13 Author: amosjeffries Branch: squid3-ipv6 Tag: (none) Log: Fix typo in NAT lookup causing segfault. Update NOTES-IPv6 with new transparent handling details. Members: NOTES-IPv6:1.1.2.60->1.1.2.61 src/IPInterception.cc:1.4.4.7->1.4.4.8 Index: squid3/NOTES-IPv6 =================================================================== RCS file: /cvsroot/squid-sf//squid3/Attic/NOTES-IPv6,v retrieving revision 1.1.2.60 retrieving revision 1.1.2.61 diff -u -r1.1.2.60 -r1.1.2.61 --- squid3/NOTES-IPv6 21 Aug 2007 11:51:23 -0000 1.1.2.60 +++ squid3/NOTES-IPv6 21 Aug 2007 23:42:13 -0000 1.1.2.61 @@ -1,4 +1,4 @@ -$Id: NOTES-IPv6,v 1.1.2.60 2007/08/21 11:51:23 amosjeffries Exp $ +$Id: NOTES-IPv6,v 1.1.2.61 2007/08/21 23:42:13 amosjeffries Exp $ NP: Any problems with this version of squid please contact squid3@treenet.co.nz for assistance. @@ -32,8 +32,13 @@ WCCP is not available (neither version 1 or 2). - Transparent proxy is not available. - + Transparent proxy is done via NAT at the OS level and is not available (yet) in IPv6. + Squid will ensure that any port set with transparent or tproxy options be an IPv4-only + listening address. Wildcard can still be used but will not open as an IPv6. + To ensure that squid can accept IPv6 traffic on its default port, an alternative should + be chosen to handle transparent traffic. + ie http_port 3128 + http_port 3127 transparent CURRENTLY KNOWN ISSUES: @@ -56,6 +61,7 @@ ie IPv4-client to IPv4-server REDIRECT'd to squid on [::]:81 NP: iptables <= 1.3.8 tested bad. SOLUTION: iptables/netfilter crew working on IPv6 support. Try again in a few months. +WORKAROUND: squid will explicitly force an IPv4 listening address for transparent ports. PROBLEM: Sockets created with IPv4 'family' cannot be use for IPv6 *anywhere*. Index: squid3/src/IPInterception.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/IPInterception.cc,v retrieving revision 1.4.4.7 retrieving revision 1.4.4.8 diff -u -r1.4.4.7 -r1.4.4.8 --- squid3/src/IPInterception.cc 14 Jun 2007 11:40:30 -0000 1.4.4.7 +++ squid3/src/IPInterception.cc 21 Aug 2007 23:42:13 -0000 1.4.4.8 @@ -1,6 +1,6 @@ /* - * $Id: IPInterception.cc,v 1.4.4.7 2007/06/14 11:40:30 amosjeffries Exp $ + * $Id: IPInterception.cc,v 1.4.4.8 2007/08/21 23:42:13 amosjeffries Exp $ * * DEBUG: section 89 NAT / IP Interception * AUTHOR: Robert Collins @@ -209,7 +209,7 @@ dst.GetAddrInfo(lookup,AF_INET); - if (getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &lookup->ai_addr, &lookup->ai_addrlen) != 0) + if (getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, lookup->ai_addr, &lookup->ai_addrlen) != 0) { dst.FreeAddrInfo(lookup);