diff options
author | Mark Felder <feld@FreeBSD.org> | 2017-05-31 20:26:58 +0000 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2017-05-31 20:26:58 +0000 |
commit | ad63c9cba406edd87b76578e4e0ef9c12d95770f (patch) | |
tree | 3c41057e0ae42c6ea1268182ee4ab63fcb02df3e /www | |
parent | ea8b1a91ede25760e6ad6b5169458cb9fd7af5f7 (diff) | |
download | ports-ad63c9cba406edd87b76578e4e0ef9c12d95770f.tar.gz ports-ad63c9cba406edd87b76578e4e0ef9c12d95770f.zip |
Notes
Diffstat (limited to 'www')
-rw-r--r-- | www/varnish-modules/Makefile | 5 | ||||
-rw-r--r-- | www/varnish-modules/distinfo | 6 | ||||
-rw-r--r-- | www/varnish-modules/files/patch-configure.ac | 50 | ||||
-rw-r--r-- | www/varnish-modules/files/patch-m4_ax__pthread.m4 | 286 | ||||
-rw-r--r-- | www/varnish-modules/files/patch-src_Makefile.am | 46 | ||||
-rw-r--r-- | www/varnish-modules/files/patch-src_vmod__softpurge.c | 44 | ||||
-rw-r--r-- | www/varnish-modules/files/patch-src_vmod__xkey.c | 207 | ||||
-rw-r--r-- | www/varnish-modules/pkg-plist | 9 |
8 files changed, 47 insertions, 606 deletions
diff --git a/www/varnish-modules/Makefile b/www/varnish-modules/Makefile index bb990049ab32..311cbc129d2e 100644 --- a/www/varnish-modules/Makefile +++ b/www/varnish-modules/Makefile @@ -2,9 +2,8 @@ # $FreeBSD$ PORTNAME= varnish-modules -DISTVERSIONPREFIX= varnish-modules- -DISTVERSION= 0.9.1 -PORTREVISION= 2 +DISTVERSION= 0.12.1 +PORTREVISION= 0 CATEGORIES= www MAINTAINER= feld@FreeBSD.org diff --git a/www/varnish-modules/distinfo b/www/varnish-modules/distinfo index 57082718847e..53f7ac3e21b9 100644 --- a/www/varnish-modules/distinfo +++ b/www/varnish-modules/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1472739997 -SHA256 (varnish-varnish-modules-varnish-modules-0.9.1_GH0.tar.gz) = 4fa7d042968a372c0fd0efa7925f94640ad180e3d667697fe521e485134eb728 -SIZE (varnish-varnish-modules-varnish-modules-0.9.1_GH0.tar.gz) = 46364 +TIMESTAMP = 1496245621 +SHA256 (varnish-varnish-modules-0.12.1_GH0.tar.gz) = 84cfff1f585557117d282a502c109020b1cf8ccb82bdcdfdf3cfdf577f6f38d4 +SIZE (varnish-varnish-modules-0.12.1_GH0.tar.gz) = 62518 diff --git a/www/varnish-modules/files/patch-configure.ac b/www/varnish-modules/files/patch-configure.ac deleted file mode 100644 index 52e08ce0d167..000000000000 --- a/www/varnish-modules/files/patch-configure.ac +++ /dev/null @@ -1,50 +0,0 @@ ---- configure.ac.orig 2016-10-26 08:05:08 UTC -+++ configure.ac -@@ -2,6 +2,7 @@ AC_PREREQ(2.59) - AC_COPYRIGHT([Copyright (c) 2016 Varnish Software Group]) - AC_INIT([varnish-modules], [0.9.1]) - AC_CONFIG_MACRO_DIR([m4]) -+AC_CONFIG_AUX_DIR([build-aux]) - m4_ifndef([VARNISH_VMOD_INCLUDES], AC_MSG_ERROR([Need varnish.m4 -- see README.rst])) - AM_CONFIG_HEADER(config.h) - -@@ -18,6 +19,13 @@ if test "x$ac_cv_prog_cc_c99" = xno; the - fi - AC_PROG_CPP - -+AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])]) -+ -+LIBS="$PTHREAD_LIBS $LIBS" -+CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+CC="$PTHREAD_CC" -+ -+LT_INIT([disable-static]) - AC_PROG_INSTALL - AC_PROG_LIBTOOL - AC_PROG_MAKE_SET -@@ -52,6 +60,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl - ]) - - PKG_CHECK_MODULES([libvarnishapi], [varnishapi]) -+PKG_CHECK_VAR([LIBVARNISHAPI_PREFIX], [varnishapi], [prefix]) - PKG_CHECK_VAR([LIBVARNISHAPI_DATAROOTDIR], [varnishapi], [datarootdir]) - PKG_CHECK_VAR([LIBVARNISHAPI_BINDIR], [varnishapi], [bindir]) - PKG_CHECK_VAR([LIBVARNISHAPI_SBINDIR], [varnishapi], [sbindir]) -@@ -68,6 +77,17 @@ PKG_CHECK_VAR([VARNISH_PLUS], [varnishap - VARNISH_VMOD_INCLUDES - VARNISH_VMOD_DIR - VARNISH_VMODTOOL -+# inherit the prefix from Varnish. -+# acessing ac_ variable because AC_PREFIX_DEFAULT acts too early -+ac_default_prefix=$LIBVARNISHAPI_PREFIX -+ -+save_CFLAGS="$CFLAGS" -+CFLAGS="$VMOD_INCLUDES" -+AC_CHECK_MEMBERS(struct objcore.exp, -+ [AC_DEFINE([HAVE_OBJCORE_EXP], [1], -+ [Define if exp is present in the objcore struct])], -+ [], [#include <cache/cache.h>]) -+CFLAGS="$save_CFLAGS" - - AC_PATH_PROG([VARNISHTEST], [varnishtest], [], - [$LIBVARNISHAPI_BINDIR:$LIBVARNISHAPI_SBINDIR:$PATH]) diff --git a/www/varnish-modules/files/patch-m4_ax__pthread.m4 b/www/varnish-modules/files/patch-m4_ax__pthread.m4 deleted file mode 100644 index 710e3f1419e0..000000000000 --- a/www/varnish-modules/files/patch-m4_ax__pthread.m4 +++ /dev/null @@ -1,286 +0,0 @@ ---- m4/ax_pthread.m4.orig 2016-10-26 08:33:07 UTC -+++ m4/ax_pthread.m4 -@@ -0,0 +1,283 @@ -+# =========================================================================== -+# http://www.gnu.org/software/autoconf-archive/ax_pthread.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -+# -+# DESCRIPTION -+# -+# This macro figures out how to build C programs using POSIX threads. It -+# sets the PTHREAD_LIBS output variable to the threads library and linker -+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -+# flags that are needed. (The user can also force certain compiler -+# flags/libs to be tested by setting these environment variables.) -+# -+# Also sets PTHREAD_CC to any special C compiler that is needed for -+# multi-threaded programs (defaults to the value of CC otherwise). (This -+# is necessary on AIX to use the special cc_r compiler alias.) -+# -+# NOTE: You are assumed to not only compile your program with these flags, -+# but also link it with them as well. e.g. you should link with -+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -+# -+# If you are only building threads programs, you may wish to use these -+# variables in your default LIBS, CFLAGS, and CC: -+# -+# LIBS="$PTHREAD_LIBS $LIBS" -+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+# CC="$PTHREAD_CC" -+# -+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -+# -+# ACTION-IF-FOUND is a list of shell commands to run if a threads library -+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -+# is not found. If ACTION-IF-FOUND is not specified, the default action -+# will define HAVE_PTHREAD. -+# -+# Please let the authors know if this macro fails on any platform, or if -+# you have any other suggestions or comments. This macro was based on work -+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -+# Alejandro Forero Cuervo to the autoconf macro repository. We are also -+# grateful for the helpful feedback of numerous users. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -+# -+# This program is free software: you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by the -+# Free Software Foundation, either version 3 of the License, or (at your -+# option) any later version. -+# -+# This program is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -+# Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program. If not, see <http://www.gnu.org/licenses/>. -+# -+# As a special exception, the respective Autoconf Macro's copyright owner -+# gives unlimited permission to copy, distribute and modify the configure -+# scripts that are the output of Autoconf when processing the Macro. You -+# need not follow the terms of the GNU General Public License when using -+# or distributing such scripts, even though portions of the text of the -+# Macro appear in them. The GNU General Public License (GPL) does govern -+# all other use of the material that constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the Autoconf -+# Macro released by the Autoconf Archive. When you make and distribute a -+# modified version of the Autoconf Macro, you may extend this special -+# exception to the GPL to apply to your modified version as well. -+ -+#serial 7 -+ -+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -+AC_DEFUN([AX_PTHREAD], [ -+AC_REQUIRE([AC_CANONICAL_HOST]) -+AC_LANG_SAVE -+AC_LANG_C -+ax_pthread_ok=no -+ -+# We used to check for pthread.h first, but this fails if pthread.h -+# requires special compiler flags (e.g. on True64 or Sequent). -+# It gets checked for in the link test anyway. -+ -+# First of all, check if the user has set any of the PTHREAD_LIBS, -+# etcetera environment variables, and if threads linking works using -+# them: -+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then -+ save_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ save_LIBS="$LIBS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) -+ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) -+ AC_MSG_RESULT($ax_pthread_ok) -+ if test x"$ax_pthread_ok" = xno; then -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+ fi -+ LIBS="$save_LIBS" -+ CFLAGS="$save_CFLAGS" -+fi -+ -+# We must check for the threads library under a number of different -+# names; the ordering is very important because some systems -+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -+# libraries is broken (non-POSIX). -+ -+# Create a list of thread flags to try. Items starting with a "-" are -+# C compiler flags, and other items are library names, except for "none" -+# which indicates that we try without any flags at all, and "pthread-config" -+# which is a program returning the flags for the Pth emulation library. -+ -+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" -+ -+# The ordering *is* (sometimes) important. Some notes on the -+# individual items follow: -+ -+# pthreads: AIX (must check this before -lpthread) -+# none: in case threads are in libc; should be tried before -Kthread and -+# other compiler flags to prevent continual compiler warnings -+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -+# -pthreads: Solaris/gcc -+# -mthreads: Mingw32/gcc, Lynx/gcc -+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -+# doesn't hurt to check since this sometimes defines pthreads too; -+# also defines -D_REENTRANT) -+# ... -mt is also the pthreads flag for HP/aCC -+# pthread: Linux, etcetera -+# --thread-safe: KAI C++ -+# pthread-config: use pthread-config program (for GNU Pth library) -+ -+case "${host_cpu}-${host_os}" in -+ *solaris*) -+ -+ # On Solaris (at least, for some versions), libc contains stubbed -+ # (non-functional) versions of the pthreads routines, so link-based -+ # tests will erroneously succeed. (We need to link with -pthreads/-mt/ -+ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather -+ # a function called by this macro, so we could check for that, but -+ # who knows whether they'll stub that too in a future libc.) So, -+ # we'll just look for -pthreads and -lpthread first: -+ -+ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" -+ ;; -+ -+ *-darwin*) -+ acx_pthread_flags="-pthread $acx_pthread_flags" -+ ;; -+esac -+ -+if test x"$ax_pthread_ok" = xno; then -+for flag in $ax_pthread_flags; do -+ -+ case $flag in -+ none) -+ AC_MSG_CHECKING([whether pthreads work without any flags]) -+ ;; -+ -+ -*) -+ AC_MSG_CHECKING([whether pthreads work with $flag]) -+ PTHREAD_CFLAGS="$flag" -+ ;; -+ -+ pthread-config) -+ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) -+ if test x"$ax_pthread_config" = xno; then continue; fi -+ PTHREAD_CFLAGS="`pthread-config --cflags`" -+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" -+ ;; -+ -+ *) -+ AC_MSG_CHECKING([for the pthreads library -l$flag]) -+ PTHREAD_LIBS="-l$flag" -+ ;; -+ esac -+ -+ save_LIBS="$LIBS" -+ save_CFLAGS="$CFLAGS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ -+ # Check for various functions. We must include pthread.h, -+ # since some functions may be macros. (On the Sequent, we -+ # need a special flag -Kthread to make this header compile.) -+ # We check for pthread_join because it is in -lpthread on IRIX -+ # while pthread_create is in libc. We check for pthread_attr_init -+ # due to DEC craziness with -lpthreads. We check for -+ # pthread_cleanup_push because it is one of the few pthread -+ # functions on Solaris that doesn't have a non-functional libc stub. -+ # We try pthread_create on general principles. -+ AC_TRY_LINK([#include <pthread.h> -+ static void routine(void* a) {a=0;} -+ static void* start_routine(void* a) {return a;}], -+ [pthread_t th; pthread_attr_t attr; -+ pthread_join(th, 0); -+ pthread_attr_init(&attr); -+ pthread_cleanup_push(routine, 0); -+ pthread_create(&th,0,start_routine,0); -+ pthread_cleanup_pop(0); ], -+ [ax_pthread_ok=yes]) -+ -+ LIBS="$save_LIBS" -+ CFLAGS="$save_CFLAGS" -+ -+ AC_MSG_RESULT($ax_pthread_ok) -+ if test "x$ax_pthread_ok" = xyes; then -+ break; -+ fi -+ -+ PTHREAD_LIBS="" -+ PTHREAD_CFLAGS="" -+done -+fi -+ -+# Various other checks: -+if test "x$ax_pthread_ok" = xyes; then -+ save_LIBS="$LIBS" -+ LIBS="$PTHREAD_LIBS $LIBS" -+ save_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -+ -+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. -+ AC_MSG_CHECKING([for joinable pthread attribute]) -+ attr_name=unknown -+ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do -+ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;], -+ [attr_name=$attr; break]) -+ done -+ AC_MSG_RESULT($attr_name) -+ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then -+ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, -+ [Define to necessary symbol if this constant -+ uses a non-standard name on your system.]) -+ fi -+ -+ AC_MSG_CHECKING([if more special flags are required for pthreads]) -+ flag=no -+ case "${host_cpu}-${host_os}" in -+ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; -+ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; -+ esac -+ AC_MSG_RESULT(${flag}) -+ if test "x$flag" != xno; then -+ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" -+ fi -+ -+ LIBS="$save_LIBS" -+ CFLAGS="$save_CFLAGS" -+ -+ # More AIX lossage: must compile with xlc_r or cc_r -+ if test x"$GCC" != xyes; then -+ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) -+ else -+ PTHREAD_CC=$CC -+ fi -+else -+ PTHREAD_CC="$CC" -+fi -+ -+AC_SUBST(PTHREAD_LIBS) -+AC_SUBST(PTHREAD_CFLAGS) -+AC_SUBST(PTHREAD_CC) -+ -+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -+if test x"$ax_pthread_ok" = xyes; then -+ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) -+ : -+else -+ ax_pthread_ok=no -+ $2 -+fi -+AC_LANG_RESTORE -+])dnl AX_PTHREAD diff --git a/www/varnish-modules/files/patch-src_Makefile.am b/www/varnish-modules/files/patch-src_Makefile.am index febf228b4449..641323498730 100644 --- a/www/varnish-modules/files/patch-src_Makefile.am +++ b/www/varnish-modules/files/patch-src_Makefile.am @@ -1,6 +1,6 @@ ---- src/Makefile.am.orig 2016-07-07 14:48:43 UTC +--- src/Makefile.am.orig 2017-05-31 20:08:36 UTC +++ src/Makefile.am -@@ -5,7 +5,6 @@ vmod_LTLIBRARIES = libvmod_cookie.la \ +@@ -28,7 +28,6 @@ vmod_LTLIBRARIES = \ libvmod_header.la \ libvmod_saintmode.la \ libvmod_softpurge.la \ @@ -8,15 +8,35 @@ libvmod_var.la \ libvmod_vsthrottle.la \ libvmod_xkey.la -@@ -40,11 +39,6 @@ libvmod_softpurge_la_SOURCES = \ - vcc_softpurge_if.c vcc_softpurge_if.h: @VMODTOOL@ $(top_srcdir)/src/vmod_softpurge.vcc - @VMODTOOL@ -w ../docs/ -o vcc_softpurge_if $(top_srcdir)/src/vmod_softpurge.vcc +@@ -39,7 +38,6 @@ dist_man_MANS = \ + vmod_header.3 \ + vmod_saintmode.3 \ + vmod_softpurge.3 \ +- vmod_tcp.3 \ + vmod_var.3 \ + vmod_vsthrottle.3 \ + vmod_xkey.3 +@@ -52,7 +50,6 @@ libvmod_header_la_SOURCES = vmod_header. + libvmod_vsthrottle_la_SOURCES = vmod_vsthrottle.c + libvmod_saintmode_la_SOURCES = vmod_saintmode.c + libvmod_softpurge_la_SOURCES = vmod_softpurge.c foreign/hash/hash_slinger.h +-libvmod_tcp_la_SOURCES = vmod_tcp.c + libvmod_var_la_SOURCES = vmod_var.c + libvmod_xkey_la_SOURCES = vmod_xkey.c --libvmod_tcp_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared --libvmod_tcp_la_SOURCES = vcc_tcp_if.c vcc_tcp_if.h vmod_tcp.c --vcc_tcp_if.c vcc_tcp_if.h: @VMODTOOL@ $(top_srcdir)/src/vmod_tcp.vcc -- @VMODTOOL@ -w ../docs/ -o vcc_tcp_if $(top_srcdir)/src/vmod_tcp.vcc -- - libvmod_var_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared - libvmod_var_la_SOURCES = vcc_var_if.c vcc_var_if.h vmod_var.c - vcc_var_if.c vcc_var_if.h: @VMODTOOL@ $(top_srcdir)/src/vmod_var.vcc +@@ -62,7 +59,6 @@ nodist_libvmod_header_la_SOURCES = vcc_h + nodist_libvmod_vsthrottle_la_SOURCES = vcc_vsthrottle_if.c vcc_vsthrottle_if.h + nodist_libvmod_saintmode_la_SOURCES = vcc_saintmode_if.c vcc_saintmode_if.h + nodist_libvmod_softpurge_la_SOURCES = vcc_softpurge_if.c vcc_softpurge_if.h +-nodist_libvmod_tcp_la_SOURCES = vcc_tcp_if.c vcc_tcp_if.h + nodist_libvmod_var_la_SOURCES = vcc_var_if.c vcc_var_if.h + nodist_libvmod_xkey_la_SOURCES = vcc_xkey_if.c vcc_xkey_if.h + +@@ -105,7 +101,6 @@ EXTRA_DIST = \ + vmod_header.vcc \ + vmod_saintmode.vcc \ + vmod_softpurge.vcc \ +- vmod_tcp.vcc \ + vmod_var.vcc \ + vmod_vsthrottle.vcc \ + vmod_xkey.vcc diff --git a/www/varnish-modules/files/patch-src_vmod__softpurge.c b/www/varnish-modules/files/patch-src_vmod__softpurge.c deleted file mode 100644 index c27751a99b28..000000000000 --- a/www/varnish-modules/files/patch-src_vmod__softpurge.c +++ /dev/null @@ -1,44 +0,0 @@ ---- src/vmod_softpurge.c.orig 2016-10-26 07:31:42 UTC -+++ src/vmod_softpurge.c -@@ -60,6 +60,7 @@ vmod_softpurge(VRT_CTX) - now = ctx->req->t_prev; - Lck_Lock(&oh->mtx); - assert(oh->refcnt > 0); -+#if defined VARNISH_PLUS || defined OC_EF_DYING - VTAILQ_FOREACH(oc, &oh->objcs, list) { - CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC); - assert(oc->objhead == oh); -@@ -73,16 +74,30 @@ vmod_softpurge(VRT_CTX) - spc -= sizeof *ocp; - ocp[nobj++] = oc; - } -+#else -+ VTAILQ_FOREACH(oc, &oh->objcs, hsh_list) { -+ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC); -+ assert(oc->objhead == oh); -+ if (oc->flags & (OC_F_BUSY|OC_F_DYING)) -+ continue; -+ if (spc < sizeof *ocp) -+ break; -+ oc->refcnt++; -+ spc -= sizeof *ocp; -+ ocp[nobj++] = oc; -+ } -+#endif - Lck_Unlock(&oh->mtx); - - for (n = 0; n < nobj; n++) { - oc = ocp[n]; - CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC); --#ifdef VARNISH_PLUS -- /* Varnish Plus interface for EXP_Rearm() is different. */ -+#if defined VARNISH_PLUS - EXP_Rearm(ctx->req->wrk, oc, now, 0, oc->exp.grace, oc->exp.keep); --#else -+#elif defined HAVE_OBJCORE_EXP - EXP_Rearm(oc, now, 0, oc->exp.grace, oc->exp.keep); -+#else -+ EXP_Rearm(oc, now, 0, oc->grace, oc->keep); - #endif - (void)HSH_DerefObjCore(ctx->req->wrk, &oc); - diff --git a/www/varnish-modules/files/patch-src_vmod__xkey.c b/www/varnish-modules/files/patch-src_vmod__xkey.c deleted file mode 100644 index 3d61c1867369..000000000000 --- a/www/varnish-modules/files/patch-src_vmod__xkey.c +++ /dev/null @@ -1,207 +0,0 @@ ---- src/vmod_xkey.c.orig 2016-10-26 07:41:48 UTC -+++ src/vmod_xkey.c -@@ -130,7 +130,7 @@ xkey_ptrcmp(const struct xkey_ptrkey *k1 - } - - static struct xkey_hashhead * --xkey_hashhead_new() -+xkey_hashhead_new(void) - { - struct xkey_hashhead *head; - -@@ -166,7 +166,7 @@ xkey_hashhead_delete(struct xkey_hashhea - } - - static struct xkey_ochead * --xkey_ochead_new() -+xkey_ochead_new(void) - { - struct xkey_ochead *head; - -@@ -201,7 +201,7 @@ xkey_ochead_delete(struct xkey_ochead ** - } - - static struct xkey_oc * --xkey_oc_new() -+xkey_oc_new(void) - { - struct xkey_oc *oc; - -@@ -352,7 +352,7 @@ xkey_remove(struct xkey_ochead **pochead - } - - static void --xkey_cleanup() -+xkey_cleanup(void) - { - struct xkey_hashkey *hashkey; - struct xkey_hashhead *hashhead; -@@ -396,7 +396,7 @@ xkey_cleanup() - /**************************/ - - static void --xkey_cb_insert(struct worker *wrk, struct objcore *objcore, void *priv) -+xkey_cb_insert(struct worker *wrk, struct objcore *objcore) - { - SHA256_CTX sha_ctx; - unsigned char digest[DIGEST_LEN]; -@@ -404,8 +404,6 @@ xkey_cb_insert(struct worker *wrk, struc - const char hdr_h2[] = "X-HashTwo:"; - const char *ep, *sp; - -- (void)priv; -- - CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC); - - HTTP_FOREACH_PACK(wrk, objcore, sp) { -@@ -435,13 +433,10 @@ xkey_cb_insert(struct worker *wrk, struc - } - - static void --xkey_cb_remove(struct worker *wrk, struct objcore *objcore, void *priv) -+xkey_cb_remove(struct objcore *objcore) - { - struct xkey_ochead *ochead; - -- (void)wrk; -- (void)priv; -- - CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC); - - AZ(pthread_mutex_lock(&mtx)); -@@ -451,28 +446,50 @@ xkey_cb_remove(struct worker *wrk, struc - AZ(pthread_mutex_unlock(&mtx)); - } - -+#if defined VARNISH_PLUS || !defined OEV_INSERT - static void __match_proto__(exp_callback_f) - xkey_cb(struct worker *wrk, struct objcore *objcore, - enum exp_event_e event, void *priv) - { - -- (void)wrk; -- (void)objcore; -- (void)event; -- (void)priv; -+ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC); -+ CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC); -+ AZ(priv); - - switch (event) { - case EXP_INSERT: - case EXP_INJECT: -- xkey_cb_insert(wrk, objcore, priv); -+ xkey_cb_insert(wrk, objcore); - break; - case EXP_REMOVE: -- xkey_cb_remove(wrk, objcore, priv); -+ xkey_cb_remove(objcore); - break; - default: - WRONG("enum exp_event_e"); - } - } -+#else -+static void __match_proto__(obj_event_f) -+xkey_cb(struct worker *wrk, void *priv, struct objcore *oc, unsigned ev) -+{ -+ -+ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC); -+ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC); -+ AZ(priv); -+ AN(ev); -+ -+ switch (ev) { -+ case OEV_INSERT: -+ xkey_cb_insert(wrk, oc); -+ break; -+ case OEV_EXPIRE: -+ xkey_cb_remove(oc); -+ break; -+ default: -+ WRONG("Unexpected event"); -+ } -+} -+#endif - - /**************************/ - -@@ -507,24 +524,36 @@ purge(VRT_CTX, VCL_STRING key, VCL_INT d - CHECK_OBJ_NOTNULL(oc->objcore, OBJCORE_MAGIC); - if (oc->objcore->flags & OC_F_BUSY) - continue; -+#if defined HAVE_OBJCORE_EXP -+ if (do_soft && oc->objcore->exp.ttl <= -+ (ctx->now - oc->objcore->exp.t_origin)) -+ continue; -+#else - if (do_soft && -- oc->objcore->exp.ttl <= (ctx->now - oc->objcore->exp.t_origin)) -+ oc->objcore->ttl <= (ctx->now - oc->objcore->t_origin)) - continue; -+#endif - #ifdef VARNISH_PLUS -- /* Varnish Plus interface for EXP_Rearm() is different. */ - if (do_soft) - EXP_Rearm(ctx->req->wrk, oc->objcore, ctx->now, 0, - oc->objcore->exp.grace, oc->objcore->exp.keep); - else -- EXP_Rearm(ctx->req->wrk, oc->objcore, oc->objcore->exp.t_origin, 0, -- 0, 0); --#else -+ EXP_Rearm(ctx->req->wrk, oc->objcore, -+ oc->objcore->exp.t_origin, 0, 0, 0); -+#elif defined HAVE_OBJCORE_EXP - if (do_soft) - EXP_Rearm(oc->objcore, ctx->now, 0, - oc->objcore->exp.grace, oc->objcore->exp.keep); - else -- EXP_Rearm(oc->objcore, oc->objcore->exp.t_origin, 0, -- 0, 0); -+ EXP_Rearm(oc->objcore, oc->objcore->exp.t_origin, -+ 0, 0, 0); -+#else -+ if (do_soft) -+ EXP_Rearm(oc->objcore, ctx->now, 0, -+ oc->objcore->grace, oc->objcore->keep); -+ else -+ EXP_Rearm(oc->objcore, oc->objcore->t_origin, -+ 0, 0, 0); - #endif - - i++; -@@ -554,11 +583,15 @@ vmod_event(VRT_CTX, struct vmod_priv *pr - switch (e) { - case VCL_EVENT_LOAD: - AZ(pthread_mutex_lock(&mtx)); -- if (n_init == 0) { -+ if (n_init == 0) -+#if defined VARNISH_PLUS || !defined OEV_INSERT - xkey_cb_handle = - EXP_Register_Callback(xkey_cb, NULL); -- AN(xkey_cb_handle); -- } -+#else -+ xkey_cb_handle = ObjSubscribeEvents(xkey_cb, NULL, -+ OEV_INSERT|OEV_EXPIRE); -+#endif -+ AN(xkey_cb_handle); - n_init++; - AZ(pthread_mutex_unlock(&mtx)); - break; -@@ -566,10 +599,14 @@ vmod_event(VRT_CTX, struct vmod_priv *pr - AZ(pthread_mutex_lock(&mtx)); - assert(n_init > 0); - n_init--; -+ AN(xkey_cb_handle); - if (n_init == 0) { - /* Do cleanup */ -- AN(xkey_cb_handle); -+#if defined VARNISH_PLUS || !defined OEV_INSERT - EXP_Deregister_Callback(&xkey_cb_handle); -+#else -+ ObjUnsubscribeEvents(&xkey_cb_handle); -+#endif - AZ(xkey_cb_handle); - xkey_cleanup(); - } diff --git a/www/varnish-modules/pkg-plist b/www/varnish-modules/pkg-plist index 26e3d9baff7d..2060d30b7c6e 100644 --- a/www/varnish-modules/pkg-plist +++ b/www/varnish-modules/pkg-plist @@ -1,3 +1,4 @@ +lib/varnish/vmods/libvmod_bodyaccess.so lib/varnish/vmods/libvmod_cookie.so lib/varnish/vmods/libvmod_header.so lib/varnish/vmods/libvmod_saintmode.so @@ -5,3 +6,11 @@ lib/varnish/vmods/libvmod_softpurge.so lib/varnish/vmods/libvmod_var.so lib/varnish/vmods/libvmod_vsthrottle.so lib/varnish/vmods/libvmod_xkey.so +man/man3/vmod_bodyaccess.3.gz +man/man3/vmod_cookie.3.gz +man/man3/vmod_header.3.gz +man/man3/vmod_saintmode.3.gz +man/man3/vmod_softpurge.3.gz +man/man3/vmod_var.3.gz +man/man3/vmod_vsthrottle.3.gz +man/man3/vmod_xkey.3.gz |