Bug #583489: Adjust logrotate script to changes in logrotate package, and

forward port of #548903 - comm_open: socket failure: (97)
    Address..(ipv6) to F-13 & devel
This commit is contained in:
Henrik Nordström 2010-04-19 17:55:50 +00:00
parent d39ddfae74
commit 42a149d0d4
3 changed files with 63 additions and 3 deletions

View File

@ -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
};

View File

@ -4,6 +4,7 @@
compress
notifempty
missingok
nocreate
sharedscripts
postrotate
# Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)

View File

@ -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 <henrik@henriknordstrom.net> - 7:3.1.1-3
- Bug #583489: Adjust logrotate script to changes in logrotate package.
* Fri Apr 19 2010 Jiri Skala <jskala@redhat.com>
- fixes #548903 - "comm_open: socket failure: (97) Address family not supported by protocol" if IPv6 disabled
* Tue Mar 30 2010 Henrik Nordstrom <henrik@henriknordstrom.net> - 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 <henrik@henriknordstrom.net> - 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 <henrik@henriknordstrom.net> - 7:3.1.0.16-5
- Rebuild 3.1.0.16 with corrected upstream release.