diff --git a/.gitignore b/.gitignore index e16a3d0..c2dc451 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /*.asc -/*.xz \ No newline at end of file +/*.xz diff --git a/cache_swap.sh b/cache_swap.sh index 89f3478..77d06ac 100644 --- a/cache_swap.sh +++ b/cache_swap.sh @@ -17,8 +17,5 @@ done if [ $init_cache_dirs -ne 0 ]; then echo "" - if ! squid --foreground -z -f "$SQUID_CONF" >> /var/log/squid/squid.out 2>&1; then - echo "init_cache_dir failed, see /var/log/squid/squid.out for more information" - exit 1 - fi + squid --foreground -z -f "$SQUID_CONF" >> /var/log/squid/squid.out 2>&1 fi diff --git a/gating.yaml b/gating.yaml index d2f0c2e..0c1cc35 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,13 +1,4 @@ --- !Policy -product_versions: - - fedora-* -decision_contexts: [bodhi_update_push_testing] -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - -#gating rawhide ---- !Policy product_versions: - fedora-* decision_contexts: [bodhi_update_push_stable] diff --git a/sources b/sources index 304c790..0f57160 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (squid-7.3.tar.xz) = ad6bbe518d79d079f7fe5d1ee9ae7a3f49b28ba75afdb1f0db16675e1e4127be2bc30dd246b00576f29e987c08c41dbff50c8227166ae3955c460ff837a89e2b -SHA512 (squid-7.3.tar.xz.asc) = c6774627e0408d1feed5a00489ca95467f001261b201b82c3ab9c450856fe5ad27e50d43db7a2afe2aaff88930981f783315a1b764cac5619543852e93338273 -SHA512 (pgp.asc) = b1e1dd5ead34711f064a12a324b2f156ad4835330d861eae4032926b8a6cd07c0eacc76f52518d47ed5a8ead4695f5abd02f2b4190af8e7833bd3ea31453569d +SHA512 (squid-5.2.tar.xz) = 0e5d57baf50a9a35ac4b28fee86d736311c7736ee460de8a7e739534aa4b24f8697836797c33da5c4899763672275af03ffabf4f811c7b833ba569e977c1a7e5 +SHA512 (squid-5.2.tar.xz.asc) = 0af0c51186b0533fd2670b62111438ca5d8de33343996fd254129ad1bf96ff8c0f9dfeeaefa1426bcd9802ae0b5503785cdfe7c1dc185224a2234d4fcf8c67b3 +SHA512 (pgp.asc) = 09f7012030d68831dfc083d67ca63ee54ed851482ca8d0e9505b444ee3e7ddeed62369b53f2917c9b2e0e57cc0533fce46e8cafd2ebcd1c6cb186b516efd0ad2 diff --git a/squid-6.1-perlpath.patch b/squid-3.0.STABLE1-perlpath.patch similarity index 69% rename from squid-6.1-perlpath.patch rename to squid-3.0.STABLE1-perlpath.patch index 8bfdbdf..9cb5e81 100644 --- a/squid-6.1-perlpath.patch +++ b/squid-3.0.STABLE1-perlpath.patch @@ -1,10 +1,10 @@ diff --git a/contrib/url-normalizer.pl b/contrib/url-normalizer.pl -index e965e9e..ed5ffcb 100755 +index 4cb0480..4b89910 100755 --- a/contrib/url-normalizer.pl +++ b/contrib/url-normalizer.pl @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl -Tw +#!/usr/bin/perl -Tw # - # * Copyright (C) 1996-2025 The Squid Software Foundation and contributors + # * Copyright (C) 1996-2021 The Squid Software Foundation and contributors # * diff --git a/squid-6.1-location.patch b/squid-3.1.0.9-location.patch similarity index 100% rename from squid-6.1-location.patch rename to squid-3.1.0.9-location.patch diff --git a/squid-3.5.9-include-guards.patch b/squid-3.5.9-include-guards.patch new file mode 100644 index 0000000..e2d4ff9 --- /dev/null +++ b/squid-3.5.9-include-guards.patch @@ -0,0 +1,95 @@ +------------------------------------------------------------ +revno: 14311 +revision-id: squid3@treenet.co.nz-20150924130537-lqwzd1z99a3l9gt4 +parent: squid3@treenet.co.nz-20150924032241-6cx3g6hwz9xfoybr +------------------------------------------------------------ +revno: 14311 +revision-id: squid3@treenet.co.nz-20150924130537-lqwzd1z99a3l9gt4 +parent: squid3@treenet.co.nz-20150924032241-6cx3g6hwz9xfoybr +fixes bug: http://bugs.squid-cache.org/show_bug.cgi?id=4323 +author: Francesco Chemolli +committer: Amos Jeffries +branch nick: trunk +timestamp: Thu 2015-09-24 06:05:37 -0700 +message: + Bug 4323: Netfilter broken cross-includes with Linux 4.2 +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20150924130537-lqwzd1z99a3l9gt4 +# target_branch: http://bzr.squid-cache.org/bzr/squid3/trunk/ +# testament_sha1: c67cfca81040f3845d7c4caf2f40518511f14d0b +# timestamp: 2015-09-24 13:06:33 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/trunk +# base_revision_id: squid3@treenet.co.nz-20150924032241-\ +# 6cx3g6hwz9xfoybr +# +# Begin patch +=== modified file 'compat/os/linux.h' +--- compat/os/linux.h 2015-01-13 07:25:36 +0000 ++++ compat/os/linux.h 2015-09-24 13:05:37 +0000 +@@ -30,6 +30,21 @@ + #endif + + /* ++ * Netfilter header madness. (see Bug 4323) ++ * ++ * Netfilter have a history of defining their own versions of network protocol ++ * primitives without sufficient protection against the POSIX defines which are ++ * aways present in Linux. ++ * ++ * netinet/in.h must be included before any other sys header in order to properly ++ * activate include guards in the kernel maintainers added ++ * to workaround it. ++ */ ++#if HAVE_NETINET_IN_H ++#include ++#endif ++ ++/* + * sys/capability.h is only needed in Linux apparently. + * + * HACK: LIBCAP_BROKEN Ugly glue to get around linux header madness colliding with glibc +fixes bug: http://bugs.squid-cache.org/show_bug.cgi?id=4323 +author: Francesco Chemolli +committer: Amos Jeffries +branch nick: trunk +timestamp: Thu 2015-09-24 06:05:37 -0700 +message: + Bug 4323: Netfilter broken cross-includes with Linux 4.2 +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20150924130537-lqwzd1z99a3l9gt4 +# target_branch: http://bzr.squid-cache.org/bzr/squid3/trunk/ +# testament_sha1: c67cfca81040f3845d7c4caf2f40518511f14d0b +# timestamp: 2015-09-24 13:06:33 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/trunk +# base_revision_id: squid3@treenet.co.nz-20150924032241-\ +# 6cx3g6hwz9xfoybr +# +# Begin patch +=== modified file 'compat/os/linux.h' +--- compat/os/linux.h 2015-01-13 07:25:36 +0000 ++++ compat/os/linux.h 2015-09-24 13:05:37 +0000 +@@ -30,6 +30,21 @@ + #endif + + /* ++ * Netfilter header madness. (see Bug 4323) ++ * ++ * Netfilter have a history of defining their own versions of network protocol ++ * primitives without sufficient protection against the POSIX defines which are ++ * aways present in Linux. ++ * ++ * netinet/in.h must be included before any other sys header in order to properly ++ * activate include guards in the kernel maintainers added ++ * to workaround it. ++ */ ++#if HAVE_NETINET_IN_H ++#include ++#endif ++ ++/* + * sys/capability.h is only needed in Linux apparently. + * + * HACK: LIBCAP_BROKEN Ugly glue to get around linux header madness colliding with glibc + diff --git a/squid-6.1-config.patch b/squid-4.0.11-config.patch similarity index 61% rename from squid-6.1-config.patch rename to squid-4.0.11-config.patch index 9d2b192..a4faae8 100644 --- a/squid-6.1-config.patch +++ b/squid-4.0.11-config.patch @@ -1,8 +1,7 @@ -diff --git a/src/cf.data.pre b/src/cf.data.pre -index 44aa34d..12225bc 100644 ---- a/src/cf.data.pre -+++ b/src/cf.data.pre -@@ -5453,7 +5453,7 @@ DOC_END +diff -up squid-4.0.11/src/cf.data.pre.config squid-4.0.11/src/cf.data.pre +--- squid-4.0.11/src/cf.data.pre.config 2016-06-09 22:32:57.000000000 +0200 ++++ squid-4.0.11/src/cf.data.pre 2016-07-11 21:08:35.090976840 +0200 +@@ -4658,7 +4658,7 @@ DOC_END NAME: logfile_rotate TYPE: int @@ -11,7 +10,7 @@ index 44aa34d..12225bc 100644 LOC: Config.Log.rotateNumber DOC_START Specifies the default number of logfile rotations to make when you -@@ -7447,11 +7447,11 @@ COMMENT_END +@@ -6444,11 +6444,11 @@ COMMENT_END NAME: cache_mgr TYPE: string diff --git a/squid-5.0.5-build-errors.patch b/squid-5.0.5-build-errors.patch new file mode 100644 index 0000000..4293d67 --- /dev/null +++ b/squid-5.0.5-build-errors.patch @@ -0,0 +1,116 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 81403a7..5e2a493 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -2477,6 +2477,7 @@ tests_testHttpRequest_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + tests_testHttpRequest_LDFLAGS = $(LIBADD_DL) +@@ -2781,6 +2782,7 @@ tests_testCacheManager_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + tests_testCacheManager_LDFLAGS = $(LIBADD_DL) +@@ -3101,6 +3103,7 @@ tests_testEvent_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + tests_testEvent_LDFLAGS = $(LIBADD_DL) +@@ -3339,6 +3342,7 @@ tests_testEventLoop_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + tests_testEventLoop_LDFLAGS = $(LIBADD_DL) +diff --git a/src/Makefile.in b/src/Makefile.in +index fda6de6..4e047cc 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -4581,6 +4581,7 @@ tests_test_http_range_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + +@@ -4972,6 +4973,7 @@ tests_testHttpRequest_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + +@@ -5274,6 +5276,7 @@ tests_testCacheManager_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + +@@ -5593,6 +5596,7 @@ tests_testEvent_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + +@@ -5832,6 +5836,7 @@ tests_testEventLoop_LDADD = \ + $(SSLLIB) \ + $(KRB5LIBS) \ + $(LIBCPPUNIT_LIBS) \ ++ $(SYSTEMD_LIBS) \ + $(COMPAT_LIB) \ + $(XTRA_LIBS) + +diff --git a/src/proxyp/Parser.cc b/src/proxyp/Parser.cc +index 328d207..2f358a7 100644 +--- a/src/proxyp/Parser.cc ++++ b/src/proxyp/Parser.cc +@@ -15,6 +15,7 @@ + #include "sbuf/Stream.h" + + #include ++#include + + #if HAVE_SYS_SOCKET_H + #include +diff --git a/src/security/ServerOptions.cc b/src/security/ServerOptions.cc +index e114ed8..22bce84 100644 +--- a/src/security/ServerOptions.cc ++++ b/src/security/ServerOptions.cc +@@ -18,6 +18,7 @@ + #if USE_OPENSSL + #include "compat/openssl.h" + #include "ssl/support.h" ++#include + + #if HAVE_OPENSSL_ERR_H + #include +diff --git a/src/acl/ConnMark.cc b/src/acl/ConnMark.cc +index 1fdae0c..213cf39 100644 +--- a/src/acl/ConnMark.cc ++++ b/src/acl/ConnMark.cc +@@ -15,6 +15,7 @@ + #include "Debug.h" + #include "http/Stream.h" + #include "sbuf/Stream.h" ++#include + + bool + Acl::ConnMark::empty() const diff --git a/squid-5.0.5-symlink-lang-err.patch b/squid-5.0.5-symlink-lang-err.patch new file mode 100644 index 0000000..29b5e2c --- /dev/null +++ b/squid-5.0.5-symlink-lang-err.patch @@ -0,0 +1,80 @@ +From fc01451000eaa5592cd5afbd6aee14e53f7dd2c3 Mon Sep 17 00:00:00 2001 +From: Amos Jeffries +Date: Sun, 18 Oct 2020 20:23:10 +1300 +Subject: [PATCH] Update translations integration + +* Add credits for es-mx translation moderator +* Use es-mx for default of all Spanish (Central America) texts +* Update translation related .am files +--- + doc/manuals/language.am | 2 +- + errors/TRANSLATORS | 1 + + errors/aliases | 3 ++- + errors/language.am | 3 ++- + errors/template.am | 2 +- + 5 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/doc/manuals/language.am b/doc/manuals/language.am +index 7670c88380c..f03c4cf71b4 100644 +--- a/doc/manuals/language.am ++++ b/doc/manuals/language.am +@@ -18,4 +18,4 @@ TRANSLATE_LANGUAGES = \ + oc.lang \ + pt.lang \ + ro.lang \ +- ru.lang ++ ru.lang +diff --git a/errors/TRANSLATORS b/errors/TRANSLATORS +index e29bf707678..6ee2df637ad 100644 +--- a/errors/TRANSLATORS ++++ b/errors/TRANSLATORS +@@ -21,6 +21,7 @@ and ideas to make Squid available as multi-langual software. + George Machitidze + Henrik Nordström + Ivan Masár ++ Javier Pacheco + John 'Profic' Ustiuzhanin + Leandro Cesar Nardini Frasson + liuyongbing +diff --git a/errors/aliases b/errors/aliases +index 36f17f4b80f..cf0116f297d 100644 +--- a/errors/aliases ++++ b/errors/aliases +@@ -14,7 +14,8 @@ da da-dk + de de-at de-ch de-de de-li de-lu + el el-gr + en en-au en-bz en-ca en-cn en-gb en-ie en-in en-jm en-nz en-ph en-sg en-tt en-uk en-us en-za en-zw +-es es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-gt es-hn es-mx es-ni es-pa es-pe es-pr es-py es-sv es-us es-uy es-ve es-xl ++es es-ar es-bo es-cl es-cu es-co es-do es-ec es-es es-pe es-pr es-py es-us es-uy es-ve es-xl spq ++es-mx es-bz es-cr es-gt es-hn es-ni es-pa es-sv + et et-ee + fa fa-fa fa-ir + fi fi-fi +diff --git a/errors/language.am b/errors/language.am +index 12b1b2b3b43..029e8c1eb2f 100644 +--- a/errors/language.am ++++ b/errors/language.am +@@ -17,6 +17,7 @@ TRANSLATE_LANGUAGES = \ + de.lang \ + el.lang \ + en.lang \ ++ es-mx.lang \ + es.lang \ + et.lang \ + fa.lang \ +@@ -51,4 +52,4 @@ TRANSLATE_LANGUAGES = \ + uz.lang \ + vi.lang \ + zh-hans.lang \ +- zh-hant.lang ++ zh-hant.lang +diff --git a/errors/template.am b/errors/template.am +index 6c12781e6f4..715c65aa22b 100644 +--- a/errors/template.am ++++ b/errors/template.am +@@ -48,4 +48,4 @@ ERROR_TEMPLATES = \ + templates/ERR_UNSUP_REQ \ + templates/ERR_URN_RESOLVE \ + templates/ERR_WRITE_ERROR \ +- templates/ERR_ZERO_SIZE_OBJECT ++ templates/ERR_ZERO_SIZE_OBJECT diff --git a/squid-5.2-openssl3.patch b/squid-5.2-openssl3.patch new file mode 100644 index 0000000..32ff6ee --- /dev/null +++ b/squid-5.2-openssl3.patch @@ -0,0 +1,185 @@ +diff --git a/src/ssl/support.cc b/src/ssl/support.cc +index 3ad135d..73912ce 100644 +--- a/src/ssl/support.cc ++++ b/src/ssl/support.cc +@@ -557,7 +557,11 @@ Ssl::VerifyCallbackParameters::At(Security::Connection &sconn) + } + + // "dup" function for SSL_get_ex_new_index("cert_err_check") +-#if SQUID_USE_CONST_CRYPTO_EX_DATA_DUP ++#if OPENSSL_VERSION_MAJOR >= 3 ++static int ++ssl_dupAclChecklist(CRYPTO_EX_DATA *, const CRYPTO_EX_DATA *, void **, ++ int, long, void *) ++#elif SQUID_USE_CONST_CRYPTO_EX_DATA_DUP + static int + ssl_dupAclChecklist(CRYPTO_EX_DATA *, const CRYPTO_EX_DATA *, void *, + int, long, void *) +diff --git a/src/security/PeerOptions.cc b/src/security/PeerOptions.cc +index cf1d4ba..4346ba5 100644 +--- a/src/security/PeerOptions.cc ++++ b/src/security/PeerOptions.cc +@@ -297,130 +297,130 @@ static struct ssl_option { + + } ssl_options[] = { + +-#if SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG ++#ifdef SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG + { + "NETSCAPE_REUSE_CIPHER_CHANGE_BUG", SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG + }, + #endif +-#if SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ++#ifdef SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG + { + "SSLREF2_REUSE_CERT_TYPE_BUG", SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG + }, + #endif +-#if SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER ++#ifdef SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER + { + "MICROSOFT_BIG_SSLV3_BUFFER", SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER + }, + #endif +-#if SSL_OP_SSLEAY_080_CLIENT_DH_BUG ++#ifdef SSL_OP_SSLEAY_080_CLIENT_DH_BUG + { + "SSLEAY_080_CLIENT_DH_BUG", SSL_OP_SSLEAY_080_CLIENT_DH_BUG + }, + #endif +-#if SSL_OP_TLS_D5_BUG ++#ifdef SSL_OP_TLS_D5_BUG + { + "TLS_D5_BUG", SSL_OP_TLS_D5_BUG + }, + #endif +-#if SSL_OP_TLS_BLOCK_PADDING_BUG ++#ifdef SSL_OP_TLS_BLOCK_PADDING_BUG + { + "TLS_BLOCK_PADDING_BUG", SSL_OP_TLS_BLOCK_PADDING_BUG + }, + #endif +-#if SSL_OP_TLS_ROLLBACK_BUG ++#ifdef SSL_OP_TLS_ROLLBACK_BUG + { + "TLS_ROLLBACK_BUG", SSL_OP_TLS_ROLLBACK_BUG + }, + #endif +-#if SSL_OP_ALL ++#ifdef SSL_OP_ALL + { + "ALL", (long)SSL_OP_ALL + }, + #endif +-#if SSL_OP_SINGLE_DH_USE ++#ifdef SSL_OP_SINGLE_DH_USE + { + "SINGLE_DH_USE", SSL_OP_SINGLE_DH_USE + }, + #endif +-#if SSL_OP_EPHEMERAL_RSA ++#ifdef SSL_OP_EPHEMERAL_RSA + { + "EPHEMERAL_RSA", SSL_OP_EPHEMERAL_RSA + }, + #endif +-#if SSL_OP_PKCS1_CHECK_1 ++#ifdef SSL_OP_PKCS1_CHECK_1 + { + "PKCS1_CHECK_1", SSL_OP_PKCS1_CHECK_1 + }, + #endif +-#if SSL_OP_PKCS1_CHECK_2 ++#ifdef SSL_OP_PKCS1_CHECK_2 + { + "PKCS1_CHECK_2", SSL_OP_PKCS1_CHECK_2 + }, + #endif +-#if SSL_OP_NETSCAPE_CA_DN_BUG ++#ifdef SSL_OP_NETSCAPE_CA_DN_BUG + { + "NETSCAPE_CA_DN_BUG", SSL_OP_NETSCAPE_CA_DN_BUG + }, + #endif +-#if SSL_OP_NON_EXPORT_FIRST ++#ifdef SSL_OP_NON_EXPORT_FIRST + { + "NON_EXPORT_FIRST", SSL_OP_NON_EXPORT_FIRST + }, + #endif +-#if SSL_OP_CIPHER_SERVER_PREFERENCE ++#ifdef SSL_OP_CIPHER_SERVER_PREFERENCE + { + "CIPHER_SERVER_PREFERENCE", SSL_OP_CIPHER_SERVER_PREFERENCE + }, + #endif +-#if SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG ++#ifdef SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG + { + "NETSCAPE_DEMO_CIPHER_CHANGE_BUG", SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG + }, + #endif +-#if SSL_OP_NO_SSLv3 ++#ifdef SSL_OP_NO_SSLv3 + { + "NO_SSLv3", SSL_OP_NO_SSLv3 + }, + #endif +-#if SSL_OP_NO_TLSv1 ++#ifdef SSL_OP_NO_TLSv1 + { + "NO_TLSv1", SSL_OP_NO_TLSv1 + }, + #else + { "NO_TLSv1", 0 }, + #endif +-#if SSL_OP_NO_TLSv1_1 ++#ifdef SSL_OP_NO_TLSv1_1 + { + "NO_TLSv1_1", SSL_OP_NO_TLSv1_1 + }, + #else + { "NO_TLSv1_1", 0 }, + #endif +-#if SSL_OP_NO_TLSv1_2 ++#ifdef SSL_OP_NO_TLSv1_2 + { + "NO_TLSv1_2", SSL_OP_NO_TLSv1_2 + }, + #else + { "NO_TLSv1_2", 0 }, + #endif +-#if SSL_OP_NO_TLSv1_3 ++#ifdef SSL_OP_NO_TLSv1_3 + { + "NO_TLSv1_3", SSL_OP_NO_TLSv1_3 + }, + #else + { "NO_TLSv1_3", 0 }, + #endif +-#if SSL_OP_NO_COMPRESSION ++#ifdef SSL_OP_NO_COMPRESSION + { + "No_Compression", SSL_OP_NO_COMPRESSION + }, + #endif +-#if SSL_OP_NO_TICKET ++#ifdef SSL_OP_NO_TICKET + { + "NO_TICKET", SSL_OP_NO_TICKET + }, + #endif +-#if SSL_OP_SINGLE_ECDH_USE ++#ifdef SSL_OP_SINGLE_ECDH_USE + { + "SINGLE_ECDH_USE", SSL_OP_SINGLE_ECDH_USE + }, +@@ -512,7 +512,7 @@ Security::PeerOptions::parseOptions() + + } + +-#if SSL_OP_NO_SSLv2 ++#ifdef SSL_OP_NO_SSLv2 + // compliance with RFC 6176: Prohibiting Secure Sockets Layer (SSL) Version 2.0 + op = op | SSL_OP_NO_SSLv2; + #endif diff --git a/squid-5.2-test-store-cppsuite.patch b/squid-5.2-test-store-cppsuite.patch new file mode 100644 index 0000000..d7c52be --- /dev/null +++ b/squid-5.2-test-store-cppsuite.patch @@ -0,0 +1,24 @@ +diff --git a/src/tests/testStoreHashIndex.cc b/src/tests/testStoreHashIndex.cc +index 0564380..fcd60b9 100644 +--- a/src/tests/testStoreHashIndex.cc ++++ b/src/tests/testStoreHashIndex.cc +@@ -102,6 +102,8 @@ void commonInit() + if (inited) + return; + ++ inited = true; ++ + Mem::Init(); + + Config.Store.avgObjectSize = 1024; +@@ -109,6 +111,10 @@ void commonInit() + Config.Store.objectsPerBucket = 20; + + Config.Store.maxObjectSize = 2048; ++ ++ Config.memShared.defaultTo(false); ++ ++ Config.store_dir_select_algorithm = xstrdup("round-robin"); + } + + /* TODO make this a cbdata class */ diff --git a/squid-6.1-symlink-lang-err.patch b/squid-6.1-symlink-lang-err.patch deleted file mode 100644 index a29274b..0000000 --- a/squid-6.1-symlink-lang-err.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/errors/aliases b/errors/aliases -index c256106..38c123a 100644 ---- a/errors/aliases -+++ b/errors/aliases -@@ -14,8 +14,7 @@ da da-dk - de de-at de-ch de-de de-li de-lu - el el-gr - en en-au en-bz en-ca en-cn en-gb en-ie en-in en-jm en-nz en-ph en-sg en-tt en-uk en-us en-za en-zw --es es-ar es-bo es-cl es-cu es-co es-do es-ec es-es es-pe es-pr es-py es-us es-uy es-ve es-xl spq --es-mx es-bz es-cr es-gt es-hn es-ni es-pa es-sv -+es es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-gt es-hn es-mx es-ni es-pa es-pe es-pr es-py es-sv es-us es-uy es-ve es-xl - et et-ee - fa fa-fa fa-ir - fi fi-fi -diff --git a/errors/language.am b/errors/language.am -index a437d17..f2fe463 100644 ---- a/errors/language.am -+++ b/errors/language.am -@@ -19,7 +19,6 @@ LANGUAGE_FILES = \ - de.lang \ - el.lang \ - en.lang \ -- es-mx.lang \ - es.lang \ - et.lang \ - fa.lang \ diff --git a/squid.service b/squid.service index 09c68cc..6978032 100644 --- a/squid.service +++ b/squid.service @@ -8,14 +8,11 @@ Type=notify LimitNOFILE=16384 PIDFile=/run/squid.pid EnvironmentFile=/etc/sysconfig/squid -ExecStartPre=!/usr/libexec/squid/cache_swap.sh -ExecStart=!/usr/sbin/squid --foreground $SQUID_OPTS -f ${SQUID_CONF} -ExecReload=!/usr/bin/kill -HUP $MAINPID +ExecStartPre=/usr/libexec/squid/cache_swap.sh +ExecStart=/usr/sbin/squid --foreground $SQUID_OPTS -f ${SQUID_CONF} +ExecReload=/usr/bin/kill -HUP $MAINPID KillMode=mixed NotifyAccess=all -User=squid -Group=squid -RuntimeDirectory=squid [Install] WantedBy=multi-user.target diff --git a/squid.spec b/squid.spec index 84d079b..02c62df 100644 --- a/squid.spec +++ b/squid.spec @@ -1,17 +1,16 @@ %define __perl_requires %{SOURCE98} -%define version_underscore %(echo %{version} | tr '.' '_') Name: squid -Version: 7.3 +Version: 5.2 Release: 1%{?dist} Summary: The Squid proxy caching server Epoch: 7 # See CREDITS for breakdown of non GPLv2+ code -License: GPL-2.0-or-later AND (LGPL-2.0-or-later AND MIT AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND Beerware) +License: GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain) URL: http://www.squid-cache.org -Source0: https://github.com/squid-cache/squid/releases/download/SQUID_%{version_underscore}/squid-%{version}.tar.xz -Source1: https://github.com/squid-cache/squid/releases/download/SQUID_%{version_underscore}/squid-%{version}.tar.xz.asc +Source0: http://www.squid-cache.org/Versions/v5/squid-%{version}.tar.xz +Source1: http://www.squid-cache.org/Versions/v5/squid-%{version}.tar.xz.asc Source2: http://www.squid-cache.org/pgp.asc Source3: squid.logrotate Source4: squid.sysconfig @@ -19,30 +18,36 @@ Source5: squid.pam Source6: squid.nm Source7: squid.service Source8: cache_swap.sh -Source9: squid.sysusers Source98: perl-requires-squid.sh # Upstream patches # Backported patches -# Patch101: squid-7.1-.....patch # Local patches # Applying upstream patches first makes it less likely that local patches # will break upstream ones. -Patch201: squid-6.1-config.patch -Patch202: squid-6.1-location.patch -Patch203: squid-6.1-perlpath.patch +Patch201: squid-4.0.11-config.patch +Patch202: squid-3.1.0.9-location.patch +Patch203: squid-3.0.STABLE1-perlpath.patch +Patch204: squid-3.5.9-include-guards.patch # revert this upstream patch - https://bugzilla.redhat.com/show_bug.cgi?id=1936422 # workaround for #1934919 -Patch204: squid-6.1-symlink-lang-err.patch +Patch205: squid-5.0.5-symlink-lang-err.patch +# fix openssl3 build failures +Patch206: squid-5.2-openssl3.patch +# fix -lto build failure +Patch207: squid-5.2-test-store-cppsuite.patch # cache_swap.sh Requires: bash gawk # for httpd conf file - cachemgr script alias Requires: httpd-filesystem - +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd # squid_ldap_auth and other LDAP helpers require OpenLDAP BuildRequires: make BuildRequires: openldap-devel @@ -54,6 +59,8 @@ BuildRequires: openssl-devel BuildRequires: krb5-devel # time_quota requires TrivialDB BuildRequires: libtdb-devel +# ESI support requires Expat & libxml2 +BuildRequires: expat-devel libxml2-devel # TPROXY requires libcap, and also increases security somewhat BuildRequires: libcap-devel # eCAP support @@ -61,27 +68,24 @@ BuildRequires: libecap-devel #ip_user helper requires BuildRequires: gcc-c++ BuildRequires: libtool libtool-ltdl-devel -BuildRequires: libxcrypt-devel BuildRequires: perl-generators # For test suite BuildRequires: pkgconfig(cppunit) # For verifying downloded src tarball BuildRequires: gnupg2 -# for _unitdir macro +# for _tmpfilesdir and _unitdir macro # see https://docs.fedoraproject.org/en-US/packaging-guidelines/Systemd/#_packaging BuildRequires: systemd-rpm-macros # systemd notify BuildRequires: systemd-devel -%{?systemd_requires} -%{?sysusers_requires_compat} # Old NetworkManager expects the dispatcher scripts in a different place Conflicts: NetworkManager < 1.20 %description Squid is a high-performance proxy caching server for Web clients, -supporting FTP and HTTP data objects. Unlike traditional +supporting FTP, gopher, and HTTP data objects. Unlike traditional caching software, Squid handles all requests in a single, non-blocking, I/O-driven process. Squid keeps meta data and especially hot objects cached in RAM, caches DNS lookups, supports non-blocking @@ -93,8 +97,20 @@ lookup program (dnsserver), a program for retrieving FTP data %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%setup -q -%autosetup -p1 +# Upstream patches + +# Backported patches + +# Local patches +%patch201 -p1 -b .config +%patch202 -p1 -b .location +%patch203 -p1 -b .perlpath +%patch204 -p0 -b .include-guards +%patch205 -p1 -R -b .symlink-lang-err +%patch206 -p1 -b .openssl3 +%patch207 -p1 -b .flto # https://bugzilla.redhat.com/show_bug.cgi?id=1679526 # Patch in the vendor documentation and used different location for documentation @@ -114,8 +130,8 @@ sed -i 's|@SYSCONFDIR@/squid.conf.documented|%{_pkgdocdir}/squid.conf.documented --enable-eui \ --enable-follow-x-forwarded-for \ --enable-auth \ - --enable-auth-basic="DB,fake,getpwnam,LDAP,NCSA,PAM,POP3,RADIUS,SASL,SMB" \ - --enable-auth-ntlm="fake" \ + --enable-auth-basic="DB,fake,getpwnam,LDAP,NCSA,PAM,POP3,RADIUS,SASL,SMB,SMB_LM" \ + --enable-auth-ntlm="SMB_LM,fake" \ --enable-auth-digest="file,LDAP" \ --enable-auth-negotiate="kerberos" \ --enable-external-acl-helpers="LDAP_group,time_quota,session,unix_group,wbinfo_group,kerberos_ldap_group" \ @@ -137,7 +153,7 @@ sed -i 's|@SYSCONFDIR@/squid.conf.documented|%{_pkgdocdir}/squid.conf.documented --enable-storeio="aufs,diskd,ufs,rock" \ --enable-diskio \ --enable-wccpv2 \ - --disable-esi \ + --enable-esi \ --enable-ecap \ --with-aio \ --with-default-user="squid" \ @@ -147,13 +163,12 @@ sed -i 's|@SYSCONFDIR@/squid.conf.documented|%{_pkgdocdir}/squid.conf.documented --disable-arch-native \ --disable-security-cert-validators \ --disable-strict-error-checking \ - --with-swapdir=%{_localstatedir}/spool/squid \ - --enable-translation + --with-swapdir=%{_localstatedir}/spool/squid # workaround to build squid v5 -#mkdir -p src/icmp/tests -#mkdir -p tools/squidclient/tests -#mkdir -p tools/tests +mkdir -p src/icmp/tests +mkdir -p tools/squidclient/tests +mkdir -p tools/tests %make_build @@ -194,8 +209,17 @@ install -m 644 $RPM_BUILD_ROOT/squid.httpd.tmp $RPM_BUILD_ROOT%{_sysconfdir}/htt install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/dispatcher.d/20-squid mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/squid mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/squid +mkdir -p $RPM_BUILD_ROOT/run/squid chmod 644 contrib/url-normalizer.pl contrib/user-agents.pl +# install /usr/lib/tmpfiles.d/squid.conf +mkdir -p ${RPM_BUILD_ROOT}%{_tmpfilesdir} +cat > ${RPM_BUILD_ROOT}%{_tmpfilesdir}/squid.conf </dev/null 2>&1; then + /usr/sbin/groupadd -g 23 squid +fi + +if ! getent passwd squid >/dev/null 2>&1 ; then + /usr/sbin/useradd -g 23 -u 23 -d /var/spool/squid -r -s /sbin/nologin squid >/dev/null 2>&1 || exit 1 +fi for i in /var/log/squid /var/spool/squid ; do if [ -d $i ] ; then @@ -288,6 +322,8 @@ do end end + + %post %systemd_post squid.service @@ -306,142 +342,6 @@ fi %changelog -* Wed Oct 29 2025 Luboš Uhliarik - 7:7.3-1 -- new version 7.3 - -* Fri Oct 17 2025 Luboš Uhliarik - 7:7.2-1 -- new version 7.2 - -* Thu Sep 11 2025 Luboš Uhliarik - 7:7.1-3 -- Support provider keys that require NULL digest - -* Thu Aug 14 2025 Luboš Uhliarik - 7:7.1-1 -- new version 7.1 -- removed squidclient -- removed purge -- removed cachemgr.cgi -- removed basic_smb_lm_auth and ntlm_smb_lm_auth helpers - -* Fri Jul 25 2025 Fedora Release Engineering - 7:6.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jul 21 2025 Luboš Uhliarik - 7:6.14-1 -- new version 6.14 - -* Wed Mar 12 2025 Luboš Uhliarik - 7:6.13-2 -- Do not blame cache_peer for 4xx CONNECT responses - -* Tue Feb 04 2025 Luboš Uhliarik - 7:6.13-1 -- new version 6.13 - -* Sat Feb 01 2025 Björn Esser - 7:6.12-5 -- Add explicit BR: libxcrypt-devel - -* Sun Jan 19 2025 Fedora Release Engineering - 7:6.12-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Nov 01 2024 Luboš Uhliarik - 7:6.12-3 -- better error handling in cache_swap.sh -- added RuntimeDirectory to systemd service file - -* Fri Nov 01 2024 Luboš Uhliarik - 7:6.12-2 -- Disable ESI support since ESI support has been also removed from squid 7 -- Resolves: CVE-2024-45802 squid: Denial of Service processing ESI - response content - -* Wed Oct 23 2024 Luboš Uhliarik - 7:6.12-1 -- new version 6.12 -- Fix TCP_MISS_ABORTED/100 erros when uploading - -* Fri Oct 11 2024 Luboš Uhliarik - 7:6.11-2 -- ignore SP and HTAB chars after chunk-size - -* Wed Sep 25 2024 Luboš Uhliarik - 7:6.11-1 -- new version 6.11 - -* Sat Jul 20 2024 Fedora Release Engineering - 7:6.10-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jul 01 2024 Luboš Uhliarik - 7:6.10-1 -- new version 6.10 -- Resolves: #2294354 - CVE-2024-37894 squid: Out-of-bounds write error may - lead to Denial of Service - -* Tue Apr 16 2024 Luboš Uhliarik - 7:6.9-1 -- Resolves: #2262715 - squid-6.9 is available - -* Sat Mar 09 2024 Luboš Uhliarik - 7:6.8-1 -- new version 6.8 - -* Mon Feb 12 2024 Luboš Uhliarik - 7:6.7-1 -- new version 6.7 -- switch to autosetup -- fix FTBFS when using gcc14 - -* Sat Jan 27 2024 Fedora Release Engineering - 7:6.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Dec 13 2023 Yaakov Selkowitz - 7:6.6-1 -- new version 6.6 - -* Tue Nov 07 2023 Luboš Uhliarik - 7:6.5-1 -- new version 6.5 - -* Tue Oct 24 2023 Luboš Uhliarik - 7:6.4-1 -- new version 6.4 - -* Thu Sep 14 2023 Luboš Uhliarik - 7:6.3-2 -- SPDX migration - -* Tue Sep 05 2023 Luboš Uhliarik - 7:6.3-1 -- new version 6.3 - -* Wed Aug 16 2023 Luboš Uhliarik - 7:6.2-1 -- new version 6.2 - -* Fri Aug 04 2023 Luboš Uhliarik - 7:6.1-3 -- Fix "!commHasHalfClosedMonitor(fd)" assertion - -* Sat Jul 22 2023 Fedora Release Engineering - 7:6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Luboš Uhliarik - 7:6.1-1 -- new version 6.1 - -* Tue May 09 2023 Luboš Uhliarik - 7:5.9-1 -- new version 5.9 - -* Tue Feb 28 2023 Luboš Uhliarik - 7:5.8-1 -- new version 5.8 - -* Sat Jan 21 2023 Fedora Release Engineering - 7:5.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Dec 05 2022 Tomas Korbar - 7:5.7-3 -- Backport adding IP_BIND_ADDRESS_NO_PORT flag to outgoing connections - -* Wed Oct 12 2022 Luboš Uhliarik - 7:5.7-2 -- Provide a sysusers.d file to get user() and group() provides (#2134071) - -* Tue Sep 06 2022 Luboš Uhliarik - 7:5.7-1 -- new version 5.7 - -* Sat Jul 23 2022 Fedora Release Engineering - 7:5.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 27 2022 Luboš Uhliarik - 7:5.6-1 -- new version 5.6 - -* Wed Apr 20 2022 Luboš Uhliarik - 7:5.5-1 -- new version 5.5 -- Resolves: #2053799 - squid-5.5 is available - -* Wed Feb 09 2022 Luboš Uhliarik - 7:5.4-1 -- new version 5.4 - -* Sat Jan 22 2022 Fedora Release Engineering - 7:5.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - * Tue Oct 05 2021 Luboš Uhliarik - 7:5.2-1 - new version 5.2 (#2010109) - Resolves: #1934559 - squid: out-of-bounds read in WCCP protocol diff --git a/squid.sysusers b/squid.sysusers deleted file mode 100644 index f9cc56b..0000000 --- a/squid.sysusers +++ /dev/null @@ -1,2 +0,0 @@ -g squid 23 - -u squid 23 "Squid proxy user" /var/spool/squid /sbin/nologin