diff --git a/squid-3.1.1-ipv6_disabled.patch b/squid-3.1.1-ipv6_disabled.patch new file mode 100644 index 0000000..26f3b97 --- /dev/null +++ b/squid-3.1.1-ipv6_disabled.patch @@ -0,0 +1,52 @@ +diff -up squid-3.1.1/src/comm.cc.ipv6_disabled squid-3.1.1/src/comm.cc +--- squid-3.1.1/src/comm.cc.ipv6_disabled 2010-03-29 12:02:56.000000000 +0200 ++++ squid-3.1.1/src/comm.cc 2010-04-02 15:31:50.467098739 +0200 +@@ -637,6 +637,9 @@ comm_open_listener(int sock_type, + /* attempt to open this IPv4-only. */ + sock = comm_openex(sock_type, proto, addr, flags, 0, note); + debugs(50, 2, HERE << "attempt open " << note << " socket on: " << addr); ++ ++ /* disable IPv6 */ ++ IpAddress::SetIPv6Disabled(true); + } + #endif + +diff -up squid-3.1.1/src/ip/IpAddress.cc.ipv6_disabled squid-3.1.1/src/ip/IpAddress.cc +--- squid-3.1.1/src/ip/IpAddress.cc.ipv6_disabled 2010-03-29 12:02:56.000000000 +0200 ++++ squid-3.1.1/src/ip/IpAddress.cc 2010-04-02 15:44:38.759070488 +0200 +@@ -250,6 +250,9 @@ bool IpAddress::IsIPv4() const + bool IpAddress::IsIPv6() const + { + #if USE_IPV6 ++ if(m_IPv6Disabled) ++ return false; ++ + return IsAnyAddr() || IsNoAddr() || !IN6_IS_ADDR_V4MAPPED( &m_SocketAddr.sin6_addr ); + #else + return false; // enforce IPv4 in IPv4-only mode. +@@ -1186,3 +1189,7 @@ bool IpAddress::GetInAddr(struct in_addr + assert(false); + return false; + } ++ ++#if USE_IPV6 ++bool IpAddress::m_IPv6Disabled = false; ++#endif +diff -up squid-3.1.1/src/ip/IpAddress.h.ipv6_disabled squid-3.1.1/src/ip/IpAddress.h +--- squid-3.1.1/src/ip/IpAddress.h.ipv6_disabled 2010-03-29 12:02:56.000000000 +0200 ++++ squid-3.1.1/src/ip/IpAddress.h 2010-04-02 15:42:15.060319653 +0200 +@@ -428,6 +428,14 @@ private: + static const struct in6_addr v4_anyaddr; + static const struct in6_addr v6_noaddr; + #endif ++ ++/* IPv6 stack can be disabled */ ++#if USE_IPV6 ++private: ++ static bool m_IPv6Disabled; ++public: ++ static void SetIPv6Disabled(bool state) { m_IPv6Disabled = state; } ++#endif + }; + + diff --git a/squid.logrotate b/squid.logrotate index 3f69309..4a0406f 100644 --- a/squid.logrotate +++ b/squid.logrotate @@ -4,6 +4,7 @@ compress notifempty missingok + nocreate sharedscripts postrotate # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf) diff --git a/squid.spec b/squid.spec index b843e77..2e9bde4 100644 --- a/squid.spec +++ b/squid.spec @@ -4,7 +4,7 @@ Name: squid Version: 3.1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Squid proxy caching server Epoch: 7 License: GPLv2 @@ -31,7 +31,7 @@ Patch202: squid-3.1.0.9-location.patch Patch204: squid-3.0.STABLE1-perlpath.patch Patch205: squid-3.1.0.15-smb-path.patch Patch208: squid-3.0.STABLE7-from_manpg.patch -# ufsdump is never actually installed, and fails to build on F-13 +Patch209: squid-3.1.1-ipv6_disabled.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: bash >= 2.0 @@ -76,6 +76,7 @@ lookup program (dnsserver), a program for retrieving FTP data %patch204 -p1 -b .perlpath %patch205 -p1 -b .smb-path %patch208 -p1 -b .from_manpg +%patch209 -p1 -b .ipv6_disabled %build %configure \ @@ -260,6 +261,12 @@ fi %changelog +* Mon Apr 19 2010 Henrik Nordstrom - 7:3.1.1-3 +- Bug #583489: Adjust logrotate script to changes in logrotate package. + +* Fri Apr 19 2010 Jiri Skala +- fixes #548903 - "comm_open: socket failure: (97) Address family not supported by protocol" if IPv6 disabled + * Tue Mar 30 2010 Henrik Nordstrom - 7:3.1.1-2 - Update to 3.1.1 Squid bug #2827 crash with assertion failed: FilledChecklist.cc:90: "conn() != NULL" under high load. @@ -278,7 +285,7 @@ fi * Sun Feb 14 2010 Henrik Nordstrom - 7:3.1.0.16-6 - Patch for Squid security advisory SQUID-2010:2, denial of service - issue in HTCP processing + issue in HTCP processing (CVE-2010-0639) * Sun Feb 07 2010 Henrik Nordstrom - 7:3.1.0.16-5 - Rebuild 3.1.0.16 with corrected upstream release.