Compare commits

..

127 commits

Author SHA1 Message Date
Ingvar Hagelund
11c7b16970 just a missing detail in the changelog 2026-07-30 11:22:52 +02:00
Fedora Release Engineering
952d560679 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:22:22 +00:00
Yaakov Selkowitz
9b2c40db7b Rebuilt for openssl 4.0 2026-06-12 20:01:38 -04:00
Ingvar Hagelund
6453d1aed3 New upstream release: A security relase
Includes fix for VSV00019
2026-05-21 14:09:22 +02:00
Ingvar Hagelund
30831d4081 New upstream release: A bugfix release 2026-05-21 13:11:43 +02:00
Yaakov Selkowitz
c37e749527 Apply openssl 4.0 fix on RHEL 11+ (ELN) 2026-04-30 15:06:46 -04:00
Ingvar Hagelund
6242c790a2 tiny buildfix for s390x 2026-04-29 12:32:49 +02:00
Ingvar Hagelund
d6a82dc37d Add patch for openssl-4.0.0 in rawhide 2026-04-15 00:59:07 +02:00
Ingvar Hagelund
5e78b1c603 all tests run fine in lab. Push it 2026-04-13 21:58:33 +02:00
Ingvar Hagelund
d6984113cc update abi and vrt to match source 2026-04-13 13:16:13 +02:00
Ingvar Hagelund
34abd9d517 New upstream release
Includes fix for VEV00002
2026-04-13 13:14:00 +02:00
Ingvar Hagelund
de698b6049 all tests run as they should offline. Build without check on the fedora buildesr. 2026-04-07 21:47:05 +02:00
Ingvar Hagelund
1e548bdc94 added pkg-varnish-cache checkout to sources 2026-04-07 17:09:11 +02:00
Ingvar Hagelund
512d8988cb added varnish-9.0.0.tar.gz 2026-04-07 17:03:39 +02:00
Ingvar Hagelund
af5a41d60b New upstream release 9.0.0, includes fix for VSV00018 2026-04-07 17:01:03 +02:00
Ingvar Hagelund
1aa8e9e4d1 ix86 build fix 2026-03-27 20:27:05 +01:00
Ingvar Hagelund
59f403810b New upstream releasem. Includes fix for VSV00018 2026-03-27 17:38:57 +01:00
Yaakov Selkowitz
e4ffe6519b Build with -Wno-error=discarded-qualifiers for ELN
ELN (the future RHEL 11) tracks rawhide and has the same GCC version.
2026-02-02 10:18:50 -05:00
Fedora Release Engineering
1a0b5aa709 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 19:47:34 +00:00
Ingvar Hagelund
0745cba0ed Added cflag -Wno-error=discarded-qualifiers to build on fedora while waiting for upstream 2026-01-05 17:41:17 +01:00
Ingvar Hagelund
74187d71a3 jemalloc should follow, as varnish may be built with jemalloc included 2025-12-11 14:41:55 +01:00
Ingvar Hagelund
a9160acc32 new sources for varnish-8.0.0 2025-12-11 13:54:02 +01:00
Ingvar Hagelund
19427117f7 new pkg-varnish-cache checkout 2025-12-11 13:19:43 +01:00
Ingvar Hagelund
a4fc3ba230 pulled inn tmpfiles.d rules from rawhide 2025-12-11 13:06:20 +01:00
Luboš Uhliarik
7c465a314d Add tmpfiles.d rules for /var directories (bootc compatibility) 2025-10-29 13:29:01 +01:00
Ingvar Hagelund
c45198f59e new upstream release varnish-8.0.0 2025-10-15 10:59:05 +02:00
Ingvar Hagelund
ed43670161 New upstream release: A security release
Includes fix for VSV00017 aka CVE-2025-8671, rhbz#2388222
2025-09-15 17:16:04 +02:00
Luboš Uhliarik
06394ea2b3 Simplify allocator logic with %bcond expressions
Use %bcond to replace conditional blocks for selecting the memory allocator based on RHEL version. Behavior remains unchanged.
2025-07-31 11:31:11 +02:00
Luboš Uhliarik
0965b70410 bundle jemalloc in RHEL 2025-07-31 11:31:08 +02:00
Fedora Release Engineering
9398cca4da Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:58:18 +00:00
Ingvar Hagelund
87f3ca1040 fix for h2 testing with nghttp still necessary 2025-05-23 09:03:47 +02:00
Ingvar Hagelund
ac0c5d1cf9 Use systemd setup for users 2025-05-22 23:42:01 +02:00
Ingvar Hagelund
c6b4b42928 Removed patches merged upstream 2025-05-22 18:02:32 +02:00
Ingvar Hagelund
1273e5f11c Pulled el7 support 2025-05-22 17:58:51 +02:00
Ingvar Hagelund
284249c6bc Correct ABI and VRT versions 2025-05-22 17:44:23 +02:00
Luboš Uhliarik
1379a67050 new version 7.7.1 2025-05-20 19:16:29 +02:00
Ingvar Hagelund
66c48ec041 Fix for eln build (merged from yselkowitz)
Fix for failing h2 switch check. Enabling full test suite again
2025-03-27 16:42:26 +01:00
Yaakov Selkowitz
5f1482d7ee Fix ELN build
Like rawhide/f43, ELN has GCC 15, nghttp2 1.65, and the bin-sbin merge.
2025-03-25 14:28:58 -04:00
Ingvar Hagelund
d992545e86 just a typofix 2025-03-24 20:29:33 +01:00
Ingvar Hagelund
bb16906572 updated source for varnish-7.7.0 2025-03-24 17:34:10 +01:00
Ingvar Hagelund
1c17e001bf New upstream release
fedora now has completed the bin/sbin merge
2025-03-24 17:32:31 +01:00
Fedora Release Engineering
1e86e5e01d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:07:18 +00:00
Ingvar Hagelund
8d03bd0cc8 updated api and vrt 2024-12-04 14:37:12 +01:00
Ingvar Hagelund
7cdef236e8 New upstream release 2024-12-02 15:13:51 +01:00
Ingvar Hagelund
d76a2b7a5f New upstream release
Updated checkout of pkg-varnish
2024-09-16 16:16:17 +02:00
Fedora Release Engineering
e1cb198d44 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:34:53 +00:00
Ingvar Hagelund
968ac5eb9f muted tests/t02014.vtc on aarch64 and s390x 2024-03-21 00:16:49 +01:00
Ingvar Hagelund
f2ca219077 Just a hack to avoid too high load on secondary arch builders 2024-03-20 23:00:39 +01:00
Ingvar Hagelund
ffe03f22b7 uploaded varnish-7.5.0.tgz 2024-03-20 19:31:17 +01:00
Ingvar Hagelund
8b11f4ac19 New upstream release
Moved somethings around to make the diff from the upstream spec less
Upped some memory requirements in some of the tests. Necessary on aarch64 and ppc64le (and ppc32)
Reduced number of parallel jobs on s390x builders as builds tend to fail when stressed
Retired armv7hl
2024-03-20 19:27:32 +01:00
Fedora Release Engineering
2179badd5d Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 07:30:52 +00:00
Ingvar Hagelund
448cc6b4c0 Upload varnish-7.4.2.tgz 2023-11-14 11:55:40 +01:00
Ingvar Hagelund
33b27efa96 New upstream release. A security release
Includes fix for CVE-2023-44487 aka VSV00013, rhbz#2243328, HTTP/2 Rapid Reset Attack
2023-11-14 10:58:49 +01:00
Ingvar Hagelund
a64307a0e8 New upstream release. A bugfix release 2023-10-12 11:46:21 +02:00
Ingvar Hagelund
fef34e776d New upstream release 2023-10-12 11:29:41 +02:00
Luboš Uhliarik
2e0cc0619c SPDX migration 2023-09-14 13:34:40 +02:00
Fedora Release Engineering
003072fcc1 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 17:25:49 +00:00
Yaakov Selkowitz
894bb4b1de Enable system_allocator in RHEL/ELN builds 2023-06-23 13:31:25 -04:00
Ingvar Hagelund
c37e152be9 Switched from bcond to bcond_with for compatibility with el8 and el9
haproxy builddep on systems with haproxy2
Disable pcre2-jit only for fedora <= 37 on 32bit x86
2023-03-20 19:05:05 +01:00
Ingvar Hagelund
1951aa387e New upstream release
Added a bcond system_allocator for skipping jemalloc, bz#1917697
nil _lto_cflags macro to link to jemalloc again
disable pcre2-jit on 32bit x86 for now
2023-03-16 21:30:23 +01:00
Fedora Release Engineering
f13df6b120 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:07:06 +00:00
Ingvar Hagelund
fe17444c14 New upstream release: A security release
Includes fix for VSV00011
2022-11-09 13:42:10 +01:00
Ingvar Hagelund
3119cd2157 New upstream release varnish-7.2.0 2022-09-20 09:17:25 +02:00
Ingvar Hagelund
9eb58e1d45 New upstream release. The regular bi-annual "fresh" release
Removed list of patches from comments
Cosmetical changes to specfile from upstream
Now build with --with-contrib
2022-09-20 09:03:44 +02:00
Ingvar Hagelund
81188f651d New upstream release. A security release
Includes fix for VSV00009 aka CVE-2022-38150
2022-08-12 11:48:33 +02:00
Fedora Release Engineering
080212f0f3 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 11:41:49 +00:00
Ingvar Hagelund
8238fb02e8 New upstream release
Includes updated snapshot of pkg-varnish
2022-03-29 15:41:12 +02:00
Luboš Uhliarik
33f3a47bab Fix Provides directive for varnish-devel package 2022-02-21 12:16:46 +01:00
Ingvar Hagelund
4624908388 New upstream release. A security release
Includes fix for CVE-2022-23959 aka VSV00008, rhbz#2045033
2022-01-26 15:38:46 +01:00
Fedora Release Engineering
53ddde7cf9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 03:48:19 +00:00
Ingvar Hagelund
4c633f0ba8 update release number 2022-01-13 14:48:27 +01:00
Ingvar Hagelund
83e31e04f0 Update ABI string 2022-01-13 14:47:11 +01:00
Ingvar Hagelund
09baceb7fa New upstream release. A maintenance and stability release 2022-01-13 09:57:06 +01:00
Ingvar Hagelund
0059ddef65 New upstream release. A maintenance and stability release 2022-01-13 09:52:31 +01:00
Ingvar Hagelund
85d4f11b58 upstream switched to pcre2 a while ago 2021-11-04 10:21:25 +01:00
Ingvar Hagelund
fe2fc39809 - New upstream release 7.0.0
- Updated pkg-varnish checkout from the 7.0 branch
2021-10-02 01:35:47 +02:00
Ingvar Hagelund
ee6e68eab7 - fixed a minimal patch for a failing test on armv7hl 2021-09-28 17:00:53 +02:00
Ingvar Hagelund
830aac4ef4 - New upstream release
- Updated pkg-varnish checkout from the 7.0 branch
- Added a minimal patch for a failing test on armv7hl
2021-09-23 00:20:21 +02:00
Ingvar Hagelund
e25baab38f - New upstream release
- Updated pkg-varnish checkout from the 7.0 branch
- Added a minimal patch for a failing test on armv7hl
2021-09-23 00:19:19 +02:00
Ingvar Hagelund
f2252ed21b New upstream release
Updated pkg-varnish checkout from the 7.0 branch
2021-09-22 19:45:54 +02:00
Fedora Release Engineering
af2ba5d46a - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 20:19:02 +00:00
Ingvar Hagelund
b1c417d25c Bumped abi and vrt versions 2021-07-17 02:10:18 +02:00
Ingvar Hagelund
ace6dac2a3 New upstream release
Includes fix for CVE-2021-36740 aka VSV00007, bz#1982413
2021-07-17 01:19:15 +02:00
Ingvar Hagelund
a575c94cae corrected changelog item 2021-05-18 16:57:08 +02:00
Timm Bäder
1a114f250c spec: Use make macros 2021-05-18 16:37:33 +02:00
Ingvar Hagelund
69d4c9d2a7 New upstream release
Now provides vmod_purge
Uses haproxy in the test suite on el8
Skipped obsoleting varnish-libs. That was many years ago now.
2021-05-18 15:21:57 +02:00
2f923727f9 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:04 +01:00
Fedora Release Engineering
fef0a7f31d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 22:55:13 +00:00
Ingvar Hagelund
cbc6e0615f Pulled support for el6
Pulled support for sysvinit
aarch64 builds now with jemalloc again on el7
2021-01-22 09:37:56 +01:00
Ingvar Hagelund
45b447537f New upstream release varnish-6.5.1 2020-09-28 20:51:35 +02:00
Ingvar Hagelund
6d591be49e New upstream release varnish-6.5.0
Respun silly patch to get rid of compiler warnings on el6
2020-09-16 12:08:17 +02:00
Ingvar Hagelund
0f66bf1df4 just fixing a typo in the changelog 2020-08-04 12:49:14 +02:00
Ingvar Hagelund
618dace694 Added -Wno-error=free-nonheap-object to CFLAS to build on s390x 2020-08-04 12:48:36 +02:00
Fedora Release Engineering
dfdaceb1aa - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 09:34:56 +00:00
Fedora Release Engineering
9da002095b - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 13:33:38 +00:00
Ingvar Hagelund
ee480c32a0 varnish-6.4.0.tgz 2020-03-17 09:27:07 +01:00
Ingvar Hagelund
01d1f9ea29 New upstream release
Respin patches for 6.4.0
Removed patches merged upstream
Deactivated a test on s390*. Too hard to get size and timing right
2020-03-17 09:25:58 +01:00
Ingvar Hagelund
f991bec47a Got corrected compilation fix patch from upstream 2020-02-11 23:01:19 +01:00
Ingvar Hagelund
42153a6679 Added simple compilation fix for gcc-10.0.1/s390x 2020-02-11 00:04:59 +01:00
Ingvar Hagelund
eaeab2ccb1 New upstream release, a security release. Includes fix for VSV00005
Added new checkout of pkg-varnish
Temporarily disable haproxy unit tests, as haproxy seems broken in rawhide
2020-02-10 17:01:54 +01:00
Joe Orton
2a41fc3289 drop buildreq on (retired) vttest (#1800232)
Resolves: rhbz#1800232
2020-02-10 08:21:05 +00:00
Fedora Release Engineering
afd8f6706f - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 02:56:55 +00:00
Ingvar Hagelund
0c468e2dbb Removed ~backup files from patch 2019-10-22 00:55:40 +02:00
Ingvar Hagelund
bdef9062c2 New upstream release. A security release. Includes fix for VSV00004 2019-10-22 00:47:48 +02:00
Ingvar Hagelund
49517c2ab5 Respin patch for el6 2019-09-20 10:46:26 +02:00
Ingvar Hagelund
c5f384155e patch 17 is no longer needed 2019-09-17 08:54:14 +02:00
Ingvar Hagelund
d61a640702 New upstream release 2019-09-17 07:10:02 +02:00
Ingvar Hagelund
c5ca2aadab Remember to add sources. 2019-09-06 13:04:14 +02:00
Ingvar Hagelund
c68e08d1ed New upstream release. A security release. Includes fix for CVE-2019-15892 2019-09-04 15:55:51 +02:00
Ingvar Hagelund
894274a02e Pull in extra requirements to the build requirements to run more
tests (on fedora: haproxy, vttest)
2019-08-08 10:09:31 +02:00
Ingvar Hagelund
aecde494bd Pull in extra requirements to the build requirements to run more
tests (on fedora: haproxy, vttest)
2019-08-08 10:08:25 +02:00
Fedora Release Engineering
e2e0ad0e94 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 02:48:16 +00:00
Ingvar Hagelund
1066153b6b Run configure with LT_SYS_LIBRARY_PATH, removing the need for
killing RPATH in libtool with sed and scattering LD_LIBRARY_PATH around
  with patches
Some explicit python version fixes needed for el7 python34 vs python36
aarch64 now builds with jemalloc again on fedora
2019-04-04 13:19:47 +02:00
Ingvar Hagelund
d67e18a39e New upstream release varnish-6.2
Removed patches merged upstream
Remove misc sed hacks for bugs that are fixed upstream
Added a patch for gcc-4.4 -Werror support on el6
Added a patch from upstream to fix too small thread pool stack in a test
Override macro __python to make brp-python-bytecompile choose python3
Explicitly use python-3.4
Switch to make_install macro
Better documentation of patches
Updated checkout of pkg-varnish-cache
2019-03-20 15:59:21 +01:00
Ingvar Hagelund
b15d5fbcd2 Adding a patch based on upstream commits, fixing pcre-jit, see
upstream bug 2912
2019-03-07 16:50:36 +01:00
Ingvar Hagelund
14c11acbc3 Adding a patch from upstream fixing a simple formatting bug on gcc-9 2019-02-14 13:02:18 +01:00
Fedora Release Engineering
a0e516d27c - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:06:40 +00:00
4eadf13ec8 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:54 +01:00
Ingvar Hagelund
667bce7d17 remember to actually upload the source files 2018-11-08 13:55:13 +01:00
Ingvar Hagelund
e8b4b2faa7 updated sources with varnish-6.1.1.tgz 2018-11-08 13:49:31 +01:00
Ingvar Hagelund
83956d0d57 Respun ld_library_path patch for varnish-6.1.1 2018-11-07 12:06:26 +01:00
Ingvar Hagelund
5c129661d9 added updated patch for ld_library_patch for varnish-6.1.1 2018-11-07 12:05:11 +01:00
Ingvar Hagelund
eb93bb33d3 New upstream release 2018-11-07 12:04:36 +01:00
Ingvar Hagelund
5f1fdbc3d1 Dropped the depricated external dependency generator in Fedora
Hard coded vmod, abi and vrt provides
2018-11-06 14:38:12 +01:00
Ingvar Hagelund
5f148715b1 Added a patch to fix a failing test in the testsuite 2018-11-02 18:03:29 +01:00
Ingvar Hagelund
cf9e8c090e just a simple output change because of curses version in fedora 2018-11-02 16:47:55 +01:00
Ingvar Hagelund
ec04755b00 New upstream release
Respin patches for 6.1.0
Disable pcre-jit for now, ref upstream bug #2817
2018-11-02 16:26:05 +01:00
20 changed files with 1477 additions and 280 deletions

57
.gitignore vendored
View file

@ -32,16 +32,47 @@ varnish-2.1.3.tar.gz
/pkg-varnish-cache-0ad2f22.tar.gz
/varnish-6.0.0.tgz
/varnish-6.0.1.tgz
/varnish-6.0.2.tgz
/varnish-6.0.3.tgz
/varnish-6.0.4.tgz
/varnish-6.0.5.tgz
/varnish-6.0.6.tgz
/varnish-6.0.7.tgz
/pkg-varnish-cache-6890e35.tar.gz
/varnish-6.0.8.tgz
/varnish-6.0.9.tgz
/varnish-6.0.10.tgz
/varnish-6.0.11.tgz
/varnish-6.0.12.tgz
/varnish-6.0.13.tgz
/varnish-6.1.0.tgz
/varnish-6.1.1.tgz
/varnish-6.2.0.tgz
/pkg-varnish-cache-114fcdd.tar.gz
/varnish-6.2.1.tgz
/varnish-6.3.0.tgz
/varnish-6.3.1.tgz
/pkg-varnish-cache-ec7ad9e.tar.gz
/varnish-6.3.2.tgz
/varnish-6.4.0.tgz
/varnish-6.5.0.tgz
/varnish-6.5.1.tgz
/varnish-6.6.0.tgz
/varnish-6.6.1.tgz
/pkg-varnish-cache-d3e6a3f.tar.gz
/varnish-7.0.0.tgz
/varnish-7.0.1.tgz
/varnish-7.0.2.tgz
/pkg-varnish-cache-3ba24a8.tar.gz
/varnish-7.1.0.tgz
/varnish-7.1.1.tgz
/pkg-varnish-cache-ffc59a3.tar.gz
/varnish-7.2.0.tgz
/varnish-7.2.1.tgz
/pkg-varnish-cache-7126673.tar.gz
/varnish-7.3.0.tgz
/pkg-varnish-cache-cfa8cb3.tar.gz
/varnish-7.4.0.tgz
/varnish-7.4.1.tgz
/varnish-7.4.2.tgz
/varnish-7.5.0.tgz
/varnish-7.6.0.tgz
/pkg-varnish-cache-7d90347.tar.gz
/varnish-7.6.1.tgz
/varnish-7.7.0.tgz
/varnish-7.7.1.tgz
/jemalloc-5.3.0.tar.bz2
/varnish-7.7.3.tgz
/varnish-8.0.0.tgz
/pkg-varnish-cache-1f0d212.tar.gz
/varnish-9.0.0.tar.gz
/varnish-9.0.1.tar.gz
/varnish-9.0.2.tar.gz
/varnish-9.0.3.tar.gz

View file

@ -0,0 +1,140 @@
diff --git a/test/unit/psset.c b/test/unit/psset.c
index 6ff7201..58b4a88 100644
--- a/test/unit/psset.c
+++ b/test/unit/psset.c
@@ -124,7 +124,7 @@ TEST_BEGIN(test_fill) {
hpdata_t pageslab;
hpdata_init(&pageslab, PAGESLAB_ADDR, PAGESLAB_AGE);
- edata_t alloc[HUGEPAGE_PAGES];
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
psset_t psset;
psset_init(&psset);
@@ -147,6 +147,8 @@ TEST_BEGIN(test_fill) {
edata_init_test(&extra_alloc);
err = test_psset_alloc_reuse(&psset, &extra_alloc, PAGE);
expect_true(err, "Alloc succeeded even though psset should be empty");
+
+ free(alloc);
}
TEST_END
@@ -157,7 +159,7 @@ TEST_BEGIN(test_reuse) {
hpdata_t pageslab;
hpdata_init(&pageslab, PAGESLAB_ADDR, PAGESLAB_AGE);
- edata_t alloc[HUGEPAGE_PAGES];
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
psset_t psset;
psset_init(&psset);
@@ -239,6 +241,8 @@ TEST_BEGIN(test_reuse) {
err = test_psset_alloc_reuse(&psset, &alloc[index_of_4], 4 * PAGE);
expect_false(err, "Should have been able to find alloc.");
edata_expect(&alloc[index_of_4], index_of_4, 4);
+
+ free(alloc);
}
TEST_END
@@ -249,7 +253,7 @@ TEST_BEGIN(test_evict) {
hpdata_t pageslab;
hpdata_init(&pageslab, PAGESLAB_ADDR, PAGESLAB_AGE);
- edata_t alloc[HUGEPAGE_PAGES];
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
psset_t psset;
psset_init(&psset);
@@ -273,6 +277,8 @@ TEST_BEGIN(test_evict) {
err = test_psset_alloc_reuse(&psset, &alloc[0], PAGE);
expect_true(err, "psset should be empty.");
+
+ free(alloc);
}
TEST_END
@@ -286,7 +292,9 @@ TEST_BEGIN(test_multi_pageslab) {
(void *)((uintptr_t)PAGESLAB_ADDR + HUGEPAGE),
PAGESLAB_AGE + 1);
- edata_t alloc[2][HUGEPAGE_PAGES];
+ edata_t* alloc[2];
+ alloc[0] = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
+ alloc[1] = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
psset_t psset;
psset_init(&psset);
@@ -336,6 +344,9 @@ TEST_BEGIN(test_multi_pageslab) {
*/
err = test_psset_alloc_reuse(&psset, &alloc[1][0], 2 * PAGE);
expect_false(err, "Allocation should have succeeded");
+
+ free(alloc[0]);
+ free(alloc[1]);
}
TEST_END
@@ -385,7 +396,7 @@ TEST_BEGIN(test_stats) {
hpdata_t pageslab;
hpdata_init(&pageslab, PAGESLAB_ADDR, PAGESLAB_AGE);
- edata_t alloc[HUGEPAGE_PAGES];
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
psset_t psset;
psset_init(&psset);
@@ -415,6 +426,8 @@ TEST_BEGIN(test_stats) {
stats_expect(&psset, 0);
psset_update_end(&psset, &pageslab);
stats_expect(&psset, 1);
+
+ free(alloc);
}
TEST_END
@@ -475,8 +488,8 @@ init_test_pageslabs(psset_t *psset, hpdata_t *pageslab,
TEST_BEGIN(test_oldest_fit) {
bool err;
- edata_t alloc[HUGEPAGE_PAGES];
- edata_t worse_alloc[HUGEPAGE_PAGES];
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
+ edata_t *worse_alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
hpdata_t pageslab;
hpdata_t worse_pageslab;
@@ -493,14 +506,19 @@ TEST_BEGIN(test_oldest_fit) {
expect_false(err, "Nonempty psset failed page allocation");
expect_ptr_eq(&pageslab, edata_ps_get(&test_edata),
"Allocated from the wrong pageslab");
+
+ free(alloc);
+ free(worse_alloc);
}
TEST_END
TEST_BEGIN(test_insert_remove) {
bool err;
hpdata_t *ps;
- edata_t alloc[HUGEPAGE_PAGES];
- edata_t worse_alloc[HUGEPAGE_PAGES];
+
+ edata_t *alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
+ edata_t *worse_alloc = (edata_t *)malloc(sizeof(edata_t) * HUGEPAGE_PAGES);
+
hpdata_t pageslab;
hpdata_t worse_pageslab;
@@ -539,6 +557,9 @@ TEST_BEGIN(test_insert_remove) {
psset_update_begin(&psset, &worse_pageslab);
err = test_psset_alloc_reuse(&psset, &alloc[HUGEPAGE_PAGES - 1], PAGE);
expect_true(err, "psset should be empty, but an alloc succeeded");
+
+ free(alloc);
+ free(worse_alloc);
}
TEST_END

View file

@ -0,0 +1,29 @@
commit 3de0c24859f4413bf03448249078169bb50bda0f
Author: divanorama <divanorama@gmail.com>
Date: Thu Sep 29 23:35:59 2022 +0200
Disable builtin malloc in tests
With `--with-jemalloc-prefix=` and without `-fno-builtin` or `-O1` both clang and gcc may optimize out `malloc` calls
whose result is unused. Comparing result to NULL also doesn't necessarily count as being used.
This won't be a problem in most client programs as this only concerns really unused pointers, but in
tests it's important to actually execute allocations.
`-fno-builtin` should disable this optimization for both gcc and clang, and applying it only to tests code shouldn't hopefully be an issue.
Another alternative is to force "use" of result but that'd require more changes and may miss some other optimization-related issues.
This should resolve https://github.com/jemalloc/jemalloc/issues/2091
diff --git a/Makefile.in b/Makefile.in
index 6809fb29..a964f07e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -458,6 +458,8 @@ $(TESTS_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.c
$(TESTS_CPP_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.cpp
$(TESTS_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include
$(TESTS_CPP_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include
+$(TESTS_OBJS): CFLAGS += -fno-builtin
+$(TESTS_CPP_OBJS): CPPFLAGS += -fno-builtin
ifneq ($(IMPORTLIB),$(SO))
$(CPP_OBJS) $(C_SYM_OBJS) $(C_OBJS) $(C_JET_SYM_OBJS) $(C_JET_OBJS): CPPFLAGS += -DDLLEXPORT
endif

View file

@ -1,2 +1,3 @@
SHA512 (varnish-6.0.13.tgz) = 3bdb4f04bdb22789ebe04a1e57dc814a7d7e642456cce2696f7e05fe557a277f18d5dc4a2df22a27fa9445447af3356ebdb3c5d63c01bb32d9bff7881aa8a703
SHA512 (pkg-varnish-cache-0ad2f22.tar.gz) = b66c05f74f9bd62ddf16ab3e7904f4e74993bd1406aaebf20d4dca840198430da9f5e746af22778f1a73063113ac19b6f8127d77ff71c30c246fd5fab5ed78da
SHA512 (varnish-9.0.3.tar.gz) = 2789cff88632c2279062a109513cc00cab7690785f8f77e90b9968098c71ddcdc6403d6a9edc755b8f4055f0d32d9e330b0bc20fbab92ba80232955942dc912a
SHA512 (jemalloc-5.3.0.tar.bz2) = 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1
SHA512 (pkg-varnish-cache-1f0d212.tar.gz) = 9f05978c99f292e64e71ba24ef2de791a33640e40fbad66d47889837fb0d4ced203873f5a17716edf757b5ad48098289882c2df196ce1fb457f279bf7f35bec3

View file

@ -1,20 +0,0 @@
--- varnish-6.0.7/bin/varnishtest/tests/v00064.vtc 2020-11-06 11:26:43.000000000 +0100
+++ varnish-6.5.1/bin/varnishtest/tests/v00064.vtc 2020-09-25 11:14:30.000000000 +0200
@@ -44,7 +44,7 @@
delay .1
varnish v1 -expect SM?.Transient.g_bytes > 1048000
-varnish v1 -expect SM?.Transient.g_space == 8
+varnish v1 -expect SM?.Transient.g_space < 50
client c1 {
# Fill malloc
@@ -56,7 +56,7 @@
} -run
varnish v1 -expect SM?.s0.g_bytes > 1048000
-varnish v1 -expect SM?.s0.g_space == 4
+varnish v1 -expect SM?.s0.g_space < 50
client c1 {
# Check that Varnish is still alive

View file

@ -0,0 +1,53 @@
--- doc/sphinx/Makefile.in.orig 2018-11-02 14:53:14.812956915 +0100
+++ doc/sphinx/Makefile.in 2018-11-02 14:54:31.575517733 +0100
@@ -642,9 +642,11 @@
rm -rf $(BUILDDIR)
include/cli.rst: $(top_builddir)/bin/varnishd/varnishd
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishd/varnishd -x cli > $@
include/params.rst: $(top_builddir)/bin/varnishd/varnishd
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishd/varnishd -x parameter > $@
include/counters.rst: $(top_srcdir)/lib/libvcc/vsctool.py $(COUNTERS)
@@ -656,28 +658,38 @@
# XXX add varnishstat here when it's been _opt2rst'ed
include/varnishncsa_options.rst: $(top_builddir)/bin/varnishncsa/varnishncsa
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishncsa/varnishncsa --options > $@
include/varnishncsa_synopsis.rst: $(top_builddir)/bin/varnishncsa/varnishncsa
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishncsa/varnishncsa --synopsis > $@
include/varnishlog_options.rst: $(top_builddir)/bin/varnishlog/varnishlog
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishlog/varnishlog --options > $@
include/varnishlog_synopsis.rst: $(top_builddir)/bin/varnishlog/varnishlog
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishlog/varnishlog --synopsis > $@
include/varnishtop_options.rst: $(top_builddir)/bin/varnishtop/varnishtop
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishtop/varnishtop --options > $@
include/varnishtop_synopsis.rst: $(top_builddir)/bin/varnishtop/varnishtop
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishtop/varnishtop --synopsis > $@
include/varnishhist_options.rst: $(top_builddir)/bin/varnishhist/varnishhist
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishhist/varnishhist --options > $@
include/varnishhist_synopsis.rst: $(top_builddir)/bin/varnishhist/varnishhist
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishhist/varnishhist --synopsis > $@
include/varnishstat_options.rst: $(top_builddir)/bin/varnishstat/varnishstat
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishstat/varnishstat --options > $@
include/varnishstat_synopsis.rst: $(top_builddir)/bin/varnishstat/varnishstat
+ LD_LIBRARY_PATH=$(top_builddir)/lib/libvarnishapi/.libs \
$(top_builddir)/bin/varnishstat/varnishstat --synopsis > $@
include/vsl-tags.rst: $(top_builddir)/lib/libvarnishapi/vsl2rst

View file

@ -0,0 +1,13 @@
--- bin/varnishtest/tests/u00008.vtc.orig 2018-11-02 16:06:40.731680282 +0100
+++ bin/varnishtest/tests/u00008.vtc 2018-11-02 16:07:21.587092836 +0100
@@ -38,8 +38,8 @@
process p1 -screen_dump
process p1 -winsz 25 132
-process p1 -expect-text 4 124 "AVG_1000"
-process p1 -expect-text 22 108 "UNSEEN DIAG"
+process p1 -expect-text 4 0 "AVG_1000"
+process p1 -expect-text 22 0 "UNSEEN DIAG"
process p1 -screen_dump -write {q} -wait

View file

@ -0,0 +1,115 @@
This patch is a fix for memory issues with
pcre-jit, see upstream bug report at
https://github.com/varnishcache/varnish-cache/issues/2817
The patch is based on upstream commits
a3129a5340566d17192de8058a9c1dbb051a7039
683b7cbe8cde1dde8f9e516a354b82430f1d318e
1226e77f9501c56976635c714c99d84f417aa5d2
diff -Naur a/bin/varnishd/cache/cache_panic.c b/bin/varnishd/cache/cache_panic.c
--- a/bin/varnishd/cache/cache_panic.c 2018-10-24 11:29:10.000000000 +0200
+++ b/bin/varnishd/cache/cache_panic.c 2019-03-07 16:27:16.592441674 +0100
@@ -601,6 +601,33 @@
VSB_indent(vsb, -2);
}
+#ifdef HAVE_PTHREAD_GETATTR_NP
+static void
+pan_threadattr(struct vsb *vsb)
+{
+ pthread_attr_t attr[1];
+ size_t sz;
+ void *addr;
+
+ if (pthread_getattr_np(pthread_self(), attr) != 0)
+ return;
+
+ VSB_cat(vsb, "pthread.attr = {\n");
+ VSB_indent(vsb, 2);
+
+ if (pthread_attr_getguardsize(attr, &sz) == 0)
+ VSB_printf(vsb, "guard = %zu,\n", sz);
+ if (pthread_attr_getstack(attr, &addr, &sz) == 0) {
+ VSB_printf(vsb, "stack_bottom = %p,\n", addr);
+ VSB_printf(vsb, "stack_top = %p,\n", (char *)addr + sz);
+ VSB_printf(vsb, "stack_size = %zu,\n", sz);
+ }
+ VSB_indent(vsb, -2);
+ VSB_cat(vsb, "}\n");
+ (void) pthread_attr_destroy(attr);
+}
+#endif
+
/*--------------------------------------------------------------------*/
static void __attribute__((__noreturn__))
@@ -673,6 +700,10 @@
if (q != NULL)
VSB_printf(pan_vsb, "thread = (%s)\n", q);
+#ifdef HAVE_PTHREAD_GETATTR_NP
+ pan_threadattr(pan_vsb);
+#endif
+
if (!FEATURE(FEATURE_SHORT_PANIC)) {
req = THR_GetRequest();
VSB_cat(pan_vsb, "thr.");
diff -Naur a/bin/varnishd/mgt/mgt_param.c b/bin/varnishd/mgt/mgt_param.c
--- a/bin/varnishd/mgt/mgt_param.c 2018-10-24 11:29:10.000000000 +0200
+++ b/bin/varnishd/mgt/mgt_param.c 2019-03-07 16:27:16.594441699 +0100
@@ -494,6 +494,8 @@
MCF_TcpParams();
+ def = 56 * 1024;
+
if (sizeof(void *) < 8) { /*lint !e506 !e774 */
/*
* Adjust default parameters for 32 bit systems to conserve
@@ -505,20 +507,16 @@
MCF_ParamConf(MCF_DEFAULT, "http_req_size", "12k");
MCF_ParamConf(MCF_DEFAULT, "gzip_buffer", "4k");
MCF_ParamConf(MCF_MAXIMUM, "vsl_space", "1G");
+ def = 48 * 1024;
}
-#if !defined(HAVE_ACCEPT_FILTERS) || defined(__linux)
- MCF_ParamConf(MCF_DEFAULT, "accept_filter", "off");
-#endif
-
low = sysconf(_SC_THREAD_STACK_MIN);
MCF_ParamConf(MCF_MINIMUM, "thread_pool_stack", "%jdb", (intmax_t)low);
#if defined(__SANITIZER) || __has_feature(address_sanitizer)
def = 92 * 1024;
-#else
- def = 48 * 1024;
#endif
+
if (def < low)
def = low;
MCF_ParamConf(MCF_DEFAULT, "thread_pool_stack", "%jdb", (intmax_t)def);
@@ -529,6 +527,10 @@
MCF_ParamConf(MCF_MAXIMUM, "thread_pools", "%d", MAX_THREAD_POOLS);
+#if !defined(HAVE_ACCEPT_FILTERS) || defined(__linux)
+ MCF_ParamConf(MCF_DEFAULT, "accept_filter", "off");
+#endif
+
VCLS_AddFunc(mgt_cls, MCF_AUTH, cli_params);
vsb = VSB_new_auto();
diff -Naur a/configure.ac b/configure.ac
--- a/configure.ac 2018-10-26 13:22:45.000000000 +0200
+++ b/configure.ac 2019-03-07 16:27:16.592441674 +0100
@@ -239,6 +239,7 @@
AC_CHECK_FUNCS([pthread_set_name_np])
AC_CHECK_FUNCS([pthread_setname_np])
AC_CHECK_FUNCS([pthread_mutex_isowned_np])
+AC_CHECK_FUNCS([pthread_getattr_np])
LIBS="${save_LIBS}"
# Support for visibility attribute

View file

@ -1,6 +1,6 @@
--- doc/sphinx/Makefile.in.orig 2018-11-26 21:53:39.236269183 +0100
+++ doc/sphinx/Makefile.in 2018-11-26 21:56:29.511635180 +0100
@@ -642,10 +642,12 @@
--- doc/sphinx/Makefile.in.orig 2018-11-06 16:46:59.403632379 +0100
+++ doc/sphinx/Makefile.in 2018-11-06 16:48:28.011784013 +0100
@@ -643,10 +643,12 @@
rm -rf $(BUILDDIR)
include/cli.rst: $(top_builddir)/bin/varnishd/varnishd
@ -13,7 +13,7 @@
$(top_builddir)/bin/varnishd/varnishd -x parameter > ${@}_
mv ${@}_ ${@}
@@ -659,41 +661,52 @@
@@ -660,41 +662,52 @@
# XXX add varnishstat here when it's been _opt2rst'ed
include/varnishncsa_options.rst: $(top_builddir)/bin/varnishncsa/varnishncsa

View file

@ -1,12 +1,10 @@
From 7119d790b590e7fb560ad602cedfda5185c7e841 Mon Sep 17 00:00:00 2001
From: Poul-Henning Kamp <phk@FreeBSD.org>
Date: Fri, 11 Jan 2019 10:26:44 +0000
Subject: [PATCH] Avoid printing %s,NULL in case of errors we do not expect.
commit 7119d790b590e7fb560ad602cedfda5185c7e841
Author: Poul-Henning Kamp <phk@FreeBSD.org>
Date: Fri Jan 11 10:26:44 2019 +0000
Fixes #2879
---
lib/libvarnish/vnum.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
Avoid printing %s,NULL in case of errors we do not expect.
Fixes #2879
diff --git a/lib/libvarnish/vnum.c b/lib/libvarnish/vnum.c
index b619199c6..59e804ec8 100644

View file

@ -0,0 +1,73 @@
--- bin/varnishtest/vtc_main.c.orig 2019-03-15 12:31:56.999877378 +0100
+++ bin/varnishtest/vtc_main.c 2019-03-15 12:33:07.679889311 +0100
@@ -228,7 +228,7 @@
assert(cleaner_pid >= 0);
if (cleaner_pid == 0) {
closefd(&p[1]);
- (void)nice(1); /* Not important */
+ if (nice(1)) 1; /* Not important */
setbuf(stdin, NULL);
AZ(dup2(p[0], STDIN_FILENO));
while (fgets(buf, sizeof buf, stdin)) {
--- lib/libvarnishapi/vsm.c.orig 2019-03-18 13:24:01.377237092 +0100
+++ lib/libvarnishapi/vsm.c 2019-03-18 13:24:42.765783845 +0100
@@ -682,18 +682,18 @@
VSM_ResetError(vd);
if (u & VSM_MGT_RUNNING) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (write(progress, "\n", 1)) 1;
vd->attached = 1;
return (0);
}
if (t0 < VTIM_mono()) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (write(progress, "\n", 1)) 1;
return (vsm_diag(vd,
"Could not get hold of varnishd, is it running?"));
}
if (progress >= 0 && !(++n % 4))
- (void)write(progress, ".", 1);
+ if (write(progress, ".", 1)) 1;
VTIM_sleep(.25);
}
return (vsm_diag(vd, "Attach interrupted"));
--- bin/varnishd/http1/cache_http1_deliver.c.orig 2019-03-18 13:30:43.262546105 +0100
+++ bin/varnishd/http1/cache_http1_deliver.c 2019-03-18 14:12:48.980850397 +0100
@@ -74,7 +74,7 @@
VSLb(req->vsl, SLT_RespReason, "Internal Server Error");
req->wrk->stats->client_resp_500++;
- (void)write(req->sp->fd, r_500, sizeof r_500 - 1);
+ if (write(req->sp->fd, r_500, sizeof r_500 - 1)) 0;
req->doclose = SC_TX_EOF;
}
--- ./bin/varnishd/mgt/mgt_param.c.orig 2019-03-18 14:48:56.084720420 +0100
+++ ./bin/varnishd/mgt/mgt_param.c 2019-03-18 14:51:25.867836687 +0100
@@ -802,11 +802,11 @@
t2 = strchr(t1 + 1, '\t');
AN(t2);
printf("\n\t*");
- (void)fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout);
+ if (fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout)) 1;
printf("*\n\t\t");
p = t2 + 1;
}
- (void)fwrite(p, q - p, 1, stdout);
+ if (fwrite(p, q - p, 1, stdout)) 1;
p = q;
if (*p == '\n') {
printf("\n");
--- ./bin/varnishd/proxy/cache_proxy_proto.c.orig 2019-03-18 14:54:18.257283901 +0100
+++ ./bin/varnishd/proxy/cache_proxy_proto.c 2019-03-18 14:54:47.119693630 +0100
@@ -669,7 +669,7 @@
WRONG("Wrong proxy version");
AZ(VSB_finish(vsb));
- (void)write(fd, VSB_data(vsb), VSB_len(vsb));
+ if (write(fd, VSB_data(vsb), VSB_len(vsb))) 1;
if (!DO_DEBUG(DBG_PROTOCOL)) {
VSB_delete(vsb);
return;

View file

@ -0,0 +1,40 @@
commit 88948d982bcd165e05967d2a9c8684eb9f9cbd01
Author: Nils Goroll <nils.goroll@uplex.de>
Date: Wed Mar 20 11:24:33 2019 +0100
Change the stack overflow test to 128kb stacksize
on ppc64 fedora, the thread_pool_stack minimum is 128kb due to
sysconf(_SC_THREAD_STACK_MIN) = 131072
It does not harm the test to use a larger stacksize, so we adjust it to
this requirement for consistency and simplicity
diff --git a/bin/varnishtest/tests/c00057.vtc b/bin/varnishtest/tests/c00057.vtc
index 5118c79a0..be6569d24 100644
--- a/bin/varnishtest/tests/c00057.vtc
+++ b/bin/varnishtest/tests/c00057.vtc
@@ -12,7 +12,7 @@ server s1 {
varnish v1 \
-arg "-p feature=+no_coredump" \
-arg "-p vcc_allow_inline_c=true" \
- -arg "-p thread_pool_stack=48k" \
+ -arg "-p thread_pool_stack=128k" \
-vcl+backend {
C{
#include <signal.h>
@@ -27,11 +27,12 @@ void (*accessor)(volatile char *p) = _accessor;
}C
sub vcl_recv { C{
+ const int stkkb = 128;
int i;
- volatile char overflow[48*1024];
+ volatile char overflow[stkkb * 1024];
/* for downwards stack, take care to hit a single guard page */
- for (i = 47*1024; i >= 0; i -= 1024)
+ for (i = (stkkb - 1) * 1024; i >= 0; i -= 1024)
accessor(overflow + i);
/* NOTREACHED */
sleep(2);

View file

@ -0,0 +1,79 @@
diff -Naur varnish-6.3.0.orig/bin/varnishd/http1/cache_http1_deliver.c varnish-6.3.0/bin/varnishd/http1/cache_http1_deliver.c
--- varnish-6.3.0.orig/bin/varnishd/http1/cache_http1_deliver.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishd/http1/cache_http1_deliver.c 2019-09-20 08:59:52.609482627 +0200
@@ -74,7 +74,7 @@
VSLb(req->vsl, SLT_RespReason, "Internal Server Error");
req->wrk->stats->client_resp_500++;
- (void)write(req->sp->fd, r_500, sizeof r_500 - 1);
+ if (write(req->sp->fd, r_500, sizeof r_500 - 1)) 0;
req->doclose = SC_TX_EOF;
}
diff -Naur varnish-6.3.0.orig/bin/varnishd/mgt/mgt_param.c varnish-6.3.0/bin/varnishd/mgt/mgt_param.c
--- varnish-6.3.0.orig/bin/varnishd/mgt/mgt_param.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishd/mgt/mgt_param.c 2019-09-20 09:01:38.866609297 +0200
@@ -805,11 +805,11 @@
t2 = strchr(t1 + 1, '\t');
AN(t2);
printf("\n\t*");
- (void)fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout);
+ if (fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout)) 1;
printf("*\n\t\t");
p = t2 + 1;
}
- (void)fwrite(p, q - p, 1, stdout);
+ if(fwrite(p, q - p, 1, stdout)) 1;
p = q;
if (*p == '\n') {
printf("\n");
diff -Naur varnish-6.3.0.orig/bin/varnishd/proxy/cache_proxy_proto.c varnish-6.3.0/bin/varnishd/proxy/cache_proxy_proto.c
--- varnish-6.3.0.orig/bin/varnishd/proxy/cache_proxy_proto.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishd/proxy/cache_proxy_proto.c 2019-09-20 09:02:55.762424644 +0200
@@ -645,7 +645,7 @@
WRONG("Wrong proxy version");
AZ(VSB_finish(vsb));
- (void)VSB_tofile(fd, vsb); // XXX: Error handling ?
+ if (VSB_tofile(fd, vsb)) 1; // XXX: Error handling ?
if (!DO_DEBUG(DBG_PROTOCOL)) {
VSB_delete(vsb);
return;
diff -Naur varnish-6.3.0.orig/bin/varnishtest/vtc_main.c varnish-6.3.0/bin/varnishtest/vtc_main.c
--- varnish-6.3.0.orig/bin/varnishtest/vtc_main.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishtest/vtc_main.c 2019-09-20 08:56:45.639506046 +0200
@@ -230,7 +230,7 @@
assert(cleaner_pid >= 0);
if (cleaner_pid == 0) {
closefd(&p[1]);
- (void)nice(1); /* Not important */
+ if (nice(1)) 1;
setbuf(stdin, NULL);
AZ(dup2(p[0], STDIN_FILENO));
while (fgets(buf, sizeof buf, stdin)) {
diff -Naur varnish-6.3.0.orig/lib/libvarnishapi/vsm.c varnish-6.3.0/lib/libvarnishapi/vsm.c
--- varnish-6.3.0.orig/lib/libvarnishapi/vsm.c 2019-09-16 10:24:19.000000000 +0200
+++ varnish-6.3.0/lib/libvarnishapi/vsm.c 2019-09-20 10:36:02.434763755 +0200
@@ -763,18 +763,18 @@
VSM_ResetError(vd);
if (u & VSM_MGT_RUNNING) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
vd->attached = 1;
return (0);
}
if (t0 < VTIM_mono()) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
return (vsm_diag(vd,
"Could not get hold of varnishd, is it running?"));
}
if (progress >= 0 && !(++n % 4))
- (void)write(progress, ".", 1);
+ if (!write(progress, ".", 1)) return (vsm_diag(vd, "Unable to write progress"));
VTIM_sleep(.25);
}
return (vsm_diag(vd, "Attach interrupted"));

View file

@ -0,0 +1,67 @@
diff -Naur varnish-6.3.0.orig/bin/varnishd/http1/cache_http1_deliver.c varnish-6.3.0/bin/varnishd/http1/cache_http1_deliver.c
--- varnish-6.3.0.orig/bin/varnishd/http1/cache_http1_deliver.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishd/http1/cache_http1_deliver.c 2019-09-20 08:59:52.609482627 +0200
@@ -74,7 +74,7 @@
VSLb(req->vsl, SLT_RespReason, "Internal Server Error");
req->wrk->stats->client_resp_500++;
- (void)write(req->sp->fd, r_500, sizeof r_500 - 1);
+ if (write(req->sp->fd, r_500, sizeof r_500 - 1)) 0;
req->doclose = SC_TX_EOF;
}
diff -Naur varnish-6.3.0.orig/bin/varnishd/mgt/mgt_param.c varnish-6.3.0/bin/varnishd/mgt/mgt_param.c
--- varnish-6.3.0.orig/bin/varnishd/mgt/mgt_param.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishd/mgt/mgt_param.c 2019-09-20 09:01:38.866609297 +0200
@@ -805,11 +805,11 @@
t2 = strchr(t1 + 1, '\t');
AN(t2);
printf("\n\t*");
- (void)fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout);
+ if (fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout)) 1;
printf("*\n\t\t");
p = t2 + 1;
}
- (void)fwrite(p, q - p, 1, stdout);
+ if(fwrite(p, q - p, 1, stdout)) 1;
p = q;
if (*p == '\n') {
printf("\n");
diff -Naur varnish-6.3.0.orig/bin/varnishtest/vtc_main.c varnish-6.3.0/bin/varnishtest/vtc_main.c
--- varnish-6.3.0.orig/bin/varnishtest/vtc_main.c 2019-09-16 10:24:15.000000000 +0200
+++ varnish-6.3.0/bin/varnishtest/vtc_main.c 2019-09-20 08:56:45.639506046 +0200
@@ -230,7 +230,7 @@
assert(cleaner_pid >= 0);
if (cleaner_pid == 0) {
closefd(&p[1]);
- (void)nice(1); /* Not important */
+ if (nice(1)) 1;
setbuf(stdin, NULL);
AZ(dup2(p[0], STDIN_FILENO));
while (fgets(buf, sizeof buf, stdin)) {
diff -Naur varnish-6.3.0.orig/lib/libvarnishapi/vsm.c varnish-6.3.0/lib/libvarnishapi/vsm.c
--- varnish-6.3.0.orig/lib/libvarnishapi/vsm.c 2019-09-16 10:24:19.000000000 +0200
+++ varnish-6.3.0/lib/libvarnishapi/vsm.c 2019-09-20 10:36:02.434763755 +0200
@@ -763,18 +763,18 @@
VSM_ResetError(vd);
if (u & VSM_MGT_RUNNING) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
vd->attached = 1;
return (0);
}
if (t0 < VTIM_mono()) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
return (vsm_diag(vd,
"Could not get hold of varnishd, is it running?"));
}
if (progress >= 0 && !(++n % 4))
- (void)write(progress, ".", 1);
+ if (!write(progress, ".", 1)) return (vsm_diag(vd, "Unable to write progress"));
VTIM_sleep(.25);
}
return (vsm_diag(vd, "Attach interrupted"));

View file

@ -0,0 +1,78 @@
diff -Naur ../varnish-6.5.0.orig/bin/varnishd/http1/cache_http1_deliver.c ./bin/varnishd/http1/cache_http1_deliver.c
--- ../varnish-6.5.0.orig/bin/varnishd/http1/cache_http1_deliver.c 2020-09-15 17:06:03.000000000 +0200
+++ ./bin/varnishd/http1/cache_http1_deliver.c 2020-09-16 11:45:28.663086943 +0200
@@ -76,7 +76,7 @@
VSLb(req->vsl, SLT_RespReason, "Internal Server Error");
req->wrk->stats->client_resp_500++;
- (void)write(req->sp->fd, r_500, sizeof r_500 - 1);
+ if (write(req->sp->fd, r_500, sizeof r_500 - 1)) 0;
req->doclose = SC_TX_EOF;
}
diff -Naur ../varnish-6.5.0.orig/bin/varnishd/mgt/mgt_main.c ./bin/varnishd/mgt/mgt_main.c
--- ../varnish-6.5.0.orig/bin/varnishd/mgt/mgt_main.c 2020-09-15 17:06:03.000000000 +0200
+++ ./bin/varnishd/mgt/mgt_main.c 2020-09-16 11:46:21.323667133 +0200
@@ -252,7 +252,7 @@
return;
VJ_rmdir("vmod_cache");
VJ_unlink("_.pid");
- (void)chdir("/");
+ if (chdir("/")) 0;
VJ_rmdir(workdir);
}
diff -Naur ../varnish-6.5.0.orig/bin/varnishd/mgt/mgt_param.c ./bin/varnishd/mgt/mgt_param.c
--- ../varnish-6.5.0.orig/bin/varnishd/mgt/mgt_param.c 2020-09-15 17:06:03.000000000 +0200
+++ ./bin/varnishd/mgt/mgt_param.c 2020-09-16 11:45:28.771086082 +0200
@@ -829,11 +829,11 @@
t2 = strchr(t1 + 1, '\t');
AN(t2);
printf("\n\t*");
- (void)fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout);
+ if (fwrite(t1 + 1, (t2 - 1) - t1, 1, stdout)) 1;
printf("*\n\t\t");
p = t2 + 1;
}
- (void)fwrite(p, q - p, 1, stdout);
+ if(fwrite(p, q - p, 1, stdout)) 1;
p = q;
if (*p == '\n') {
printf("\n");
diff -Naur ../varnish-6.5.0.orig/bin/varnishtest/vtc_main.c ./bin/varnishtest/vtc_main.c
--- ../varnish-6.5.0.orig/bin/varnishtest/vtc_main.c 2020-09-15 17:06:03.000000000 +0200
+++ ./bin/varnishtest/vtc_main.c 2020-09-16 11:45:28.771086082 +0200
@@ -233,7 +233,7 @@
assert(cleaner_pid >= 0);
if (cleaner_pid == 0) {
closefd(&p[1]);
- (void)nice(1); /* Not important */
+ if (nice(1)) 1;
setbuf(stdin, NULL);
AZ(dup2(p[0], STDIN_FILENO));
while (fgets(buf, sizeof buf, stdin)) {
diff -Naur ../varnish-6.5.0.orig/lib/libvarnishapi/vsm.c ./lib/libvarnishapi/vsm.c
--- ../varnish-6.5.0.orig/lib/libvarnishapi/vsm.c 2020-09-15 17:06:03.000000000 +0200
+++ ./lib/libvarnishapi/vsm.c 2020-09-16 11:45:28.772086074 +0200
@@ -764,18 +764,18 @@
VSM_ResetError(vd);
if (u & VSM_MGT_RUNNING) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
vd->attached = 1;
return (0);
}
if (t0 < VTIM_mono()) {
if (progress >= 0 && n > 4)
- (void)write(progress, "\n", 1);
+ if (!write(progress, "\n", 1)) return (vsm_diag(vd, "Unable to write progress"));
return (vsm_diag(vd,
"Could not get hold of varnishd, is it running?"));
}
if (progress >= 0 && !(++n % 4))
- (void)write(progress, ".", 1);
+ if (!write(progress, ".", 1)) return (vsm_diag(vd, "Unable to write progress"));
VTIM_sleep(.25);
}
return (vsm_diag(vd, "Attach interrupted"));

View file

@ -0,0 +1,178 @@
commit 95e41dfa584d108e444949534c7ce5801cffeacc
Author: Poul-Henning Kamp <phk@FreeBSD.org>
Date: Wed Mar 26 09:25:43 2025 +0000
If the client sends NO_RFC7540_PRIORITIES, "rxprio" verbs become no-ops.
Fixes: #4298
Tested by: @ingvarha
commit 3a1eb57d8bd57205db7d2c766aed39cf73c4f578
Author: Poul-Henning Kamp <phk@FreeBSD.org>
Date: Wed Mar 26 09:24:17 2025 +0000
Add more HTTP2 Settings to the table
diff --git a/bin/varnishtest/vtc.h b/bin/varnishtest/vtc.h
index 2e5d4161a..b765fe60a 100644
--- a/bin/varnishtest/vtc.h
+++ b/bin/varnishtest/vtc.h
@@ -148,7 +148,7 @@ struct http;
void cmd_stream(CMD_ARGS);
void start_h2(struct http *hp);
void stop_h2(struct http *hp);
-void b64_settings(const struct http *hp, const char *s);
+void b64_settings(struct http *hp, const char *s);
/* vtc_gzip.c */
void vtc_gunzip(struct http *, char *, long *);
diff --git a/bin/varnishtest/vtc_http.h b/bin/varnishtest/vtc_http.h
index 7a86de8da..62c598a55 100644
--- a/bin/varnishtest/vtc_http.h
+++ b/bin/varnishtest/vtc_http.h
@@ -83,6 +83,7 @@ struct http {
/* H/2 */
unsigned h2;
int wf;
+ int no_rfc7540_priorities;
pthread_t tp;
VTAILQ_HEAD(, stream) streams;
diff --git a/bin/varnishtest/vtc_http2.c b/bin/varnishtest/vtc_http2.c
index 822abbae1..7feeb42b0 100644
--- a/bin/varnishtest/vtc_http2.c
+++ b/bin/varnishtest/vtc_http2.c
@@ -629,7 +629,7 @@ parse_settings(const struct stream *s, struct frame *f)
buf = "unknown";
u += 4;
- if (t == 1) {
+ if (t == SETTINGS_HEADER_TABLE_SIZE) {
r = HPK_ResizeTbl(s->hp->encctx, v);
assert(r == hpk_done);
}
@@ -2460,28 +2460,47 @@ cmd_rxsettings(CMD_ARGS)
hp->h2_win_peer->init = val;
}
}
+/* SECTION: stream.spec.prio_rxprio rxprio
+ *
+ * Receive a PRIORITY frame.
+ */
+static void
+cmd_rxprio (CMD_ARGS)
+{
+ struct stream *s;
+ (void)av;
+ CAST_OBJ_NOTNULL(s, priv, STREAM_MAGIC);
+ if (s->hp->no_rfc7540_priorities) {
+ vtc_log(vl, 4, "skipping rxprio: no_rfc7540_priorities is set");
+ return;
+ }
+ s->frame = rxstuff(s);
+ if (s->frame != NULL && s->frame->type != TYPE_PRIORITY) {
+ vtc_fatal(vl,
+ "Wrong frame type %s (%d) wanted %s",
+ s->frame->type < TYPE_MAX ?
+ h2_types[s->frame->type] : "?",
+ s->frame->type, "PRIORITY");
+ }
+}
#define RXFUNC(lctype, upctype) \
static void \
- cmd_rx ## lctype(CMD_ARGS) { \
+ cmd_rx ## lctype(CMD_ARGS) \
+ { \
struct stream *s; \
(void)av; \
CAST_OBJ_NOTNULL(s, priv, STREAM_MAGIC); \
s->frame = rxstuff(s); \
- if (s->frame != NULL && s->frame->type != TYPE_ ## upctype) \
+ if (s->frame != NULL && s->frame->type != TYPE_ ## upctype) { \
vtc_fatal(vl, \
"Wrong frame type %s (%d) wanted %s", \
s->frame->type < TYPE_MAX ? \
h2_types[s->frame->type] : "?", \
s->frame->type, #upctype); \
+ } \
}
-/* SECTION: stream.spec.prio_rxprio rxprio
- *
- * Receive a PRIORITY frame.
- */
-RXFUNC(prio, PRIORITY)
-
/* SECTION: stream.spec.reset_rxrst rxrst
*
* Receive a RST_STREAM frame.
@@ -2857,7 +2876,7 @@ cmd_stream(CMD_ARGS)
}
void
-b64_settings(const struct http *hp, const char *s)
+b64_settings(struct http *hp, const char *s)
{
uint16_t i;
uint64_t v, vv;
@@ -2891,7 +2910,10 @@ b64_settings(const struct http *hp, const char *s)
else
buf = "unknown";
- if (v == 1) {
+ if (i == SETTINGS_NO_RFC7540_PRIORITIES) {
+ hp->no_rfc7540_priorities = v;
+ }
+ if (i == SETTINGS_HEADER_TABLE_SIZE) {
enum hpk_result hrs;
if (hp->sfd) {
AN(hp->encctx);
diff --git a/include/tbl/h2_settings.h b/include/tbl/h2_settings.h
index 2dbac671f..273f157fe 100644
--- a/include/tbl/h2_settings.h
+++ b/include/tbl/h2_settings.h
@@ -102,7 +102,39 @@ H2_SETTING( // rfc7540,l,2159,2167
0xffffffff,
0
)
-#endif
+
+H2_SETTING( // rfc8441
+ ENABLE_CONNECT_PROTOCOL,
+ enable_connect_protocol,
+ 0x8,
+ 0,
+ 0,
+ 1,
+ H2CE_PROTOCOL_ERROR
+)
+
+H2_SETTING( // rfc9218
+ NO_RFC7540_PRIORITIES,
+ no_rfc7540_priorities,
+ 0x9,
+ 0,
+ 0,
+ 1,
+ H2CE_PROTOCOL_ERROR
+)
+
+H2_SETTING( // [MS-HTTP2E]
+ // [Gabriel_Montenegro]
+ TLS_RENEG_PERMITTED,
+ tls_reneg_permitted,
+ 0x10,
+ 0,
+ 0,
+ 3,
+ H2CE_PROTOCOL_ERROR
+)
+#endif /* !H2_SETTINGS_PARAM_ONLY */
+
#undef H2_SETTING
/*lint -restore */

View file

@ -0,0 +1,38 @@
Author: Ingvar Hagelund <ingvar@redpill-linpro.com>
Date: Wed Apr 15 00:17:59 2026 +0200
Use ASN1_STRING functions for openssl-4.0.0
diff -Naur varnish-9.0.1.orig/bin/vinyltest/vtest2/src/vtc_asn_gentm.c varnish-9.0.1/bin/vinyltest/vtest2/src/vtc_asn_gentm.c
--- varnish-9.0.1.orig/bin/vinyltest/vtest2/src/vtc_asn_gentm.c 2026-04-08 18:57:33.000000000 +0200
+++ varnish-9.0.1/bin/vinyltest/vtest2/src/vtc_asn_gentm.c 2026-04-15 00:34:44.788211992 +0200
@@ -142,10 +142,10 @@
char *a;
int n, i, l, o;
- if (d->type != V_ASN1_GENERALIZEDTIME)
+ if (ASN1_STRING_type(d) != V_ASN1_GENERALIZEDTIME)
return (0);
- l = d->length;
- a = (char *)d->data;
+ l = ASN1_STRING_length(d);
+ a = (char *)ASN1_STRING_get0_data(d);
o = 0;
/*
* GENERALIZEDTIME is similar to UTCTIME except the year is represented
diff -Naur varnish-9.0.1.orig/bin/vinyltest/vtest2/src/vtc_tls.c varnish-9.0.1/bin/vinyltest/vtest2/src/vtc_tls.c
--- varnish-9.0.1.orig/bin/vinyltest/vtest2/src/vtc_tls.c 2026-04-08 18:57:33.000000000 +0200
+++ varnish-9.0.1/bin/vinyltest/vtest2/src/vtc_tls.c 2026-04-15 00:35:53.447792774 +0200
@@ -1060,10 +1060,10 @@
break;
case GEN_IPADD:
- p = n->d.ip->data;
+ p = ASN1_STRING_get0_data(n->d.ip);
AN(p);
- if (inet_ntop(n->d.ip->length == 16 ? AF_INET6 : AF_INET,
+ if (inet_ntop(ASN1_STRING_length(n->d.ip) == 16 ? AF_INET6 : AF_INET,
p, b, INET6_ADDRSTRLEN) == 0)
continue;

View file

@ -1,106 +1,125 @@
%global _hardened_build 1
%global _hardened_build 0
# https://github.com/varnishcache/varnish-cache/issues/2269
%global debug_package %{nil}
%if 0%{?rhel} == 7
%global _use_internal_dependency_generator 0
%global __find_provides %{_builddir}/%{name}-%{version}/find-provides %__find_provides
%global __python /usr/bin/python3.4
%else
%if 0%{?fedora} >= 30
%global __python %{__python3}
%else
%global __python /usr/bin/python3
%endif
%endif
# Default is to build with jemalloc (preferred by upstream, default on fedora)
# Add "--with system_allocator" if you insist on using the default malloc (glibc on rhel) instead
%bcond_with system_allocator
%global __provides_exclude_from ^%{_libdir}/varnish/vmods
%global abi 66e26fc5b617b13f77f425a8e1674f43596b6f5f
%global vrt 7.1
%global abi 0a625649cd40af4b6c10be5e58a2e89a5e275baa
%global vrt 23.1
# Package scripts are now external
# https://github.com/varnishcache/pkg-varnish-cache
%global commit1 0ad2f22629c4a368959c423a19e352c9c6c79682
%global commit1 1f0d212dc45065f38bd80ac57fe22773a20a0595
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
# Default: Use jemalloc, as adviced by upstream project
# Change to 1 to use system allocator (ie. glibc)
#
# for rhel >= 10, use bundled jemalloc
# for rhel < 10, use system allocator
%bcond system_allocator %[0%{?rhel} && 0%{?rhel} < 10]
%bcond bundled_jemalloc %[0%{?rhel} >= 10]
%define jemalloc_version 5.3.0
%define jemalloc_prefix varnish_
%if %{with system_allocator}
# use _lto_cflags if present
%else
%global _lto_cflags %{nil}
%endif
Summary: High-performance HTTP accelerator
Name: varnish
Version: 6.0.18
Release: 1%{?dist}
License: BSD
Group: System Environment/Daemons
Version: 9.0.3
Release: 3%{?dist}
License: BSD-2-Clause AND (BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND Zlib)
URL: https://www.varnish-cache.org/
Source0: https://github.com/varnish/%{name}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/varnish/varnish/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/varnishcache/pkg-varnish-cache/archive/%{commit1}.tar.gz#/pkg-varnish-cache-%{shortcommit1}.tar.gz
Patch1: varnish-6.0.2.fix_ld_library_path_in_doc_build.patch
Patch18: varnish-6.3.2_fix_s390x.patch
Source2: varnish.sysusers
Source3: https://github.com/jemalloc/jemalloc/releases/download/%{jemalloc_version}/jemalloc-%{jemalloc_version}.tar.bz2
Source4: varnish.tmpfiles
# Compatibility with openssl-4.0.0
# https://github.com/varnish/varnish/issues/32
Patch1: varnish-9.0.1_openssl_4.0_asn1.patch
%if %{with bundled_jemalloc}
# bundled jemalloc patch
Patch100: jemalloc-5.3.0_fno-builtin.patch
Patch101: jemalloc-5.3.0-aarch64-ts-segfault.patch
%endif
%if 0%{?fedora} > 28
Provides: varnish%{_isa} = %{version}-%{release}
Provides: varnishd(abi)%{_isa} = %{abi}
Provides: varnishd(vrt)%{_isa} = %{vrt}
Provides: vmod(blob)%{_isa} = %{version}-%{release}
Provides: vmod(cookie)%{_isa} = %{version}-%{release}
Provides: vmod(debug)%{_isa} = %{version}-%{release}
Provides: vmod(directors)%{_isa} = %{version}-%{release}
Provides: vmod(h2)%{_isa} = %{version}-%{release}
Provides: vmod(proxy)%{_isa} = %{version}-%{release}
Provides: vmod(purge)%{_isa} = %{version}-%{release}
Provides: vmod(std)%{_isa} = %{version}-%{release}
Provides: vmod(unix)%{_isa} = %{version}-%{release}
Provides: vmod(vtc)%{_isa} = %{version}-%{release}
%if %{with bundled_jemalloc}
Provides: bundled(jemalloc)
%endif
Obsoletes: varnish-libs < %{version}-%{release}
%if 0%{?rhel} == 7
BuildRequires: python-sphinx python34-docutils
%else
BuildRequires: python3-sphinx, python3-docutils
%endif
%if 0%{?rhel} > 8 || 0%{?fedora} > 40
BuildRequires: vttest
BuildRequires: haproxy
%endif
BuildRequires: systemd-rpm-macros
%{?systemd_requires}
%{?sysusers_requires_compat}
BuildRequires: python3, python3-sphinx, python3-docutils
BuildRequires: gcc
%if %{without bundled_jemalloc}
%if %{with system_allocator}
# use glibc
%else
%ifnarch aarch64
BuildRequires: jemalloc-devel
%endif
%endif
%endif
BuildRequires: libedit-devel
BuildRequires: ncurses-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: gcc
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: pcre2-devel
BuildRequires: pkgconfig
BuildRequires: openssl-devel
%if %{with bundled_jemalloc}
BuildRequires: /usr/bin/xsltproc
BuildRequires: perl-generators
%endif
# Extra requirements for the build suite
# needs haproxy2
%if 0%{?fedora} > 30
BuildRequires: haproxy
%endif
BuildRequires: nghttp2
# Varnish actually needs gcc installed to work. It uses the C compiler
# at runtime to compile the VCL configuration files. This is by design.
Requires: gcc
Requires: logrotate
Requires: ncurses
Requires: pcre
Requires: pcre2
Requires: redhat-rpm-config
Requires(post): /usr/bin/uuidgen
%if %{with system_allocator}
# use glibc
%else
%if %{without bundled_jemalloc}
Requires: jemalloc
%endif
Requires: redhat-rpm-config
Requires(pre): shadow-utils
Requires(post): /usr/bin/uuidgen
# Varnish actually needs gcc installed to work. It uses the C compiler
# at runtime to compile the VCL configuration files. This is by design.
Requires: gcc
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
Requires(post): systemd-units
Requires(post): systemd-sysv
Requires(preun): systemd-units
Requires(postun): systemd-units
BuildRequires: systemd-units
%endif
%description
@ -116,118 +135,210 @@ available on: https://www.varnish-cache.org/
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
BuildRequires: ncurses-devel
#BuildRequires: ncurses-devel
Provides: varnish-libs-devel%{?isa} = %{version}-%{release}
Provides: varnish-libs-devel = %{version}-%{release}
Obsoletes: varnish-libs-devel < %{version}-%{release}
Requires: %{name} = %{version}-%{release}
Requires: python3
%description devel
Development files for %{name}
Varnish Cache is a high-performance HTTP accelerator
Requires: %{name} = %{version}-%{release}
Requires: python3
%package docs
Summary: Documentation files for %name
Group: Documentation
%description docs
Documentation files for %name
%prep
%setup -q -n varnish-%{version}%{?vd_rc}
%setup -q
%if 0%{?fedora} > 44 || 0%{?rhel} > 10
%patch 1 -p1
%endif
tar xzf %SOURCE1
ln -s pkg-varnish-cache-%{commit1}/redhat redhat
ln -s pkg-varnish-cache-%{commit1}/debian debian
cp redhat/find-provides .
sed -i 's,rst2man-3.6,rst2man-3.4,g; s,rst2html-3.6,rst2html-3.4,g; s,phinx-build-3.6,phinx-build-3.4,g' configure
%patch -P1 -p0
%patch -P18 -p1
# jemalloc
%if %{with bundled_jemalloc}
tar xjf %SOURCE3
sed -i '/^LIBPREFIX/s/@libprefix@/@libprefix@%{jemalloc_prefix}/' jemalloc*/Makefile.in
pushd jemalloc*
%patch 100 -p1 -b .jemalloc
%patch 101 -p1 -b .ts-segfault
popd
%if 0%{?fedora} > 42
rm bin/varnishtest/tests/a02022.vtc
# Override PAGESIZE, bz #1545539
%ifarch %ix86 %arm x86_64 s390x riscv64
%define lg_page --with-lg-page=12
%endif
%ifarch ppc64 ppc64le aarch64
%define lg_page --with-lg-page=16
%endif
# Disable thp on systems not supporting this for now
%ifarch %ix86 %arm aarch64 s390x
%define disable_thp --disable-thp
%endif
%endif
%build
%if %{with bundled_jemalloc}
# build bundled jemalloc first
pushd jemalloc*
echo "For debugging package builders"
echo "What is the pagesize?"
getconf PAGESIZE
echo "What mm features are available?"
ls /sys/kernel/mm
ls /sys/kernel/mm/transparent_hugepage || true
cat /sys/kernel/mm/transparent_hugepage/enabled || true
echo "What kernel version and config is this?"
uname -a
%configure %{?disable_thp} %{?lg_page} --enable-prof
make %{?_smp_mflags}
popd
%endif
# varnish
%if %{with system_allocator}
export CFLAGS="%{optflags}"
%else
# nilled _lto_cflags above because they remove the deps on jemalloc.
# On the fedoras, _lto_cflags is -flto=auto and -ffat-lto-objects. The latter is OK.
export CFLAGS="%{optflags} -ffat-lto-objects"
%endif
# https://gcc.gnu.org/wiki/FAQ#PR323
%ifarch %ix86
%if 0%{?fedora} > 21
export CFLAGS="%{optflags} -ffloat-store -fexcess-precision=standard"
export CFLAGS="$CFLAGS -ffloat-store -fexcess-precision=standard"
%endif
%endif
%if 0%{?fedora} > 41 || 0%{?rhel} > 10
export CFLAGS="$CFLAGS -std=gnu17"
%endif
%if 0%{?fedora} > 42 || 0%{?rhel} > 10
export CFLAGS="$CFLAGS -Wno-error=discarded-qualifiers"
%endif
%ifarch s390x
export CFLAGS="$CFLAGS -Wno-error=free-nonheap-object"
%endif
# What platform is this
uname -a
# What gcc version is this?
gcc --version
# What is the page size
getconf PAGESIZE
# Man pages are prebuilt. No need to regenerate them.
export RST2MAN=/bin/true
# Explicit python, please
export PYTHON=%{__python}
export PYTHON=python3
%configure --disable-static \
%ifarch aarch64
--with-jemalloc=no \
for f in configure configure.ac; do
sed -i 's|ljemalloc|l%{jemalloc_prefix}jemalloc|g' $f
done
%if %{with bundled_jemalloc}
export LDFLAGS="$LDFLAGS -L%{_builddir}/%{name}-%{version}/jemalloc-%{jemalloc_version}/lib"
%endif
%configure LT_SYS_LIBRARY_PATH=%_libdir \
--disable-static \
--localstatedir=/var/lib \
--with-contrib \
--docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \
%if %{with system_allocator}
%ifarch %ix86
%if 0%{?fedora} <= 37
--enable-pcre2-jit=no \
%endif
%endif
%if %{with system_allocator} || %{without bundled_jemalloc}
--with-jemalloc=no \
%endif
#ifarch x86_64 #arm
# --disable-pcre-jit \
#endif
# We have to remove rpath - not allowed in Fedora
# (This problem only visible on 64 bit arches)
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g;
s|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# I'll never understand libtool
mkdir lib/libvarnishapi/.libs
pushd lib/libvarnishapi/.libs
ln -s libvarnishapi.so libvarnishapi.so.1
popd
# el7 defaults to LANG=C, which makes python3 fail on utf8
%if 0%{?rhel} == 7
export LANG=en_US.UTF-8
%if %{with bundled_jemalloc}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/jemalloc-%{jemalloc_version}/lib
%endif
make %{?_smp_mflags} V=1
%make_build
# One varnish user is enough
sed -i 's,User=varnishlog,User=varnish,g;' redhat/varnishncsa.service
# Explicit python, please
sed -i 's,env python3,python3,;' lib/libvcc/vmodtool.py
sed -i 's,env python3,python3,;' lib/libvcc/vsctool.py
# Clean up the html documentation
rm -rf doc/html/_sources
%check
# haproxy version compatibility stuff
sed -i 's/HA-Proxy version/HAProxy version/g;' bin/varnishtest/tests/*.vtc
rm bin/varnishtest/tests/h00004.vtc
# check jemalloc first
%if %{with bundled_jemalloc}
pushd jemalloc*
make %{?_smp_mflags} check
popd
%endif
%ifarch ppc64 ppc64le aarch64
sed -i 's/48/128/g;' bin/varnishtest/tests/c00057.vtc
# Up the stack size in tests, necessary on secondary arches
sed -i 's/thread_pool_stack 80k/thread_pool_stack 128k/g;' bin/vinyltest/tests/*.vtc
sed -i 's/file,2M/file,8M/' bin/vinyltest/tests/r04036.vtc
%ifarch %ix86
sed -i 's/param.set workspace_thread 0.55k/param.set workspace_thread 0.5k/' bin/vinyltest/tests/b00081.vtc
%endif
# Upstream issues 3061, 3308
%ifarch %ix86 x86_64 armv7hl
sed -i 's/-vcl {$/\\/g; 4 a -arg "-p thread_pool_stack=64k" -vcl {' bin/varnishtest/tests/m00035.vtc
sed -i 's/client, -12/client, -11/g;' bin/varnishtest/tests/v00058.vtc
rm bin/varnishtest/tests/r03308.*
# This is a bug in varnishtest making it incompatible with nghttp2 >= 1.65
#if 0#{?fedora} > 41 || 0#{?rhel} > 10
#rm bin/varnishtest/tests/a02022.vtc
#endif
%if %{with bundled_jemalloc}
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/jemalloc-%{jemalloc_version}/lib
%endif
# This runs fine in the emulator, but not on Red Hat's builders
# Upstream is looking at it, upstream issue #36
%ifarch s390x
rm bin/vinyltest/tests/t02033.vtc
%endif
# Just a hack to avoid too high load on secondary arch builders
%ifarch s390x ppc64le %ix86
make check
%else
%make_build check
%endif
make %{?_smp_mflags} check LD_LIBRARY_PATH="%{buildroot}%{_libdir}:%{buildroot}%{_libdir}/%{name}" VERBOSE=1
%install
rm -rf %{buildroot}
# el7 defaults to LANG=C, which makes python3 fail on utf8
%if 0%{?rhel} == 7
export LANG=en_US.UTF-8
# jemalloc
%if %{with bundled_jemalloc}
pushd jemalloc*
make DESTDIR=%{buildroot} install_lib %{?_smp_mflags}
find %{buildroot}%{_libdir}/ -name '*.a' -exec rm -vf {} ';'
# we don't need .pc file
rm %{buildroot}%{_libdir}/pkgconfig/jemalloc.pc
popd
%endif
make install DESTDIR=%{buildroot} INSTALL="install -p"
%{make_install}
# None of these for fedora
find %{buildroot}/%{_libdir}/ -name '*.la' -exec rm -f {} ';'
@ -241,60 +352,55 @@ install -D -m 0644 redhat/varnish.logrotate %{buildroot}%{_sysconfdir}/logrotate
install -D -m 0644 include/vcs_version.h %{buildroot}%{_includedir}/varnish
install -D -m 0644 include/vrt.h %{buildroot}%{_includedir}/varnish
# systemd
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
mkdir -p %{buildroot}%{_unitdir}
install -D -m 0644 redhat/varnish.service %{buildroot}%{_unitdir}/varnish.service
install -D -m 0644 redhat/varnishncsa.service %{buildroot}%{_unitdir}/varnishncsa.service
# sysvinit
%else
install -D -m 0644 redhat/varnish.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/varnish
install -D -m 0755 redhat/varnish.initrc %{buildroot}%{_initrddir}/varnish
install -D -m 0755 redhat/varnishncsa.initrc %{buildroot}%{_initrddir}/varnishncsa
%endif
install -D -m 0755 redhat/varnishreload %{buildroot}%{_sbindir}/varnishreload
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/varnish.conf
echo %{_libdir}/varnish > %{buildroot}%{_sysconfdir}/ld.so.conf.d/varnish-%{_arch}.conf
# tmpfiles.d configuration
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 -p %{SOURCE4} %{buildroot}%{_tmpfilesdir}/varnish.conf
echo %{_libdir}/varnish > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
# No idea why these ends up with mode 600 in the debug package
%if 0%{debug_package}
chmod 644 lib/libvmod_*/*.c
chmod 644 lib/libvmod_*/*.h
%endif
%pre
%sysusers_create_compat %{SOURCE2}
%files
%if "%{_sbindir}" != "%{_bindir}"
%{_sbindir}/*
%endif
%{_bindir}/*
%{_libdir}/*.so.*
%{_libdir}/varnish
%{_libdir}/%{name}
%{_var}/lib/varnish
%attr(0700,varnish,varnish) %dir %{_var}/log/varnish
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man7/*.7*
%license LICENSE
%doc README.rst ChangeLog
%doc README.md ChangeLog
%doc etc/builtin.vcl etc/example.vcl
%dir %{_sysconfdir}/varnish/
%config(noreplace) %{_sysconfdir}/varnish/default.vcl
%config(noreplace) %{_sysconfdir}/logrotate.d/varnish
%config %{_sysconfdir}/ld.so.conf.d/varnish-%{_arch}.conf
%config %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
# systemd from fedora 17 and rhel 7
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
%{_unitdir}/varnish.service
%{_unitdir}/varnishncsa.service
# default is standard sysvinit
%else
%config(noreplace) %{_sysconfdir}/sysconfig/varnish
%{_initrddir}/varnish
%{_initrddir}/varnishncsa
%endif
%{_sysusersdir}/varnish.conf
%{_tmpfilesdir}/varnish.conf
%files devel
%license LICENSE
%doc README.rst
%doc README.md
%{_libdir}/lib*.so
%{_includedir}/%{name}
%{_libdir}/pkgconfig/varnishapi.pc
@ -306,143 +412,316 @@ chmod 644 lib/libvmod_*/*.h
%doc doc/html
%doc doc/changes*.html
%pre
getent group varnish >/dev/null || groupadd -r varnish
getent passwd varnish >/dev/null || \
useradd -r -g varnish -d /var/lib/varnish -s /sbin/nologin \
-c "Varnish Cache" varnish
exit 0
%post
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
%systemd_post varnish.service
# Other distros: Use chkconfig
%else
/sbin/chkconfig --add varnish
/sbin/chkconfig --add varnishncsa
%endif
%systemd_post varnish varnishncsa
/sbin/ldconfig
# Previous versions had varnishlog and varnishncsa running as root
chown varnish:varnish /var/log/varnish/varnishncsa.log 2>/dev/null || true
test -f /etc/varnish/secret || (uuidgen > /etc/varnish/secret && chmod 0600 /etc/varnish/secret)
%postun
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%systemd_postun_with_restart varnish.service
%endif
%systemd_postun_with_restart varnish varnishncsa
/sbin/ldconfig
%preun
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%systemd_preun varnish.service
%else
if [ $1 -lt 1 ]; then
# Package removal, not upgrade
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
/bin/systemctl --no-reload disable varnish.service > /dev/null 2>&1 || :
/bin/systemctl stop varnish.service > /dev/null 2>&1 || :
/bin/systemctl stop varnishncsa.service > /dev/null 2>&1 || :
%else
/sbin/service varnish stop > /dev/null 2>&1
/sbin/service varnishncsa stop > /dev/null 2>%1
/sbin/chkconfig --del varnish
/sbin/chkconfig --del varnishncsa
%endif
fi
%endif
%systemd_preun varnish varnishncsa
%changelog
* Wed May 20 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.18-1
- New upstream release. A security relase
- Includes fix for VSV00019
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Thu Mar 26 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.17-1
- New upstream release. A security release
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 9.0.3-2
- Rebuilt for openssl 4.0
* Thu May 21 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 9.0.3-1
- New upstream release: A security relase
- Includes fix for VSV00019 aka CVE-2026-50052
* Fri May 15 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 9.0.2-1
- New upstream release: A bugfix release
* Fri Apr 10 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 9.0.1-1
- New upstream release
- Add patch for openssl-4.0.0 in rawhide
- Includes fix for VEV00002
* Fri Mar 27 2026 Ingvar Hagelund <ingvar@redpill-linpro.com> - 9.0.0-1
- New upstream release
- Includes fix for VSV00018
- Added support for a few more tests in the test suite
* Fri Aug 29 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.16-1
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Dec 11 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 8.0.0-1
- New upstream release
- New pkg-varnish-cache checkout
- Added cflag -Wno-error=discarded-qualifiers to build on fedora while waiting for upstream
* Wed Oct 29 2025 Luboš Uhliarik <luhliari@redhat.com> - 7.7.3-2
- Add tmpfiles.d rules for /var directories (bootc compatibility)
* Mon Sep 15 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.7.3-1
- New upstream release: A security release
- Includes fix for VSV00017 aka CVE-2025-8671, rhbz#2388222
* Thu Jul 31 2025 Luboš Uhliarik <luhliari@redhat.com> - 7.7.1-4
- bundle jemalloc in RHEL
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.7.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu May 22 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.7.1-2
- Correct ABI and VRT versions
- Pulled el7 support
- Use systemd setup for users
* Tue May 20 2025 Luboš Uhliarik <luhliari@redhat.com> - 7.7.1-1
- new version 7.7.1
* Thu Mar 27 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.7.0-2
- Fix for eln build (merged from yselkowitz)
- Fix for failing h2 switch check. Enabling full test suite again
* Mon Mar 24 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.7.0-1
- New upstream release
- fedora now has completed the bin/sbin merge
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 7.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Dec 02 2024 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.6.1-1
- New upstream release
* Mon Sep 16 2024 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.6.0-1
- New upstream release
- Updated checkout of pkg-varnish
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Mar 19 2024 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.5.0-1
- New upstream release
- Moved somethings around to make the diff from the upstream spec less
- Upped some memory requirements in some of the tests. Necessary on aarch64 and ppc64le (and ppc32)
- Reduced number of parallel jobs on s390x builders as builds tend to fail when stressed
- Retired armv7hl
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Nov 08 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.4.2-1
- New upstream release. A security release
- Includes fix for VSV00017,CVE-2025-8671, rhbz#2388222
- Includes fix for CVE-2023-44487 aka VSV00013, rhbz#2243328, HTTP/2 Rapid Reset Attack
* Mon Aug 11 2025 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.14-1
- New upstream release. A security release
- Includes fix for VSV00015 CVE-2025-30346, VSV00016 CVE-2025-47905
* Mon Apr 29 2024 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.13-1
- New upstream release. A security release
- Includes fix for VSV00014, CVE-2024-30156, rhbz#2271511
* Tue Nov 14 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.12-1
- New upstream release. A security release
- Includes fix for CVE-2023-44487 aka VSV00013, rhbz#2243328,
the HTTP/2 Rapid Reset Attack
* Tue Nov 15 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.11-1
- New upstream release. A security release
- Includes fix for CVE-2022-45060 aka VSV00011, rhbz#2141847
- Pulled support for el6
- Added bcond for system allocator
* Fri Jan 28 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.10-1
- New upstream release. A security release
- Includes fix for CVE-2022-23959 aka VSV00008, rhbz#2045032
* Thu Jan 13 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.9-1
* Thu Oct 12 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.4.1-1
- New upstream release. A bugfix release
* Sat Jul 17 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.8-1
* Wed Oct 11 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.4.0-0
- New upstream release
* Thu Sep 14 2023 Luboš Uhliarik <luhliari@redhat.com> - 7.3.0-5
- SPDX migration
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jun 23 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 7.3.0-3
- Enable system_allocator in RHEL/ELN builds
* Mon Mar 20 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.3.0-2
- Switched from bcond to bcond_with for compatibility with el8 and el9
- haproxy builddep on systems with haproxy2
- Disable pcre2-jit only for fedora <= 37 on 32bit x86
* Thu Mar 16 2023 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.3.0-1
- New upstream release
- Added a bcond system_allocator for skipping jemalloc, bz#1917697
- nil _lto_cflags macro to link to jemalloc again
- disable pcre2-jit on 32bit x86 for now
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Nov 09 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.2.1-1
- New upstream release: A security release
- Includes fix for VSV00011
* Fri Sep 16 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.2.0-1
- New upstream release. The regular bi-annual "fresh" release
- Removed list of patches from comments
- Cosmetical changes to specfile from upstream
- Now build with --with-contrib
* Fri Aug 12 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.1.1-1
- New upstream release. A security release
- Includes fix for VSV00009 aka CVE-2022-38150
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Mar 29 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.1.0-1
- New upstream release
- Includes updated snapshot of pkg-varnish
* Mon Feb 21 2022 Luboš Uhliarik <luhliari@redhat.com> - 7.0.2-2
- Fix Provides directive for varnish-devel package
* Wed Jan 26 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.0.2-1
- New upstream release. A security release
- Includes fix for CVE-2022-23959 aka VSV00008, rhbz#2045033
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jan 13 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.0.1-2
- Update ABI string
* Thu Jan 13 2022 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.0.1-1
- New upstream release. A maintenance and stability release
* Tue Nov 02 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.0.0-2
- upstream switched to pcre2 a while ago
* Thu Sep 16 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> - 7.0.0-1
- New upstream release
- Updated pkg-varnish checkout from the 7.0 branch
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 17 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.6.1-2
- Bumped abi and vrt versions
* Sat Jul 17 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.6.1-1
- New upstream release
- Includes fix for CVE-2021-36740 aka VSV00007, bz#1982413
* Tue Nov 17 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.7-2
- Added a small tuning patch fixing test suite on armv7hl
- Removing a non-working test on armv7hl
* Tue May 18 2021 Timm Bäder <tbaeder@redhat.com> - 6.6.0-2
- Use make macros
* Thu Nov 12 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.7-1
- New upstream release. A bugfix release
* Thu Feb 13 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.6-1
- New upstream release. A security release. Fixes VSV00005
- Versioned obsoletes
- Build with utf8 LANG on el6 and el7
- Changed the sed filter for explicit python as upstream has changed
* Tue Oct 22 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.5-1
- New upstream release. A security release. Fixes VSV00004
* Wed Sep 25 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.4-4
- Fix for tests/v00058.vtc on 32bit
* Thu Sep 19 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.4-3
- Updated vrt and abi versions
- Use macro __python for python3 when available
* Mon Sep 16 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.4-2
- Removed tests/v00059.vtc on 32bit after advice from varnish upstream
* Fri Sep 06 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.4-1
- New upstream relase. A security release including fix for CVE-2019-15892
* Mon Feb 25 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.3-1
* Mon Mar 15 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.6.0-1
- New upstream release
- Added a patch from upstream fixing a compile error on gcc9
- Now provides vmod_purge
- Uses haproxy in the test suite on el8
- Skipped obsoleting varnish-libs. That was many years ago now.
* Tue Nov 27 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.2-2
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.5.1-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 21 2021 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.5.1-2
- Pulled support for el6
- Pulled support for sysvinit
- aarch64 builds now with jemalloc again on el7
* Fri Sep 25 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.5.1-1
- New upstream release varnish-6.5.1
* Wed Sep 16 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.5.0-1
- New upstream release varnish-6.5.0
- Respun silly patch to get rid of compiler warnings on el6
* Tue Aug 04 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> 6.4.0-4
- Added -Wno-error=free-nonheap-object to CFLAGS to build on s390x
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Mar 16 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.4.0-1
- New upstream release
- Respin patches for 6.4.0
- Removed patches merged upstream
- Deactivated a test on s390*. Too hard to get size and timing right
* Wed Feb 12 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.2-3
- Got corrected compilation fix patch from upstream
* Tue Feb 11 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.2-2
- Added simple compilation fix for gcc-10.0.1/s390x
* Tue Feb 11 2020 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.2-1
- New upstream release, a security release. Includes fix for VSV00005
- Added new checkout of pkg-varnish
- Temporarily disable haproxy unit tests, as haproxy seems broken in rawhide
* Mon Feb 10 2020 Joe Orton <jorton@redhat.com> - 6.3.1-3
- drop buildreq on (retired) vttest (#1800232)
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 22 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.1-1
- New upstream release. A security release. Includes fix for VSV00004
* Fri Sep 20 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.0-2
- Respin patch for el6
* Mon Sep 16 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.3.0-1
- New upstream release
* Wed Sep 04 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.2.1-4
- New upstream release. A security release. Includes fix for CVE-2019-15892
* Thu Aug 08 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.2.0-4
- Pull in extra requirements to the build requirements to run more
tests (on fedora: haproxy, vttest)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Apr 04 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.2.0-2
- Run configure with LT_SYS_LIBRARY_PATH, removing the need for
killing RPATH in libtool with sed and scattering LD_LIBRARY_PATH around
with patches
- Some explicit python version fixes needed for el7 python34 vs python36
- aarch64 now builds with jemalloc again on fedora
* Fri Mar 15 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.2.0-1
- New upstream release varnish-6.2
- Removed patches merged upstream
- Remove misc sed hacks for bugs that are fixed upstream
- Added a patch for gcc-4.4 -Werror support on el6
- Added a patch from upstream to fix too small thread pool stack in a test
- Override macro __python to make brp-python-bytecompile choose python3
- Explicitly use python-3.4
- Switch to make_install macro
- Better documentation of patches
- Updated checkout of pkg-varnish-cache
* Thu Mar 07 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.1-5
- Adding a patch based on upstream commits, fixing pcre-jit, see
upstream bug 2912
* Thu Feb 14 2019 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.1-4
- Adding a patch from upstream fixing a simple formatting bug on gcc-9
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Nov 07 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.1-2
- Respun ld_library_path patch for varnish-6.1.1
* Wed Nov 07 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.1-1
- New upstream release
* Tue Nov 06 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.0-3
- Dropped the depricated external dependency generator in Fedora
- Hard coded vmod, abi and vrt provides
* Mon Nov 26 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.2-1
* Fri Nov 02 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.0-2
- Added a patch to fix a failing test in the testsuite
* Fri Nov 02 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.1.0-1
- New upstream release
- Respun necessary patches for varnish-6.0.2
- Dropped patches merged upstream
- Respin patches for 6.1.0
- Disable pcre-jit for now, ref upstream bug #2817
* Tue Oct 09 2018 Ingvar Hagelund <ingvar@redpill-linpro.com> - 6.0.1-3
- Explicitly using utf8 under install on el6 and el7 for python quirks
@ -900,19 +1179,19 @@ fi
- Added a s390 specific patch to libjemalloc.
* Fri Mar 27 2009 Ingvar Hagelund <ingvar@linpro.no> - 2.0.4-1
- New upstream release 2.0.4
New upstream release 2.0.4
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Feb 11 2009 Ingvar Hagelund <ingvar@linpro.no> - 2.0.3-1
- New upstream release 2.0.3. A bugfix and feature enhancement release
New upstream release 2.0.3. A bugfix and feature enhancement release
* Fri Dec 12 2008 Ingvar Hagelund <ingvar@linpro.no> - 2.0.2-2
- Added a fix for a timeout bug, backported from trunk
Added a fix for a timeout bug, backported from trunk
* Mon Nov 10 2008 Ingvar Hagelund <ingvar@linpro.no> - 2.0.2-1
- New upstream release 2.0.2. A bugfix release
New upstream release 2.0.2. A bugfix release
* Sun Nov 02 2008 Ingvar Hagelund <ingvar@linpro.no> - 2.0.1-2
- Removed the requirement for kernel => 2.6.0. All supported

3
varnish.sysusers Normal file
View file

@ -0,0 +1,3 @@
#Type Name ID GECOS Home directory Shell
g varnish -
u varnish - "Varnish Cache" /var/lib/varnish /sbin/nologin

2
varnish.tmpfiles Normal file
View file

@ -0,0 +1,2 @@
d /var/lib/varnish 755 root root -
d /var/log/varnish 700 varnish varnish -