git: 4c9d8131c383 - 2021Q4 - lang/php80: Upgrade from 8.0.12 to 8.0.13

From: Torsten Zuehlsdorff <tz_at_FreeBSD.org>
Date: Sat, 20 Nov 2021 19:32:38 UTC
The branch 2021Q4 has been updated by tz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4c9d8131c3838f83e3db7c5f7eb072cda9b38837

commit 4c9d8131c3838f83e3db7c5f7eb072cda9b38837
Author:     Torsten Zuehlsdorff <tz@FreeBSD.org>
AuthorDate: 2021-11-20 19:29:48 +0000
Commit:     Torsten Zuehlsdorff <tz@FreeBSD.org>
CommitDate: 2021-11-20 19:32:25 +0000

    lang/php80: Upgrade from 8.0.12 to 8.0.13
    
        Core:
            Fixed bug #81518 (Header injection via default_mimetype / default_charset).
        Date:
            Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
        DBA:
            Fixed bug #81588 (TokyoCabinet driver leaks memory).
        MBString:
            Fixed bug #76167 (mbstring may use pointer from some previous request).
        Opcache:
            Fixed bug #81512 (Unexpected behavior with arrays and JIT).
        PCRE:
            Fixed bug #81424 (PCRE2 10.35 JIT performance regression).
        XML:
            Fixed bug #79971 (special character is breaking the path in xml function). (CVE-2021-21707)
        XMLReader:
            Fixed bug #81521 (XMLReader::getParserProperty may throw with a valid property).
    
    Also include a patch to fix issue 259725:
    dns_get_record fails when requested record doesn't exist
    
    PR:             259725
    Reported by:    fsbruva@yahoo.com
    Sponsored by:   Bounce Experts
    
    (cherry picked from commit 91fd937f88cae37d468aa1973dd88232c2fb498c)
---
 lang/php80/Makefile                            |  2 +-
 lang/php80/distinfo                            |  6 +++---
 lang/php80/files/patch-ext_standard_dns.c      | 21 +++++++++++++++++++++
 lang/php80/files/patch-ext_standard_php__dns.h | 24 ++++++++++++++++++++++++
 4 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/lang/php80/Makefile b/lang/php80/Makefile
index 7e9acf6c4607..b76f80480659 100644
--- a/lang/php80/Makefile
+++ b/lang/php80/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	php80
-DISTVERSION=	8.0.12
+DISTVERSION=	8.0.13
 PORTREVISION?=	0
 CATEGORIES?=	lang devel www
 MASTER_SITES=	PHP/distributions
diff --git a/lang/php80/distinfo b/lang/php80/distinfo
index 297a4ce4290b..8754c07f4489 100644
--- a/lang/php80/distinfo
+++ b/lang/php80/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1635020227
-SHA256 (php-8.0.12.tar.xz) = a501017b3b0fd3023223ea25d98e87369b782f8a82310c4033d7ea6a989fea0a
-SIZE (php-8.0.12.tar.xz) = 10713980
+TIMESTAMP = 1637349092
+SHA256 (php-8.0.13.tar.xz) = cd976805ec2e9198417651027dfe16854ba2c2c388151ab9d4d268513d52ed52
+SIZE (php-8.0.13.tar.xz) = 10854284
diff --git a/lang/php80/files/patch-ext_standard_dns.c b/lang/php80/files/patch-ext_standard_dns.c
new file mode 100644
index 000000000000..58acda6824e1
--- /dev/null
+++ b/lang/php80/files/patch-ext_standard_dns.c
@@ -0,0 +1,21 @@
+--- ext/standard/dns.c.orig	2021-10-19 10:34:32 UTC
++++ ext/standard/dns.c
+@@ -798,6 +798,7 @@ PHP_FUNCTION(dns_get_record)
+ 	zend_long type_param = PHP_DNS_ANY;
+ 	zval *authns = NULL, *addtl = NULL;
+ 	int type_to_fetch;
++	int dns_errno;
+ #if defined(HAVE_DNS_SEARCH)
+ 	struct sockaddr_storage from;
+ 	uint32_t fromsize = sizeof(from);
+@@ -946,8 +947,9 @@ PHP_FUNCTION(dns_get_record)
+ 			n = php_dns_search(handle, hostname, C_IN, type_to_fetch, answer.qb2, sizeof answer);
+ 
+ 			if (n < 0) {
++				dns_errno = php_dns_errno(handle);
+ 				php_dns_free_handle(handle);
+-				switch (h_errno) {
++				switch (dns_errno) {
+ 					case NO_DATA:
+ 					case HOST_NOT_FOUND:
+ 						continue;
diff --git a/lang/php80/files/patch-ext_standard_php__dns.h b/lang/php80/files/patch-ext_standard_php__dns.h
new file mode 100644
index 000000000000..11ebd188624e
--- /dev/null
+++ b/lang/php80/files/patch-ext_standard_php__dns.h
@@ -0,0 +1,24 @@
+--- ext/standard/php_dns.h.orig	2021-10-19 10:34:32 UTC
++++ ext/standard/php_dns.h
+@@ -24,6 +24,7 @@
+     	((int)dns_search(res, dname, class, type, (char *) answer, anslen, (struct sockaddr *)&from, &fromsize))
+ #define php_dns_free_handle(res) \
+ 		dns_free(res)
++#define php_dns_errno(handle) h_errno
+ 
+ #elif defined(HAVE_RES_NSEARCH)
+ #define php_dns_search(res, dname, class, type, answer, anslen) \
+@@ -37,11 +38,13 @@
+ 			res_nclose(res); \
+ 			php_dns_free_res(res)
+ #endif
++#define php_dns_errno(handle) handle->res_h_errno
+ 
+ #elif defined(HAVE_RES_SEARCH)
+ #define php_dns_search(res, dname, class, type, answer, anslen) \
+ 			res_search(dname, class, type, answer, anslen)
+ #define php_dns_free_handle(res) /* noop */
++#define php_dns_errno(handle) h_errno
+ 
+ #endif
+