diff --git a/.gitignore b/.gitignore index 5bac72c..566f559 100644 --- a/.gitignore +++ b/.gitignore @@ -32,47 +32,16 @@ varnish-2.1.3.tar.gz /pkg-varnish-cache-0ad2f22.tar.gz /varnish-6.0.0.tgz /varnish-6.0.1.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 +/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 diff --git a/jemalloc-5.3.0-aarch64-ts-segfault.patch b/jemalloc-5.3.0-aarch64-ts-segfault.patch deleted file mode 100644 index 624f4ff..0000000 --- a/jemalloc-5.3.0-aarch64-ts-segfault.patch +++ /dev/null @@ -1,140 +0,0 @@ -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 - diff --git a/jemalloc-5.3.0_fno-builtin.patch b/jemalloc-5.3.0_fno-builtin.patch deleted file mode 100644 index b938dff..0000000 --- a/jemalloc-5.3.0_fno-builtin.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 3de0c24859f4413bf03448249078169bb50bda0f -Author: divanorama -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 diff --git a/sources b/sources index abfe64e..f147e92 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (varnish-9.0.3.tar.gz) = 2789cff88632c2279062a109513cc00cab7690785f8f77e90b9968098c71ddcdc6403d6a9edc755b8f4055f0d32d9e330b0bc20fbab92ba80232955942dc912a -SHA512 (jemalloc-5.3.0.tar.bz2) = 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1 -SHA512 (pkg-varnish-cache-1f0d212.tar.gz) = 9f05978c99f292e64e71ba24ef2de791a33640e40fbad66d47889837fb0d4ced203873f5a17716edf757b5ad48098289882c2df196ce1fb457f279bf7f35bec3 +SHA512 (varnish-6.0.13.tgz) = 3bdb4f04bdb22789ebe04a1e57dc814a7d7e642456cce2696f7e05fe557a277f18d5dc4a2df22a27fa9445447af3356ebdb3c5d63c01bb32d9bff7881aa8a703 +SHA512 (pkg-varnish-cache-0ad2f22.tar.gz) = b66c05f74f9bd62ddf16ab3e7904f4e74993bd1406aaebf20d4dca840198430da9f5e746af22778f1a73063113ac19b6f8127d77ff71c30c246fd5fab5ed78da diff --git a/varnish-6.1.1_fix_ld_library_path_in_doc_build.patch b/varnish-6.0.2.fix_ld_library_path_in_doc_build.patch similarity index 94% rename from varnish-6.1.1_fix_ld_library_path_in_doc_build.patch rename to varnish-6.0.2.fix_ld_library_path_in_doc_build.patch index 8a5917e..ba74d04 100644 --- a/varnish-6.1.1_fix_ld_library_path_in_doc_build.patch +++ b/varnish-6.0.2.fix_ld_library_path_in_doc_build.patch @@ -1,6 +1,6 @@ ---- 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 @@ +--- 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 @@ rm -rf $(BUILDDIR) include/cli.rst: $(top_builddir)/bin/varnishd/varnishd @@ -13,7 +13,7 @@ $(top_builddir)/bin/varnishd/varnishd -x parameter > ${@}_ mv ${@}_ ${@} -@@ -660,41 +662,52 @@ +@@ -659,41 +661,52 @@ # XXX add varnishstat here when it's been _opt2rst'ed include/varnishncsa_options.rst: $(top_builddir)/bin/varnishncsa/varnishncsa diff --git a/varnish-6.1.1_fix_upstrbug_2879.patch b/varnish-6.0.3.fix_upstream_issue_2879.patch similarity index 75% rename from varnish-6.1.1_fix_upstrbug_2879.patch rename to varnish-6.0.3.fix_upstream_issue_2879.patch index 376175f..13e80b4 100644 --- a/varnish-6.1.1_fix_upstrbug_2879.patch +++ b/varnish-6.0.3.fix_upstream_issue_2879.patch @@ -1,10 +1,12 @@ -commit 7119d790b590e7fb560ad602cedfda5185c7e841 -Author: Poul-Henning Kamp -Date: Fri Jan 11 10:26:44 2019 +0000 +From 7119d790b590e7fb560ad602cedfda5185c7e841 Mon Sep 17 00:00:00 2001 +From: Poul-Henning Kamp +Date: Fri, 11 Jan 2019 10:26:44 +0000 +Subject: [PATCH] Avoid printing %s,NULL in case of errors we do not expect. - Avoid printing %s,NULL in case of errors we do not expect. - - Fixes #2879 +Fixes #2879 +--- + lib/libvarnish/vnum.c | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/libvarnish/vnum.c b/lib/libvarnish/vnum.c index b619199c6..59e804ec8 100644 diff --git a/varnish-6.0.7.fix_tests_v00064.patch b/varnish-6.0.7.fix_tests_v00064.patch new file mode 100644 index 0000000..f4f1cde --- /dev/null +++ b/varnish-6.0.7.fix_tests_v00064.patch @@ -0,0 +1,20 @@ +--- 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 diff --git a/varnish-6.1.0_fix_ld_library_path_in_doc_build.patch b/varnish-6.1.0_fix_ld_library_path_in_doc_build.patch deleted file mode 100644 index d93c49a..0000000 --- a/varnish-6.1.0_fix_ld_library_path_in_doc_build.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- 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 diff --git a/varnish-6.1.0_fix_testu00008.patch b/varnish-6.1.0_fix_testu00008.patch deleted file mode 100644 index 59f17fe..0000000 --- a/varnish-6.1.0_fix_testu00008.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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 - diff --git a/varnish-6.1.1_fix_issue_2912.patch b/varnish-6.1.1_fix_issue_2912.patch deleted file mode 100644 index ab38f04..0000000 --- a/varnish-6.1.1_fix_issue_2912.patch +++ /dev/null @@ -1,115 +0,0 @@ -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 diff --git a/varnish-6.2.0_el6_fix_warning_from_old_gcc.patch b/varnish-6.2.0_el6_fix_warning_from_old_gcc.patch deleted file mode 100644 index 828e14b..0000000 --- a/varnish-6.2.0_el6_fix_warning_from_old_gcc.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- 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; diff --git a/varnish-6.2.0_fix_ppc64_for_test_c00057.patch b/varnish-6.2.0_fix_ppc64_for_test_c00057.patch deleted file mode 100644 index ce64b19..0000000 --- a/varnish-6.2.0_fix_ppc64_for_test_c00057.patch +++ /dev/null @@ -1,40 +0,0 @@ -commit 88948d982bcd165e05967d2a9c8684eb9f9cbd01 -Author: Nils Goroll -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 -@@ -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); diff --git a/varnish-6.3.0_el6_fix_warning_from_old_gcc.patch b/varnish-6.3.0_el6_fix_warning_from_old_gcc.patch deleted file mode 100644 index feadc72..0000000 --- a/varnish-6.3.0_el6_fix_warning_from_old_gcc.patch +++ /dev/null @@ -1,79 +0,0 @@ -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")); - diff --git a/varnish-6.4.0_el6_fix_warning_from_old_gcc.patch b/varnish-6.4.0_el6_fix_warning_from_old_gcc.patch deleted file mode 100644 index aeb7b5f..0000000 --- a/varnish-6.4.0_el6_fix_warning_from_old_gcc.patch +++ /dev/null @@ -1,67 +0,0 @@ -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")); - diff --git a/varnish-6.5.0_el6_fix_warning_from_old_gcc.patch b/varnish-6.5.0_el6_fix_warning_from_old_gcc.patch deleted file mode 100644 index d72b238..0000000 --- a/varnish-6.5.0_el6_fix_warning_from_old_gcc.patch +++ /dev/null @@ -1,78 +0,0 @@ -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")); diff --git a/varnish-7.7.0_fix_4298.patch b/varnish-7.7.0_fix_4298.patch deleted file mode 100644 index f37f52c..0000000 --- a/varnish-7.7.0_fix_4298.patch +++ /dev/null @@ -1,178 +0,0 @@ -commit 95e41dfa584d108e444949534c7ce5801cffeacc -Author: Poul-Henning Kamp -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 -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 */ diff --git a/varnish-9.0.1_openssl_4.0_asn1.patch b/varnish-9.0.1_openssl_4.0_asn1.patch deleted file mode 100644 index 3bd33f1..0000000 --- a/varnish-9.0.1_openssl_4.0_asn1.patch +++ /dev/null @@ -1,38 +0,0 @@ -Author: Ingvar Hagelund -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; - diff --git a/varnish.spec b/varnish.spec index 74a5c3b..8386827 100644 --- a/varnish.spec +++ b/varnish.spec @@ -1,125 +1,106 @@ -%global _hardened_build 0 +%global _hardened_build 1 + # 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 0a625649cd40af4b6c10be5e58a2e89a5e275baa -%global vrt 23.1 +%global abi 66e26fc5b617b13f77f425a8e1674f43596b6f5f +%global vrt 7.1 # Package scripts are now external # https://github.com/varnishcache/pkg-varnish-cache -%global commit1 1f0d212dc45065f38bd80ac57fe22773a20a0595 +%global commit1 0ad2f22629c4a368959c423a19e352c9c6c79682 %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: 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) +Version: 6.0.18 +Release: 1%{?dist} +License: BSD +Group: System Environment/Daemons URL: https://www.varnish-cache.org/ -Source0: https://github.com/varnish/varnish/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz +Source0: https://github.com/varnish/%{name}/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 -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 +Patch1: varnish-6.0.2.fix_ld_library_path_in_doc_build.patch +Patch18: varnish-6.3.2_fix_s390x.patch +%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 -BuildRequires: systemd-rpm-macros -%{?systemd_requires} -%{?sysusers_requires_compat} +Obsoletes: varnish-libs < %{version}-%{release} -BuildRequires: python3, python3-sphinx, python3-docutils -BuildRequires: gcc -%if %{without bundled_jemalloc} -%if %{with system_allocator} -# use glibc +%if 0%{?rhel} == 7 +BuildRequires: python-sphinx python34-docutils %else -%ifnarch aarch64 -BuildRequires: jemalloc-devel -%endif -%endif +BuildRequires: python3-sphinx, python3-docutils %endif -BuildRequires: libedit-devel -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 +%if 0%{?rhel} > 8 || 0%{?fedora} > 40 +BuildRequires: vttest 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: pcre2 -Requires: redhat-rpm-config -Requires(post): /usr/bin/uuidgen %if %{with system_allocator} # use glibc %else -%if %{without bundled_jemalloc} +BuildRequires: jemalloc-devel +%endif +BuildRequires: libedit-devel +BuildRequires: ncurses-devel +BuildRequires: pcre-devel +BuildRequires: pkgconfig +BuildRequires: gcc +BuildRequires: make +BuildRequires: nghttp2 + +Requires: logrotate +Requires: ncurses +Requires: pcre +%if %{with system_allocator} +# use glibc +%else 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 @@ -135,210 +116,118 @@ available on: https://www.varnish-cache.org/ %package devel Summary: Development files for %{name} -#BuildRequires: ncurses-devel -Provides: varnish-libs-devel%{?isa} = %{version}-%{release} +Group: Development/Libraries +BuildRequires: ncurses-devel 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 -%if 0%{?fedora} > 44 || 0%{?rhel} > 10 -%patch 1 -p1 -%endif +%setup -q -n varnish-%{version}%{?vd_rc} 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 -# 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 +%patch -P1 -p0 +%patch -P18 -p1 -# 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 +%if 0%{?fedora} > 42 +rm bin/varnishtest/tests/a02022.vtc %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="$CFLAGS -ffloat-store -fexcess-precision=standard" +export CFLAGS="%{optflags} -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=python3 +export PYTHON=%{__python} -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}} \ -%ifarch %ix86 -%if 0%{?fedora} <= 37 - --enable-pcre2-jit=no \ -%endif -%endif -%if %{with system_allocator} || %{without bundled_jemalloc} +%configure --disable-static \ +%ifarch aarch64 --with-jemalloc=no \ %endif + --localstatedir=/var/lib \ + --docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \ +%if %{with system_allocator} + --with-jemalloc=no \ +%endif +#ifarch x86_64 #arm +# --disable-pcre-jit \ +#endif -%if %{with bundled_jemalloc} -export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/jemalloc-%{jemalloc_version}/lib + +# 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 %endif -%make_build +make %{?_smp_mflags} V=1 # 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 -# check jemalloc first -%if %{with bundled_jemalloc} -pushd jemalloc* -make %{?_smp_mflags} check -popd -%endif +# haproxy version compatibility stuff +sed -i 's/HA-Proxy version/HAProxy version/g;' bin/varnishtest/tests/*.vtc +rm bin/varnishtest/tests/h00004.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 +%ifarch ppc64 ppc64le aarch64 +sed -i 's/48/128/g;' bin/varnishtest/tests/c00057.vtc %endif - -# 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 +# 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.* %endif +make %{?_smp_mflags} check LD_LIBRARY_PATH="%{buildroot}%{_libdir}:%{buildroot}%{_libdir}/%{name}" VERBOSE=1 %install rm -rf %{buildroot} -# 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 +# el7 defaults to LANG=C, which makes python3 fail on utf8 +%if 0%{?rhel} == 7 +export LANG=en_US.UTF-8 %endif -%{make_install} +make install DESTDIR=%{buildroot} INSTALL="install -p" # None of these for fedora find %{buildroot}/%{_libdir}/ -name '*.la' -exec rm -f {} ';' @@ -352,55 +241,60 @@ 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 -# 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 +echo %{_libdir}/varnish > %{buildroot}%{_sysconfdir}/ld.so.conf.d/varnish-%{_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}/%{name} +%{_libdir}/varnish %{_var}/lib/varnish %attr(0700,varnish,varnish) %dir %{_var}/log/varnish %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man7/*.7* %license LICENSE -%doc README.md ChangeLog +%doc README.rst 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/%{name}-%{_arch}.conf +%config %{_sysconfdir}/ld.so.conf.d/varnish-%{_arch}.conf + +# systemd from fedora 17 and rhel 7 +%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %{_unitdir}/varnish.service %{_unitdir}/varnishncsa.service -%{_sysusersdir}/varnish.conf -%{_tmpfilesdir}/varnish.conf + +# default is standard sysvinit +%else +%config(noreplace) %{_sysconfdir}/sysconfig/varnish +%{_initrddir}/varnish +%{_initrddir}/varnishncsa +%endif %files devel %license LICENSE -%doc README.md +%doc README.rst %{_libdir}/lib*.so %{_includedir}/%{name} %{_libdir}/pkgconfig/varnishapi.pc @@ -412,316 +306,143 @@ 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 -%systemd_post varnish varnishncsa +%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 + /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 -%systemd_postun_with_restart varnish varnishncsa +%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +%systemd_postun_with_restart varnish.service +%endif /sbin/ldconfig %preun -%systemd_preun varnish varnishncsa +%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 %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 9.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Wed May 20 2026 Ingvar Hagelund - 6.0.18-1 +- New upstream release. A security relase +- Includes fix for VSV00019 -* Sat Jun 13 2026 Yaakov Selkowitz - 9.0.3-2 -- Rebuilt for openssl 4.0 - -* Thu May 21 2026 Ingvar Hagelund - 9.0.3-1 -- New upstream release: A security relase -- Includes fix for VSV00019 aka CVE-2026-50052 - -* Fri May 15 2026 Ingvar Hagelund - 9.0.2-1 -- New upstream release: A bugfix release - -* Fri Apr 10 2026 Ingvar Hagelund - 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 - 9.0.0-1 -- New upstream release -- Includes fix for VSV00018 - -* Sat Jan 17 2026 Fedora Release Engineering - 8.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Thu Dec 11 2025 Ingvar Hagelund - 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 - 7.7.3-2 -- Add tmpfiles.d rules for /var directories (bootc compatibility) - -* Mon Sep 15 2025 Ingvar Hagelund - 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 - 7.7.1-4 -- bundle jemalloc in RHEL - -* Fri Jul 25 2025 Fedora Release Engineering - 7.7.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu May 22 2025 Ingvar Hagelund - 7.7.1-2 -- Correct ABI and VRT versions -- Pulled el7 support -- Use systemd setup for users - -* Tue May 20 2025 Luboš Uhliarik - 7.7.1-1 -- new version 7.7.1 - -* Thu Mar 27 2025 Ingvar Hagelund - 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 - 7.7.0-1 -- New upstream release -- fedora now has completed the bin/sbin merge - -* Sun Jan 19 2025 Fedora Release Engineering - 7.6.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Mon Dec 02 2024 Ingvar Hagelund - 7.6.1-1 -- New upstream release - -* Mon Sep 16 2024 Ingvar Hagelund - 7.6.0-1 -- New upstream release -- Updated checkout of pkg-varnish - -* Sat Jul 20 2024 Fedora Release Engineering - 7.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Mar 19 2024 Ingvar Hagelund - 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 - 7.4.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Nov 08 2023 Ingvar Hagelund - 7.4.2-1 +* Thu Mar 26 2026 Ingvar Hagelund - 6.0.17-1 - New upstream release. A security release -- Includes fix for CVE-2023-44487 aka VSV00013, rhbz#2243328, HTTP/2 Rapid Reset Attack +- Includes fix for VSV00018 +- Added support for a few more tests in the test suite -* Thu Oct 12 2023 Ingvar Hagelund - 7.4.1-1 +* Fri Aug 29 2025 Ingvar Hagelund - 6.0.16-1 +- New upstream release. A security release +- Includes fix for VSV00017,CVE-2025-8671, rhbz#2388222 + +* Mon Aug 11 2025 Ingvar Hagelund - 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 - 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 - 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 - 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 - 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 - 6.0.9-1 - New upstream release. A bugfix release -* Wed Oct 11 2023 Ingvar Hagelund - 7.4.0-0 -- New upstream release - -* Thu Sep 14 2023 Luboš Uhliarik - 7.3.0-5 -- SPDX migration - -* Sat Jul 22 2023 Fedora Release Engineering - 7.3.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jun 23 2023 Yaakov Selkowitz - 7.3.0-3 -- Enable system_allocator in RHEL/ELN builds - -* Mon Mar 20 2023 Ingvar Hagelund - 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 - 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 - 7.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Nov 09 2022 Ingvar Hagelund - 7.2.1-1 -- New upstream release: A security release -- Includes fix for VSV00011 - -* Fri Sep 16 2022 Ingvar Hagelund - 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 - 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 - 7.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Mar 29 2022 Ingvar Hagelund - 7.1.0-1 -- New upstream release -- Includes updated snapshot of pkg-varnish - -* Mon Feb 21 2022 Luboš Uhliarik - 7.0.2-2 -- Fix Provides directive for varnish-devel package - -* Wed Jan 26 2022 Ingvar Hagelund - 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 - 7.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jan 13 2022 Ingvar Hagelund - 7.0.1-2 -- Update ABI string - -* Thu Jan 13 2022 Ingvar Hagelund - 7.0.1-1 -- New upstream release. A maintenance and stability release - -* Tue Nov 02 2021 Ingvar Hagelund - 7.0.0-2 -- upstream switched to pcre2 a while ago - -* Thu Sep 16 2021 Ingvar Hagelund - 7.0.0-1 -- New upstream release -- Updated pkg-varnish checkout from the 7.0 branch - -* Fri Jul 23 2021 Fedora Release Engineering - 6.6.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 17 2021 Ingvar Hagelund 6.6.1-2 -- Bumped abi and vrt versions - -* Sat Jul 17 2021 Ingvar Hagelund 6.6.1-1 +* Sat Jul 17 2021 Ingvar Hagelund - 6.0.8-1 - New upstream release - Includes fix for CVE-2021-36740 aka VSV00007, bz#1982413 -* Tue May 18 2021 Timm Bäder - 6.6.0-2 -- Use make macros +* Tue Nov 17 2020 Ingvar Hagelund - 6.0.7-2 +- Added a small tuning patch fixing test suite on armv7hl +- Removing a non-working test on armv7hl -* Mon Mar 15 2021 Ingvar Hagelund - 6.6.0-1 +* Thu Nov 12 2020 Ingvar Hagelund - 6.0.7-1 +- New upstream release. A bugfix release + +* Thu Feb 13 2020 Ingvar Hagelund - 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 - 6.0.5-1 +- New upstream release. A security release. Fixes VSV00004 + +* Wed Sep 25 2019 Ingvar Hagelund - 6.0.4-4 +- Fix for tests/v00058.vtc on 32bit + +* Thu Sep 19 2019 Ingvar Hagelund - 6.0.4-3 +- Updated vrt and abi versions +- Use macro __python for python3 when available + +* Mon Sep 16 2019 Ingvar Hagelund - 6.0.4-2 +- Removed tests/v00059.vtc on 32bit after advice from varnish upstream + +* Fri Sep 06 2019 Ingvar Hagelund - 6.0.4-1 +- New upstream relase. A security release including fix for CVE-2019-15892 + +* Mon Feb 25 2019 Ingvar Hagelund - 6.0.3-1 - 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. +- Added a patch from upstream fixing a compile error on gcc9 -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 6.5.1-4 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Jan 27 2021 Fedora Release Engineering - 6.5.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Jan 21 2021 Ingvar Hagelund 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 6.5.1-1 -- New upstream release varnish-6.5.1 - -* Wed Sep 16 2020 Ingvar Hagelund 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 6.4.0-4 -- Added -Wno-error=free-nonheap-object to CFLAGS to build on s390x - -* Sat Aug 01 2020 Fedora Release Engineering - 6.4.0-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 6.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Mar 16 2020 Ingvar Hagelund - 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 - 6.3.2-3 -- Got corrected compilation fix patch from upstream - -* Tue Feb 11 2020 Ingvar Hagelund - 6.3.2-2 -- Added simple compilation fix for gcc-10.0.1/s390x - -* Tue Feb 11 2020 Ingvar Hagelund - 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 - 6.3.1-3 -- drop buildreq on (retired) vttest (#1800232) - -* Fri Jan 31 2020 Fedora Release Engineering - 6.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Oct 22 2019 Ingvar Hagelund - 6.3.1-1 -- New upstream release. A security release. Includes fix for VSV00004 - -* Fri Sep 20 2019 Ingvar Hagelund - 6.3.0-2 -- Respin patch for el6 - -* Mon Sep 16 2019 Ingvar Hagelund - 6.3.0-1 -- New upstream release - -* Wed Sep 04 2019 Ingvar Hagelund - 6.2.1-4 -- New upstream release. A security release. Includes fix for CVE-2019-15892 - -* Thu Aug 08 2019 Ingvar Hagelund - 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 - 6.2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Apr 04 2019 Ingvar Hagelund - 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 - 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 - 6.1.1-5 -- Adding a patch based on upstream commits, fixing pcre-jit, see - upstream bug 2912 - -* Thu Feb 14 2019 Ingvar Hagelund - 6.1.1-4 -- Adding a patch from upstream fixing a simple formatting bug on gcc-9 - -* Sun Feb 03 2019 Fedora Release Engineering - 6.1.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Nov 07 2018 Ingvar Hagelund - 6.1.1-2 -- Respun ld_library_path patch for varnish-6.1.1 - -* Wed Nov 07 2018 Ingvar Hagelund - 6.1.1-1 -- New upstream release - -* Tue Nov 06 2018 Ingvar Hagelund - 6.1.0-3 +* Tue Nov 27 2018 Ingvar Hagelund - 6.0.2-2 - Dropped the depricated external dependency generator in Fedora - Hard coded vmod, abi and vrt provides -* Fri Nov 02 2018 Ingvar Hagelund - 6.1.0-2 -- Added a patch to fix a failing test in the testsuite - -* Fri Nov 02 2018 Ingvar Hagelund - 6.1.0-1 +* Mon Nov 26 2018 Ingvar Hagelund - 6.0.2-1 - New upstream release -- Respin patches for 6.1.0 -- Disable pcre-jit for now, ref upstream bug #2817 +- Respun necessary patches for varnish-6.0.2 +- Dropped patches merged upstream * Tue Oct 09 2018 Ingvar Hagelund - 6.0.1-3 - Explicitly using utf8 under install on el6 and el7 for python quirks @@ -1179,19 +900,19 @@ test -f /etc/varnish/secret || (uuidgen > /etc/varnish/secret && chmod 0600 /etc - Added a s390 specific patch to libjemalloc. * Fri Mar 27 2009 Ingvar Hagelund - 2.0.4-1 - New upstream release 2.0.4 +- New upstream release 2.0.4 * Wed Feb 25 2009 Fedora Release Engineering - 2.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Feb 11 2009 Ingvar Hagelund - 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 - 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 - 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 - 2.0.1-2 - Removed the requirement for kernel => 2.6.0. All supported diff --git a/varnish.sysusers b/varnish.sysusers deleted file mode 100644 index 58b740e..0000000 --- a/varnish.sysusers +++ /dev/null @@ -1,3 +0,0 @@ -#Type Name ID GECOS Home directory Shell -g varnish - -u varnish - "Varnish Cache" /var/lib/varnish /sbin/nologin diff --git a/varnish.tmpfiles b/varnish.tmpfiles deleted file mode 100644 index 2717356..0000000 --- a/varnish.tmpfiles +++ /dev/null @@ -1,2 +0,0 @@ -d /var/lib/varnish 755 root root - -d /var/log/varnish 700 varnish varnish -