--------------------- PatchSet 6358 Date: 2007/12/16 22:27:05 Author: amosjeffries Branch: squid3-ipv6 Tag: (none) Log: Several compile errors. Members: NOTES-IPv6:1.1.2.79->1.1.2.80 src/ACLARP.cc:1.9.4.13->1.9.4.14 src/client_side_request.cc:1.33.4.25->1.33.4.26 src/fqdncache.cc:1.9.2.19->1.9.2.20 src/peer_digest.cc:1.11.4.13->1.11.4.14 Index: squid3/NOTES-IPv6 =================================================================== RCS file: /cvsroot/squid-sf//squid3/Attic/NOTES-IPv6,v retrieving revision 1.1.2.79 retrieving revision 1.1.2.80 diff -u -r1.1.2.79 -r1.1.2.80 --- squid3/NOTES-IPv6 14 Dec 2007 05:11:22 -0000 1.1.2.79 +++ squid3/NOTES-IPv6 16 Dec 2007 22:27:05 -0000 1.1.2.80 @@ -1,4 +1,4 @@ -$Id: NOTES-IPv6,v 1.1.2.79 2007/12/14 05:11:22 amosjeffries Exp $ +$Id: NOTES-IPv6,v 1.1.2.80 2007/12/16 22:27:05 amosjeffries Exp $ NP: Any problems with this version of squid please contact squid3@treenet.co.nz for assistance. @@ -125,39 +125,12 @@ *Vista --with-ipv4-mapped *XP --with-ipv6-split-stack -1.1 Netmasks need to die a clean death - - alter all storage of netmask values to CIDR (AKA uint8_t) - - alter all netmask parsing to issue deprecation WARNING's and translate - - possibly provide netmask-->CIDR translation as static via IPAddress API - -3 Push patch to HEAD - -4.0 Find netdb solution for sending IPv6 addresses. - -4.1 Add 'EPSV' FTP command for IPv6 PASV connections. - -4.2 Write an rfc2874/3266 DNS Resolver library (IPv6 DNS extensions ) - defines A6, DNAME, packet sizes - * A6 is now officially 'less desirable' ie, read: close to deprecated - 4.3 Test new ICMP* engines - Write unit tests for ICMPv*, ICMPSquid, ICMPPinger classes - still requires Hop retrieval in ICMPv6 (v6 addresses always seen as 1 hops away :-) -4.4 Upgrade peer selection bucket sizes - - currently using 32-bit buckets - - IPv6 needs at least 64-bit to do equivalent net/host 'class' operations - - Possible IPv6-specific buckets for CIDR-wise routing buckets - 4.5 Give SNMP modules an OO flavour ( C++ ) - - hold for 3.1/3.2-HEAD code cleanups - -4.6 Write "(src|dst)6host" ACL types - - configured with ::0:0:0:0 (/64 bits for the host-part) - - matches the src/dst IPv6 ignoring the net-part (first 64 bits) - - IPv4 MUST 'fail' matching. - - this will provide a clean replacement for ACLARP under IPv6 - also provides an ACL for src/dst on IPv6 Roaming or SHIM6 clients + - not part of squid3-ipv6 branch 4.6 Write a Neighbour-Discovery auto-configuration component. - DHCPv6? Index: squid3/src/ACLARP.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ACLARP.cc,v retrieving revision 1.9.4.13 retrieving revision 1.9.4.14 diff -u -r1.9.4.13 -r1.9.4.14 --- squid3/src/ACLARP.cc 31 Oct 2007 04:51:38 -0000 1.9.4.13 +++ squid3/src/ACLARP.cc 16 Dec 2007 22:27:06 -0000 1.9.4.14 @@ -1,6 +1,6 @@ /* - * $Id: ACLARP.cc,v 1.9.4.13 2007/10/31 04:51:38 amosjeffries Exp $ + * $Id: ACLARP.cc,v 1.9.4.14 2007/12/16 22:27:06 amosjeffries Exp $ * * DEBUG: section 28 Access Control * AUTHOR: Duane Wessels @@ -242,12 +242,12 @@ int aclMatchArp(SplayNode **dataptr, IPAddress &c) { - char ntoabuf[MAX_IPSTRLEN]; - struct arpreq arpReq; IPAddress ipAddr = c; + struct sockaddr_in *sa = NULL; + #if defined(_SQUID_LINUX_) unsigned char ifbuffer[sizeof(struct ifreq) * 64]; @@ -274,7 +274,8 @@ */ memset(&arpReq, '\0', sizeof(arpReq)); - ipAddr.GetSockAddr(arpReq.arp_pa); + sa = (sockaddr_in*)&arpReq.arp_pa; + ipAddr.GetSockAddr(*sa); /* Query ARP table */ if (ioctl(HttpSockets[0], SIOCGARP, &arpReq) != -1) { @@ -336,7 +337,8 @@ memset(&arpReq, '\0', sizeof(arpReq)); - ipAddr.GetSockAddr(arpReq.arp_pa); + sa = (sockaddr_in*)&arpReq.arp_pa; + ipAddr.GetSockAddr(*sa); strncpy(arpReq.arp_dev, ifr->ifr_name, sizeof(arpReq.arp_dev) - 1); Index: squid3/src/client_side_request.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/client_side_request.cc,v retrieving revision 1.33.4.25 retrieving revision 1.33.4.26 diff -u -r1.33.4.25 -r1.33.4.26 --- squid3/src/client_side_request.cc 27 Nov 2007 07:59:09 -0000 1.33.4.25 +++ squid3/src/client_side_request.cc 16 Dec 2007 22:27:06 -0000 1.33.4.26 @@ -1,6 +1,6 @@ /* - * $Id: client_side_request.cc,v 1.33.4.25 2007/11/27 07:59:09 amosjeffries Exp $ + * $Id: client_side_request.cc,v 1.33.4.26 2007/12/16 22:27:06 amosjeffries Exp $ * * DEBUG: section 85 Client-side Request Routines * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c) @@ -728,15 +728,19 @@ s.clean(); } +/** + \todo --enable-useragent-log and --enable-referer-log. We should + probably drop those two as the custom log formats accomplish pretty much the same thing.. +*/ #if USE_USERAGENT_LOG if ((str = req_hdr->getStr(HDR_USER_AGENT))) - logUserAgent(fqdnFromAddr(http->getConn() != NULL ? http->getConn()->log_addr : no_addr), str); + logUserAgent(fqdnFromAddr(http->getConn()->log_addr, str); #endif #if USE_REFERER_LOG if ((str = req_hdr->getStr(HDR_REFERER))) - logReferer(fqdnFromAddr(http->getConn() != NULL ? http->getConn()->log_addr : no_addr), str, http->log_uri); + logReferer(fqdnFromAddr(http->getConn()->log_addr, str, http->log_uri); #endif #if FORW_VIA_DB Index: squid3/src/fqdncache.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/fqdncache.cc,v retrieving revision 1.9.2.19 retrieving revision 1.9.2.20 diff -u -r1.9.2.19 -r1.9.2.20 --- squid3/src/fqdncache.cc 13 Oct 2007 12:16:02 -0000 1.9.2.19 +++ squid3/src/fqdncache.cc 16 Dec 2007 22:27:06 -0000 1.9.2.20 @@ -1,6 +1,6 @@ /* - * $Id: fqdncache.cc,v 1.9.2.19 2007/10/13 12:16:02 amosjeffries Exp $ + * $Id: fqdncache.cc,v 1.9.2.20 2007/12/16 22:27:06 amosjeffries Exp $ * * DEBUG: section 35 FQDN Cache * AUTHOR: Harvest Derived @@ -651,6 +651,8 @@ if (Config.onoff.log_fqdn && (n = fqdncache_gethostbyaddr(addr, 0))) return n; +/// \todo Perhaose this should use toHostname() instead of straight NtoA. +/// that would wrap the IPv6 properly when raw. addr.NtoA(buf, MAX_IPSTRLEN); return buf; Index: squid3/src/peer_digest.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/peer_digest.cc,v retrieving revision 1.11.4.13 retrieving revision 1.11.4.14 diff -u -r1.11.4.13 -r1.11.4.14 --- squid3/src/peer_digest.cc 28 Aug 2007 01:35:10 -0000 1.11.4.13 +++ squid3/src/peer_digest.cc 16 Dec 2007 22:27:06 -0000 1.11.4.14 @@ -1,6 +1,6 @@ /* - * $Id: peer_digest.cc,v 1.11.4.13 2007/08/28 01:35:10 amosjeffries Exp $ + * $Id: peer_digest.cc,v 1.11.4.14 2007/12/16 22:27:06 amosjeffries Exp $ * * DEBUG: section 72 Peer Digest Routines * AUTHOR: Alex Rousskov @@ -257,7 +257,6 @@ { PeerDigest *pd = (PeerDigest *)data; time_t req_time; - char buf[MAX_IPSTRLEN]; assert(!pd->flags.requested);