summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--PHPINFO6
-rw-r--r--REFLECTION319
-rw-r--r--php-pecl-varnish.spec15
-rw-r--r--varnish-php8.patch274
-rw-r--r--varnish-up.patch11
6 files changed, 239 insertions, 388 deletions
diff --git a/.gitignore b/.gitignore
index 1ab5c4f..01f0400 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
+clog
package-*.xml
*.tgz
+*.tar.bz2
*.tar.gz
*.tar.xz
*.tar.xz.asc
diff --git a/PHPINFO b/PHPINFO
index f9b4814..2633d58 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,6 +2,6 @@
varnish
varnish support => enabled
-Extension version => 1.2.4
-Revision => $Id: varnish.c 344445 2018-03-04 19:35:20Z ab $
-Varnish version => Varnish 5.1.3 05c5ac6b9
+Extension version => 1.2.6
+Revision => $Id: varnish.c 350374 2020-08-24 15:39:32Z remi $
+Varnish version => Varnish 6.4.0 13f137934ec1cf14af66baf7896311115ee35598
diff --git a/REFLECTION b/REFLECTION
index 692f1f6..6857bcc 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,29 +1,29 @@
-Extension [ <persistent> extension #162 varnish version 1.2.4 ] {
+Extension [ <persistent> extension #119 varnish version 1.2.6 ] {
- Dependencies {
Dependency [ hash (Required) ]
}
- Constants [19] {
- Constant [ integer VARNISH_STATUS_SYNTAX ] { 100 }
- Constant [ integer VARNISH_STATUS_UNKNOWN ] { 101 }
- Constant [ integer VARNISH_STATUS_UNIMPL ] { 102 }
- Constant [ integer VARNISH_STATUS_TOOFEW ] { 104 }
- Constant [ integer VARNISH_STATUS_TOOMANY ] { 105 }
- Constant [ integer VARNISH_STATUS_PARAM ] { 106 }
- Constant [ integer VARNISH_STATUS_AUTH ] { 107 }
- Constant [ integer VARNISH_STATUS_OK ] { 200 }
- Constant [ integer VARNISH_STATUS_CANT ] { 300 }
- Constant [ integer VARNISH_STATUS_COMMS ] { 400 }
- Constant [ integer VARNISH_STATUS_CLOSE ] { 500 }
+ Constant [ int VARNISH_STATUS_SYNTAX ] { 100 }
+ Constant [ int VARNISH_STATUS_UNKNOWN ] { 101 }
+ Constant [ int VARNISH_STATUS_UNIMPL ] { 102 }
+ Constant [ int VARNISH_STATUS_TOOFEW ] { 104 }
+ Constant [ int VARNISH_STATUS_TOOMANY ] { 105 }
+ Constant [ int VARNISH_STATUS_PARAM ] { 106 }
+ Constant [ int VARNISH_STATUS_AUTH ] { 107 }
+ Constant [ int VARNISH_STATUS_OK ] { 200 }
+ Constant [ int VARNISH_STATUS_CANT ] { 300 }
+ Constant [ int VARNISH_STATUS_COMMS ] { 400 }
+ Constant [ int VARNISH_STATUS_CLOSE ] { 500 }
Constant [ string VARNISH_CONFIG_IDENT ] { ident }
Constant [ string VARNISH_CONFIG_HOST ] { host }
Constant [ string VARNISH_CONFIG_PORT ] { port }
Constant [ string VARNISH_CONFIG_TIMEOUT ] { timeout }
Constant [ string VARNISH_CONFIG_SECRET ] { secret }
Constant [ string VARNISH_CONFIG_COMPAT ] { compat }
- Constant [ integer VARNISH_COMPAT_2 ] { 2 }
- Constant [ integer VARNISH_COMPAT_3 ] { 3 }
+ Constant [ int VARNISH_COMPAT_2 ] { 2 }
+ Constant [ int VARNISH_COMPAT_3 ] { 3 }
}
- Classes [4] {
@@ -43,66 +43,161 @@ Extension [ <persistent> extension #162 varnish version 1.2.4 ] {
- Methods [21] {
Method [ <internal:varnish, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> array $opt ]
+ }
}
Method [ <internal:varnish> public method connect ] {
+
+ - Parameters [0] {
+ }
+ - Return [ bool ]
}
Method [ <internal:varnish> public method auth ] {
+
+ - Parameters [0] {
+ }
+ - Return [ bool ]
}
Method [ <internal:varnish> public method getParams ] {
+
+ - Parameters [0] {
+ }
+ - Return [ array ]
}
Method [ <internal:varnish> public method setParam ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> string $name ]
+ Parameter #1 [ <required> string $value ]
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method stop ] {
+
+ - Parameters [0] {
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method start ] {
+
+ - Parameters [0] {
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method banUrl ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $regex ]
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method ban ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $regex ]
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method isRunning ] {
+
+ - Parameters [0] {
+ }
+ - Return [ bool ]
}
Method [ <internal:varnish> public method getPanic ] {
+
+ - Parameters [0] {
+ }
+ - Return [ string ]
}
Method [ <internal:varnish> public method clearPanic ] {
+
+ - Parameters [0] {
+ }
+ - Return [ int ]
}
Method [ <internal:varnish> public method setHost ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $host ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method setIdent ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $ident ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method setTimeout ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> int $timeout ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method setPort ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> int $port ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method setSecret ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $secret ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method setCompat ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> int $compat ]
+ }
+ - Return [ void ]
}
Method [ <internal:varnish> public method getVclList ] {
+
+ - Parameters [0] {
+ }
+ - Return [ array ]
}
Method [ <internal:varnish> public method vclUse ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> string $name ]
+ }
+ - Return [ bool ]
}
Method [ <internal:varnish> public method disconnect ] {
+
+ - Parameters [0] {
+ }
+ - Return [ bool ]
}
}
}
@@ -123,104 +218,112 @@ Extension [ <persistent> extension #162 varnish version 1.2.4 ] {
- Methods [1] {
Method [ <internal:varnish, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> array $opt ]
+ }
}
}
}
Class [ <internal:varnish> class VarnishLog ] {
- - Constants [91] {
- Constant [ public integer TAG_Debug ] { 1 }
- Constant [ public integer TAG_Error ] { 2 }
- Constant [ public integer TAG_CLI ] { 3 }
- Constant [ public integer TAG_SessOpen ] { 4 }
- Constant [ public integer TAG_SessClose ] { 5 }
- Constant [ public integer TAG_BackendOpen ] { 6 }
- Constant [ public integer TAG_BackendReuse ] { 7 }
- Constant [ public integer TAG_BackendClose ] { 8 }
- Constant [ public integer TAG_HttpGarbage ] { 9 }
- Constant [ public integer TAG_Proxy ] { 10 }
- Constant [ public integer TAG_ProxyGarbage ] { 11 }
- Constant [ public integer TAG_Backend ] { 12 }
- Constant [ public integer TAG_Length ] { 13 }
- Constant [ public integer TAG_FetchError ] { 14 }
- Constant [ public integer TAG_ReqMethod ] { 15 }
- Constant [ public integer TAG_ReqURL ] { 16 }
- Constant [ public integer TAG_ReqProtocol ] { 17 }
- Constant [ public integer TAG_ReqStatus ] { 18 }
- Constant [ public integer TAG_ReqReason ] { 19 }
- Constant [ public integer TAG_ReqHeader ] { 20 }
- Constant [ public integer TAG_ReqUnset ] { 21 }
- Constant [ public integer TAG_ReqLost ] { 22 }
- Constant [ public integer TAG_RespMethod ] { 23 }
- Constant [ public integer TAG_RespURL ] { 24 }
- Constant [ public integer TAG_RespProtocol ] { 25 }
- Constant [ public integer TAG_RespStatus ] { 26 }
- Constant [ public integer TAG_RespReason ] { 27 }
- Constant [ public integer TAG_RespHeader ] { 28 }
- Constant [ public integer TAG_RespUnset ] { 29 }
- Constant [ public integer TAG_RespLost ] { 30 }
- Constant [ public integer TAG_BereqMethod ] { 31 }
- Constant [ public integer TAG_BereqURL ] { 32 }
- Constant [ public integer TAG_BereqProtocol ] { 33 }
- Constant [ public integer TAG_BereqStatus ] { 34 }
- Constant [ public integer TAG_BereqReason ] { 35 }
- Constant [ public integer TAG_BereqHeader ] { 36 }
- Constant [ public integer TAG_BereqUnset ] { 37 }
- Constant [ public integer TAG_BereqLost ] { 38 }
- Constant [ public integer TAG_BerespMethod ] { 39 }
- Constant [ public integer TAG_BerespURL ] { 40 }
- Constant [ public integer TAG_BerespProtocol ] { 41 }
- Constant [ public integer TAG_BerespStatus ] { 42 }
- Constant [ public integer TAG_BerespReason ] { 43 }
- Constant [ public integer TAG_BerespHeader ] { 44 }
- Constant [ public integer TAG_BerespUnset ] { 45 }
- Constant [ public integer TAG_BerespLost ] { 46 }
- Constant [ public integer TAG_ObjMethod ] { 47 }
- Constant [ public integer TAG_ObjURL ] { 48 }
- Constant [ public integer TAG_ObjProtocol ] { 49 }
- Constant [ public integer TAG_ObjStatus ] { 50 }
- Constant [ public integer TAG_ObjReason ] { 51 }
- Constant [ public integer TAG_ObjHeader ] { 52 }
- Constant [ public integer TAG_ObjUnset ] { 53 }
- Constant [ public integer TAG_ObjLost ] { 54 }
- Constant [ public integer TAG_BogoHeader ] { 55 }
- Constant [ public integer TAG_LostHeader ] { 56 }
- Constant [ public integer TAG_TTL ] { 57 }
- Constant [ public integer TAG_Fetch_Body ] { 58 }
- Constant [ public integer TAG_VCL_acl ] { 59 }
- Constant [ public integer TAG_VCL_call ] { 60 }
- Constant [ public integer TAG_VCL_trace ] { 61 }
- Constant [ public integer TAG_VCL_return ] { 62 }
- Constant [ public integer TAG_ReqStart ] { 63 }
- Constant [ public integer TAG_Hit ] { 64 }
- Constant [ public integer TAG_HitPass ] { 65 }
- Constant [ public integer TAG_ExpBan ] { 66 }
- Constant [ public integer TAG_ExpKill ] { 67 }
- Constant [ public integer TAG_WorkThread ] { 68 }
- Constant [ public integer TAG_ESI_xmlerror ] { 69 }
- Constant [ public integer TAG_Hash ] { 70 }
- Constant [ public integer TAG_Backend_health ] { 71 }
- Constant [ public integer TAG_VCL_Log ] { 72 }
- Constant [ public integer TAG_VCL_Error ] { 73 }
- Constant [ public integer TAG_Gzip ] { 74 }
- Constant [ public integer TAG_Link ] { 75 }
- Constant [ public integer TAG_Begin ] { 76 }
- Constant [ public integer TAG_End ] { 77 }
- Constant [ public integer TAG_VSL ] { 78 }
- Constant [ public integer TAG_Storage ] { 79 }
- Constant [ public integer TAG_Timestamp ] { 80 }
- Constant [ public integer TAG_ReqAcct ] { 81 }
- Constant [ public integer TAG_PipeAcct ] { 82 }
- Constant [ public integer TAG_BereqAcct ] { 83 }
- Constant [ public integer TAG_VfpAcct ] { 84 }
- Constant [ public integer TAG_Witness ] { 85 }
- Constant [ public integer TAG_BackendStart ] { 86 }
- Constant [ public integer TAG_H2RxHdr ] { 87 }
- Constant [ public integer TAG_H2RxBody ] { 88 }
- Constant [ public integer TAG_H2TxHdr ] { 89 }
- Constant [ public integer TAG_H2TxBody ] { 90 }
- Constant [ public integer TAG_HitMiss ] { 91 }
+ - Constants [95] {
+ Constant [ public int TAG_Debug ] { 1 }
+ Constant [ public int TAG_Error ] { 2 }
+ Constant [ public int TAG_CLI ] { 3 }
+ Constant [ public int TAG_SessOpen ] { 4 }
+ Constant [ public int TAG_SessClose ] { 5 }
+ Constant [ public int TAG_BackendOpen ] { 6 }
+ Constant [ public int TAG_BackendReuse ] { 7 }
+ Constant [ public int TAG_BackendClose ] { 8 }
+ Constant [ public int TAG_HttpGarbage ] { 9 }
+ Constant [ public int TAG_Proxy ] { 10 }
+ Constant [ public int TAG_ProxyGarbage ] { 11 }
+ Constant [ public int TAG_Backend ] { 12 }
+ Constant [ public int TAG_Length ] { 13 }
+ Constant [ public int TAG_FetchError ] { 14 }
+ Constant [ public int TAG_ReqMethod ] { 15 }
+ Constant [ public int TAG_ReqURL ] { 16 }
+ Constant [ public int TAG_ReqProtocol ] { 17 }
+ Constant [ public int TAG_ReqStatus ] { 18 }
+ Constant [ public int TAG_ReqReason ] { 19 }
+ Constant [ public int TAG_ReqHeader ] { 20 }
+ Constant [ public int TAG_ReqUnset ] { 21 }
+ Constant [ public int TAG_ReqLost ] { 22 }
+ Constant [ public int TAG_RespMethod ] { 23 }
+ Constant [ public int TAG_RespURL ] { 24 }
+ Constant [ public int TAG_RespProtocol ] { 25 }
+ Constant [ public int TAG_RespStatus ] { 26 }
+ Constant [ public int TAG_RespReason ] { 27 }
+ Constant [ public int TAG_RespHeader ] { 28 }
+ Constant [ public int TAG_RespUnset ] { 29 }
+ Constant [ public int TAG_RespLost ] { 30 }
+ Constant [ public int TAG_BereqMethod ] { 31 }
+ Constant [ public int TAG_BereqURL ] { 32 }
+ Constant [ public int TAG_BereqProtocol ] { 33 }
+ Constant [ public int TAG_BereqStatus ] { 34 }
+ Constant [ public int TAG_BereqReason ] { 35 }
+ Constant [ public int TAG_BereqHeader ] { 36 }
+ Constant [ public int TAG_BereqUnset ] { 37 }
+ Constant [ public int TAG_BereqLost ] { 38 }
+ Constant [ public int TAG_BerespMethod ] { 39 }
+ Constant [ public int TAG_BerespURL ] { 40 }
+ Constant [ public int TAG_BerespProtocol ] { 41 }
+ Constant [ public int TAG_BerespStatus ] { 42 }
+ Constant [ public int TAG_BerespReason ] { 43 }
+ Constant [ public int TAG_BerespHeader ] { 44 }
+ Constant [ public int TAG_BerespUnset ] { 45 }
+ Constant [ public int TAG_BerespLost ] { 46 }
+ Constant [ public int TAG_ObjMethod ] { 47 }
+ Constant [ public int TAG_ObjURL ] { 48 }
+ Constant [ public int TAG_ObjProtocol ] { 49 }
+ Constant [ public int TAG_ObjStatus ] { 50 }
+ Constant [ public int TAG_ObjReason ] { 51 }
+ Constant [ public int TAG_ObjHeader ] { 52 }
+ Constant [ public int TAG_ObjUnset ] { 53 }
+ Constant [ public int TAG_ObjLost ] { 54 }
+ Constant [ public int TAG_BogoHeader ] { 55 }
+ Constant [ public int TAG_LostHeader ] { 56 }
+ Constant [ public int TAG_TTL ] { 57 }
+ Constant [ public int TAG_Fetch_Body ] { 58 }
+ Constant [ public int TAG_VCL_acl ] { 59 }
+ Constant [ public int TAG_VCL_call ] { 60 }
+ Constant [ public int TAG_VCL_trace ] { 61 }
+ Constant [ public int TAG_VCL_return ] { 62 }
+ Constant [ public int TAG_ReqStart ] { 63 }
+ Constant [ public int TAG_Hit ] { 64 }
+ Constant [ public int TAG_HitPass ] { 65 }
+ Constant [ public int TAG_ExpBan ] { 66 }
+ Constant [ public int TAG_ExpKill ] { 67 }
+ Constant [ public int TAG_WorkThread ] { 68 }
+ Constant [ public int TAG_ESI_xmlerror ] { 69 }
+ Constant [ public int TAG_Hash ] { 70 }
+ Constant [ public int TAG_Backend_health ] { 71 }
+ Constant [ public int TAG_VCL_Log ] { 72 }
+ Constant [ public int TAG_VCL_Error ] { 73 }
+ Constant [ public int TAG_Gzip ] { 74 }
+ Constant [ public int TAG_Link ] { 75 }
+ Constant [ public int TAG_Begin ] { 76 }
+ Constant [ public int TAG_End ] { 77 }
+ Constant [ public int TAG_VSL ] { 78 }
+ Constant [ public int TAG_Storage ] { 79 }
+ Constant [ public int TAG_Timestamp ] { 80 }
+ Constant [ public int TAG_ReqAcct ] { 81 }
+ Constant [ public int TAG_PipeAcct ] { 82 }
+ Constant [ public int TAG_BereqAcct ] { 83 }
+ Constant [ public int TAG_VfpAcct ] { 84 }
+ Constant [ public int TAG_Witness ] { 85 }
+ Constant [ public int TAG_BackendStart ] { 86 }
+ Constant [ public int TAG_H2RxHdr ] { 87 }
+ Constant [ public int TAG_H2RxBody ] { 88 }
+ Constant [ public int TAG_H2TxHdr ] { 89 }
+ Constant [ public int TAG_H2TxBody ] { 90 }
+ Constant [ public int TAG_HitMiss ] { 91 }
+ Constant [ public int TAG_Filters ] { 92 }
+ Constant [ public int TAG_SessError ] { 93 }
+ Constant [ public int TAG_VCL_use ] { 94 }
+ Constant [ public int TAG_Notice ] { 95 }
}
- Static properties [0] {
@@ -234,6 +337,10 @@ Extension [ <persistent> extension #162 varnish version 1.2.4 ] {
- Methods [1] {
Method [ <internal:varnish, ctor> public method __construct ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <optional> array $opt ]
+ }
}
}
}
diff --git a/php-pecl-varnish.spec b/php-pecl-varnish.spec
index d81e1fa..5f77a70 100644
--- a/php-pecl-varnish.spec
+++ b/php-pecl-varnish.spec
@@ -1,6 +1,6 @@
# remirepo spec file for php-pecl-varnish
#
-# Copyright (c) 2013-2020 Remi Collet
+# Copyright (c) 2013-2021 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
@@ -29,15 +29,16 @@
Summary: Varnish Cache bindings
Name: %{?sub_prefix}php-pecl-%{pecl_name}
-Version: 1.2.4
-Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Version: 1.2.6
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: BSD
URL: https://pecl.php.net/package/%{pecl_name}
Source0: https://pecl.php.net/get/%{pecl_name}-%{version}.tgz
-Patch0: %{pecl_name}-php8.patch
+Patch0: %{pecl_name}-up.patch
BuildRequires: %{?dtsprefix}gcc
+BuildRequires: make
BuildRequires: %{?scl_prefix}php-devel
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: %{?scl_prefix}php-hash
@@ -96,7 +97,7 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
-%patch0 -p3 -b .up0
+%patch0 -p3
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_VARNISH_VERSION/{s/.* "//;s/".*$//;p}' php_varnish.h)
@@ -276,6 +277,10 @@ exit $ret
%changelog
+* Mon Jan 18 2021 Remi Collet <remi@remirepo.net> - 1.2.6-1
+- update to 1.2.6
+- drop patch merged upstream
+
* Mon Aug 24 2020 Remi Collet <remi@remirepo.net> - 1.2.4-5
- add upstream patch for PHP 8
diff --git a/varnish-php8.patch b/varnish-php8.patch
deleted file mode 100644
index e5a8152..0000000
--- a/varnish-php8.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-Index: php_varnish.h
-===================================================================
---- pecl/varnish/trunk/php_varnish.h 2018/07/01 11:30:53 345257
-+++ pecl/varnish/trunk/php_varnish.h 2020/08/24 14:11:30 350373
-@@ -131,6 +131,14 @@
- int authok;
- };
-
-+#if PHP_MAJOR_VERSION >= 8
-+#define TSRMLS_D void
-+#define TSRMLS_DC
-+#define TSRMLS_C
-+#define TSRMLS_CC
-+#define TSRMLS_FETCH()
-+#endif
-+
- #if PHP_MAJOR_VERSION >= 7
- struct ze_varnish_adm_obj {
- struct ze_varnish_conn zvc;
-Index: varnish.c
-===================================================================
---- pecl/varnish/trunk/varnish.c (révision 350372)
-+++ pecl/varnish/trunk/varnish.c (copie de travail)
-@@ -40,6 +40,24 @@
-
- #include "varnish_lib.h"
-
-+/* Compatibility with PHP < 8 */
-+#if PHP_VERSION_ID < 70200
-+#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
-+#endif
-+
-+#ifndef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
-+#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
-+ ZEND_BEGIN_ARG_INFO_EX(name, _unused, return_reference, required_num_args)
-+#endif
-+
-+#ifndef ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE
-+#define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \
-+ ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null)
-+#endif
-+
-+/* Arginfo generated with PHP 8 */
-+#include "varnish_arginfo.h"
-+
- /*ZEND_DECLARE_MODULE_GLOBALS(varnish)*/
-
- /* True global resources - no need for thread safety here
-@@ -70,27 +88,27 @@
- /* {{{ VarnishAdmin_methods[]
- */
- const zend_function_entry VarnishAdmin_methods[] = {
-- PHP_ME(VarnishAdmin, __construct, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, connect, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, auth, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, getParams, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setParam, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, stop, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, start, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, banUrl, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, ban, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, isRunning, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, getPanic, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, clearPanic, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setHost, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setIdent, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setTimeout, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setPort, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setSecret, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, setCompat, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, getVclList, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, vclUse, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishAdmin, disconnect, NULL, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, __construct, arginfo_class_VarnishAdmin___construct, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, connect, arginfo_class_VarnishAdmin_connect, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, auth, arginfo_class_VarnishAdmin_auth, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, getParams, arginfo_class_VarnishAdmin_getParams, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setParam, arginfo_class_VarnishAdmin_setParam, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, stop, arginfo_class_VarnishAdmin_stop, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, start, arginfo_class_VarnishAdmin_start, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, banUrl, arginfo_class_VarnishAdmin_banUrl, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, ban, arginfo_class_VarnishAdmin_ban, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, isRunning, arginfo_class_VarnishAdmin_isRunning, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, getPanic, arginfo_class_VarnishAdmin_getPanic, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, clearPanic, arginfo_class_VarnishAdmin_clearPanic, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setHost, arginfo_class_VarnishAdmin_setHost, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setIdent, arginfo_class_VarnishAdmin_setIdent, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setTimeout, arginfo_class_VarnishAdmin_setTimeout, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setPort, arginfo_class_VarnishAdmin_setPort, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setSecret, arginfo_class_VarnishAdmin_setSecret, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, setCompat, arginfo_class_VarnishAdmin_setCompat, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, getVclList, arginfo_class_VarnishAdmin_getVclList, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, vclUse, arginfo_class_VarnishAdmin_vclUse, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishAdmin, disconnect, arginfo_class_VarnishAdmin_disconnect, ZEND_ACC_PUBLIC)
- {NULL, NULL, NULL}
- };
- /* }}} */
-@@ -97,9 +115,9 @@
-
- /* {{{ VarnishStat_methods{} */
- const zend_function_entry VarnishStat_methods[] = {
-- PHP_ME(VarnishStat, __construct, NULL, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishStat, __construct, arginfo_class_VarnishStat___construct, ZEND_ACC_PUBLIC)
- #if defined(HAVE_VARNISHAPILIB) && HAVE_VARNISHAPILIB < 40
-- PHP_ME(VarnishStat, getSnapshot, NULL, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishStat, getSnapshot, arginfo_class_VarnishStat_getSnapshot, ZEND_ACC_PUBLIC)
- #endif
- {NULL, NULL, NULL}
- };
-@@ -107,10 +125,10 @@
-
- /* {{{ VarnishLog_methods{} */
- const zend_function_entry VarnishLog_methods[] = {
-- PHP_ME(VarnishLog, __construct, NULL, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishLog, __construct, arginfo_class_VarnishLog___construct, ZEND_ACC_PUBLIC)
- #if defined(HAVE_VARNISHAPILIB) && HAVE_VARNISHAPILIB < 40
-- PHP_ME(VarnishLog, getLine, NULL, ZEND_ACC_PUBLIC)
-- PHP_ME(VarnishLog, getTagName, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-+ PHP_ME(VarnishLog, getLine, arginfo_class_VarnishLog_getLine, ZEND_ACC_PUBLIC)
-+ PHP_ME(VarnishLog, getTagName, arginfo_class_VarnishLog_getTagName, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
- #endif
- {NULL, NULL, NULL}
- };
-Index: varnish.stub.php
-===================================================================
---- /dev/null
-+++ pecl/varnish/trunk/varnish.stub.php (copie de travail)
-@@ -0,0 +1,59 @@
-+<?php
-+
-+class VarnishAdmin {
-+ public function __construct(array $opt = []);
-+
-+ public function connect(): bool;
-+
-+ public function auth(): bool;
-+
-+ public function getParams(): array;
-+
-+ public function setParam(string $name, string $value): int;
-+
-+ public function stop(): int;
-+
-+ public function start(): int;
-+
-+ public function banUrl(string $regex): int;
-+
-+ public function ban(string $regex): int;
-+
-+ public function isRunning(): bool;
-+
-+ public function getPanic(): string;
-+
-+ public function clearPanic(): int;
-+
-+ public function setHost(string $host): void;
-+
-+ public function setIdent(string $ident): void;
-+
-+ public function setSecret(string $secret): void;
-+
-+ public function setTimeout(int $timeout): void;
-+
-+ public function setPort(int $port): void;
-+
-+ public function setCompat(int $compat): void;
-+
-+ public function getVclList(): array;
-+
-+ public function vclUse(string $name): bool;
-+
-+ public function disconnect(): bool;
-+}
-+
-+class VarnishStat {
-+ public function __construct(array $opt = []);
-+
-+ public function getSnapshot(): array;
-+}
-+
-+class VarnishLog {
-+ public function __construct(array $opt = []);
-+
-+ public function getLine(): array;
-+
-+ public function getTagName(int $ind): string;
-+}
-
-Index: varnish_arginfo.h
-===================================================================
---- /dev/null
-+++ pecl/varnish/trunk/varnish_arginfo.h (copie de travail)
-@@ -0,0 +1,81 @@
-+/* This is a generated file, edit the .stub.php file instead.
-+ * Stub hash: 8f85af0f0ca3c73efcc24ed046662a4df80bf74f */
-+
-+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_VarnishAdmin___construct, 0, 0, 0)
-+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, opt, IS_ARRAY, 0, "[]")
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_connect, 0, 0, _IS_BOOL, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_auth arginfo_class_VarnishAdmin_connect
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_getParams, 0, 0, IS_ARRAY, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setParam, 0, 2, IS_LONG, 0)
-+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
-+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_stop, 0, 0, IS_LONG, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_start arginfo_class_VarnishAdmin_stop
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_banUrl, 0, 1, IS_LONG, 0)
-+ ZEND_ARG_TYPE_INFO(0, regex, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_ban arginfo_class_VarnishAdmin_banUrl
-+
-+#define arginfo_class_VarnishAdmin_isRunning arginfo_class_VarnishAdmin_connect
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_getPanic, 0, 0, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_clearPanic arginfo_class_VarnishAdmin_stop
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setHost, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setIdent, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, ident, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setSecret, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, secret, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setTimeout, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setPort, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, port, IS_LONG, 0)
-+ZEND_END_ARG_INFO()
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_setCompat, 0, 1, IS_VOID, 0)
-+ ZEND_ARG_TYPE_INFO(0, compat, IS_LONG, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_getVclList arginfo_class_VarnishAdmin_getParams
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishAdmin_vclUse, 0, 1, _IS_BOOL, 0)
-+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
-+ZEND_END_ARG_INFO()
-+
-+#define arginfo_class_VarnishAdmin_disconnect arginfo_class_VarnishAdmin_connect
-+
-+#define arginfo_class_VarnishStat___construct arginfo_class_VarnishAdmin___construct
-+
-+#define arginfo_class_VarnishStat_getSnapshot arginfo_class_VarnishAdmin_getParams
-+
-+#define arginfo_class_VarnishLog___construct arginfo_class_VarnishAdmin___construct
-+
-+#define arginfo_class_VarnishLog_getLine arginfo_class_VarnishAdmin_getParams
-+
-+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_VarnishLog_getTagName, 0, 1, IS_STRING, 0)
-+ ZEND_ARG_TYPE_INFO(0, ind, IS_LONG, 0)
-+ZEND_END_ARG_INFO()
diff --git a/varnish-up.patch b/varnish-up.patch
new file mode 100644
index 0000000..a7429c6
--- /dev/null
+++ b/varnish-up.patch
@@ -0,0 +1,11 @@
+--- pecl/varnish/trunk/varnish.c 2021/01/18 07:21:40 352310
++++ pecl/varnish/trunk/varnish.c 2021/01/18 08:00:09 352311
+@@ -47,7 +47,7 @@
+
+ #ifndef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
+ #define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
+- ZEND_BEGIN_ARG_INFO_EX(name, _unused, return_reference, required_num_args)
++ ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
+ #endif
+
+ #ifndef ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE