freebsd-ports/lang/php81/Makefile

637 lines
14 KiB
Makefile
Raw Normal View History

Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
PORTNAME= php81
DISTVERSION= 8.1.8
PORTREVISION?= 0
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
MAINTAINER= bofh@FreeBSD.org
COMMENT= PHP Scripting Language (8.1.X branch)
LICENSE= PHP301
USES+= compiler:c11 cpe gnome pkgconfig tar:xz
CPE_PRODUCT= php
PHP_VER= 81
CONFLICTS_INSTALL?= php[0-9][0-9]${PKGNAMESUFFIX}
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
.if !defined(PKGNAMESUFFIX)
LIB_DEPENDS= libargon2.so:security/libargon2 \
libpcre2-8.so:devel/pcre2
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-all \
--program-prefix="" \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--with-layout=GNU \
--with-libxml \
--with-openssl \
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
--with-password-argon2=${LOCALBASE}
DESTDIRNAME= INSTALL_ROOT
USES+= autoreconf:build ssl
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
USE_GNOME= libxml2
CPPFLAGS= -I${LOCALBASE}/include
LDFLAGS= -L${OPENSSLLIB} -lcrypto -lssl
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
# PR230207 Allow relocations against read-only segments (override lld default)
LDFLAGS_i386= -Wl,-z,notext
OPTIONS_DEFINE+= CGI CLI DEBUG DTRACE EMBED FPM IPV6 LINKTHR \
MYSQLND PHPDBG ZTS
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
OPTIONS_DEFAULT= CGI CLI DTRACE EMBED FPM LINKTHR MYSQLND
OPTIONS_EXCLUDE_DragonFly= DTRACE
# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
OPTIONS_EXCLUDE_aarch64= DTRACE
# dt_modtext:opensolaris/ib/libdtrace/common/dt_link.c: arm not impemented
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
# Bug 197128: No ASM code for MIPS/MIPS64, disable FPM
OPTIONS_EXCLUDE_mips= DTRACE FPM
OPTIONS_EXCLUDE_mips64= DTRACE FPM
OPTIONS_EXCLUDE_powerpc64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
OPTIONS_EXCLUDE_powerpc64_12= DTRACE
OPTIONS_EXCLUDE_riscv64= DTRACE
OPTIONS_EXCLUDE_sparc64= DTRACE
NO_OPTIONS_SORT= yes
OPTIONS_SUB= yes
CGI_DESC= Build CGI version
CLI_DESC= Build CLI version
EMBED_DESC= Build embedded library
FPM_DESC= Build FPM version
LINKTHR_DESC= Link thread lib (for threaded extensions)
MYSQLND_DESC= Build with MySQL Native Driver
PHPDBG_DESC= Interactive PHP debugger
ZTS_DESC= Force Zend Thread Safety (ZTS) build
CGI_CONFIGURE_OFF= --disable-cgi
CGI_VARS= PHP_SAPI+=cgi
CLI_CONFIGURE_OFF= --disable-cli
CLI_VARS= PHP_SAPI+=cli
DEBUG_CONFIGURE_ON= --enable-debug
DTRACE_CONFIGURE_ON= --enable-dtrace
EMBED_CONFIGURE_ON= --enable-embed
EMBED_VARS= PHP_SAPI+=embed
FPM_CONFIGURE_ON= --enable-fpm \
--with-fpm-group=${WWWGRP} \
--with-fpm-user=${WWWOWN}
FPM_VARS= PHP_SAPI+=fpm \
USE_RC_SUBR+=php-fpm
IPV6_CONFIGURE_OFF= --disable-ipv6
LINKTHR_LIBS= -lpthread
MYSQLND_CONFIGURE_ON= --enable-mysqlnd
PHPDBG_CONFIGURE_ON= --enable-phpdbg
PHPDBG_VARS= PHP_SAPI+=phpdbg
ZTS_CONFIGURE_ON= --enable-zts
ZTS_CONFIGURE_ENV= pthreads_working="yes"
.include <bsd.port.pre.mk>
.if ${ARCH} == riscv64
CONFIGURE_ARGS+= --without-pcre-jit
.endif
.if defined(PKGNAMEPREFIX)
USES+= apache:2.2+
.include "${PORTSDIR}/Mk/Uses/apache.mk"
.if ${PORT_OPTIONS:MAP2FILTER}
CONFIGURE_ARGS+= --with-apxs2filter=${APXS}
.else
CONFIGURE_ARGS+= --with-apxs2=${APXS}
.endif
PLIST= ${PKGDIR}/pkg-plist.mod
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
MODULENAME= libphp
SHORTMODNAME= php
WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
.endif
.if ${PORT_OPTIONS:MPHPDBG} && ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= --enable-phpdbg-debug
.endif
.if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
PLIST_SUB+= SAPI_INC=""
.else
PLIST_SUB+= SAPI_INC="@comment "
.endif
CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
lt_cv_path_SED="sed" \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
post-patch:
@${TOUCH} ${WRKSRC}/ext/php_config.h
post-patch-FPM-on:
@${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
${WRKSRC}/sapi/fpm/php-fpm.conf.in
pre-configure:
@(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
.if !defined(PKGNAMEPREFIX)
post-build:
@${ECHO_CMD} "PHP_VER=${PHP_VER}" > ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} -n "PHP_EXT_DIR=" >> ${WRKDIR}/php.conf
@${SH} ${WRKSRC}/scripts/php-config --extension-dir | ${SED} -ne 's,^${PREFIX}/lib/php/,,p' >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_EXT_INC=hash json openssl pcre spl" >> ${WRKDIR}/php.conf
test: build
@(cd ${WRKSRC} && ${MAKE} test)
post-install:
@${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
post-install-CGI-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/php-cgi
post-install-PHPDBG-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/phpdbg
post-install-CLI-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/php
post-install-FPM-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/php-fpm
post-install-EMBED-on:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libphp.so
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
.else
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
${STAGEDIR}${PREFIX}/${APACHEMODDIR}
.endif
.else
COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 81
IGNORE_WITH_PHP= 74 80
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
TEST_TARGET= test
.if ${PHP_MODNAME} == "bcmath"
CONFIGURE_ARGS+= --enable-bcmath
PHP_HEADER_DIRS= libbcmath/src
.endif
.if ${PHP_MODNAME} == "bz2"
CONFIGURE_ARGS+= --with-bz2=/usr
.endif
.if ${PHP_MODNAME} == "calendar"
CONFIGURE_ARGS+= --enable-calendar
.endif
.if ${PHP_MODNAME} == "ctype"
CONFIGURE_ARGS+= --enable-ctype
.endif
.if ${PHP_MODNAME} == "curl"
LIB_DEPENDS+= libcurl.so:ftp/curl
CONFIGURE_ARGS+= --with-curl=${LOCALBASE}
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+= --enable-dba
OPTIONS_DEFINE= CDB DB4 FLATFILE GDBM INIFILE LMDB QDBM TOKYO
OPTIONS_DEFAULT= CDB FLATFILE INIFILE
CDB_DESC= cdb database support
DB4_DESC= Berkeley DB4 support
FLATFILE_DESC= flatfile support
GDBM_DESC= GDBM database support
INIFILE_DESC= INI file support
LMDB_DESC= LMDB database support
QDBM_DESC= QDBM database support
TOKYO_DESC= Tokyo Cabinet database support
CDB_CONFIGURE_OFF= --without-cdb
DB4_CONFIGURE_ON= --with-db4=${LOCALBASE}
DB4_USES= bdb
DB4_VARS= WITH_BDB_HIGHEST=yes
FLATFILE_CONFIGURE_ON= --disable-flatfile
GDBM_CONFIGURE_ARGS= --with-gdbm=${LOCALBASE}
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
INIFILE_CONFIGURE_OFF= --disable-inifile
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
LMDB_CONFIGURE_ARGS= --with-lmdb=${LOCALBASE}
QDBM_LIB_DEPENDS= libqdbm.so:databases/qdbm
QDBM_CONFIGURE_ARGS= --with-qdbm=${LOCALBASE}
TOKYO_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet
TOKYO_CONFIGURE_ON= --with-tcadb=${LOCALBASE}
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dom"
CONFIGURE_ARGS+= --enable-dom
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "enchant"
LIB_DEPENDS+= libenchant.so:textproc/enchant
CONFIGURE_ARGS+= --with-enchant=${LOCALBASE}
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+= --enable-exif
.endif
.if ${PHP_MODNAME} == "ffi"
LIB_DEPENDS= libffi.so:devel/libffi
CONFIGURE_ARGS+= --with-ffi
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
.endif
.if ${PHP_MODNAME} == "fileinfo"
CONFIGURE_ARGS+= --enable-fileinfo
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
PHP_HEADER_DIRS= libmagic
.endif
.if ${PHP_MODNAME} == "filter"
CONFIGURE_ARGS+= --enable-filter
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+= --enable-ftp
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USES+= pkgconfig ssl
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libgd.so:graphics/gd \
libpng.so:graphics/png
USES+= jpeg
CONFIGURE_ARGS+= --enable-gd \
--with-external-gd
EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions --exclude libgd \
php-${DISTVERSION}/ext/gd
OPTIONS_DEFINE= JIS WEBP X11
JIS_DESC= Enable JIS-mapped Japanese font support
WEBP_DESC= Enable WebP image format support
X11_DESC= Enable XPM support
JIS_CONFIGURE_ON= --enable-gd-jis-conv
WEBP_CONFIGURE_ON= --with-webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
X11_CONFIGURE_ON= --with-xpm
X11_USE= XORG=xpm
X11_USES= xorg
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+= --with-gettext=${LOCALBASE}
USES+= gettext
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= libgmp.so:math/gmp
CONFIGURE_ARGS+= --with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+= --with-iconv=${LOCALBASE}
USES+= iconv:translit
.endif
.if ${PHP_MODNAME} == "imap"
PHP_MOD_PRIO= 30
OPTIONS_RADIO= CLIENT
OPTIONS_RADIO_CLIENT= CCLIENT PANDA
OPTIONS_DEFAULT= PANDA
CCLIENT_DESC= Uses the original but unmaintained cclient
PANDA_DESC= Uses the forked panda-cclient instead of the original cclient
PANDA_LIB_DEPENDS= libc-client.so.2010:mail/panda-cclient
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
PANDA_LIB_DEPENDS_OFF= libc-client4.so.9:mail/cclient
CONFIGURE_ARGS+= --with-imap-ssl=${OPENSSLBASE} \
--with-imap=${LOCALBASE}
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USES+= ssl
.endif
.if ${PHP_MODNAME} == "intl"
LIB_DEPENDS= libicui18n.so:devel/icu
USES+= pkgconfig
CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
.endif
.if ${PHP_MODNAME} == "json"
CONFIGURE_ARGS+= --enable-json
BUILD_DEPENDS= re2c:devel/re2c
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+= --with-ldap-sasl=${LOCALBASE} \
--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+= --enable-mbstring
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
OPTIONS_DEFINE= REGEX
OPTIONS_DEFAULT= REGEX
REGEX_DESC= Enable multibyte regex support
REGEX_LIB_DEPENDS= libonig.so:devel/oniguruma
REGEX_CONFIGURE_OFF= --disable-mbregex
PHP_HEADER_DIRS= libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
.endif
.if ${PHP_MODNAME} == "mysqli"
OPTIONS_DEFINE= MYSQLND
OPTIONS_DEFAULT= MYSQLND
MYSQLND_DESC= Use MySQL Native Driver
MYSQLND_CONFIGURE_ON= --with-mysqli=mysqlnd
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
MYSQLND_CONFIGURE_OFF= --with-mysqli=${LOCALBASE}/bin/mysql_config
MYSQLND_USES_OFF= mysql
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+= --enable-odbc \
--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "opcache"
# This is needed by Zend extensions, keep before everything.
PHP_MOD_PRIO= 10
CONFIGURE_ARGS+= --enable-opcache
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+= --enable-pcntl
.endif
.if ${PHP_MODNAME} == "pdo"
CONFIGURE_ARGS+= --enable-pdo
.endif
.if ${PHP_MODNAME} == "pdo_dblib"
CONFIGURE_ARGS+= --with-pdo-dblib=${LOCALBASE}
USE_PHP= pdo:build
OPTIONS_DEFINE= MSSQL
MSSQL_DESC= Enable Microsoft SQL Server support
MSSQL_LIB_DEPENDS= libsybdb.so:databases/freetds
MSSQL_LIB_DEPENDS_OFF= libct.so:databases/freetds
.endif
.if ${PHP_MODNAME} == "pdo_firebird"
CONFIGURE_ARGS+= --with-pdo-firebird=${LOCALBASE}
USES+= firebird
USE_PHP= pdo:build
.endif
.if ${PHP_MODNAME} == "pdo_odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+= --with-pdo-odbc=unixODBC,${LOCALBASE}
USE_PHP= pdo:build
.endif
.if ${PHP_MODNAME} == "pdo_mysql"
OPTIONS_DEFINE= MYSQLND
OPTIONS_DEFAULT= MYSQLND
MYSQLND_DESC= Use MySQL Native Driver
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
MYSQLND_CONFIGURE_OFF= --with-pdo-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
MYSQLND_USES_OFF= mysql
MYSQLND_CONFIGURE_ON= --with-pdo-mysql=mysqlnd
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
USE_PHP= pdo:build
.endif
.if ${PHP_MODNAME} == "pdo_pgsql"
USES+= pgsql
CONFIGURE_ARGS+= --with-pdo-pgsql=${LOCALBASE}
USE_PHP= pdo:build
.endif
.if ${PHP_MODNAME} == "pdo_sqlite"
USES+= localbase sqlite
CONFIGURE_ARGS+= --with-pdo-sqlite=${LOCALBASE}
USE_PHP= pdo:build
.endif
.if ${PHP_MODNAME} == "pgsql"
USES+= pgsql
CONFIGURE_ARGS+= --with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "phar"
CONFIGURE_ARGS+= --enable-phar
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+= --enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= libaspell.so:textproc/aspell
CONFIGURE_ARGS+= --with-pspell=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "readline"
CONFIGURE_ARGS+= --with-readline=/usr
USES+= readline
.endif
.if ${PHP_MODNAME} == "session"
CONFIGURE_ARGS+= --enable-session
PHP_MOD_PRIO= 18
.endif
.if ${PHP_MODNAME} == "shmop"
CONFIGURE_ARGS+= --enable-shmop
.endif
.if ${PHP_MODNAME} == "simplexml"
CONFIGURE_ARGS+= --enable-simplexml
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+= --with-snmp=${LOCALBASE}
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USES+= ssl
.endif
.if ${PHP_MODNAME} == "soap"
CONFIGURE_ARGS+= --enable-soap
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "sockets"
CONFIGURE_ARGS+= --enable-sockets
.endif
.if ${PHP_MODNAME} == "sodium"
CONFIGURE_ARGS+= --with-sodium=${LOCALBASE}
LIB_DEPENDS+= libsodium.so:security/libsodium
.endif
.if ${PHP_MODNAME} == "sqlite3"
USES+= localbase pkgconfig sqlite
CONFIGURE_ARGS+= --with-sqlite3=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sysvmsg"
CONFIGURE_ARGS+= --enable-sysvmsg
.endif
.if ${PHP_MODNAME} == "sysvsem"
CONFIGURE_ARGS+= --enable-sysvsem
.endif
.if ${PHP_MODNAME} == "sysvshm"
CONFIGURE_ARGS+= --enable-sysvshm
.endif
.if ${PHP_MODNAME} == "tidy"
CONFIGURE_ARGS+= --with-tidy=${LOCALBASE}
LIB_DEPENDS+= libtidy.so:www/tidy-lib
.endif
.if ${PHP_MODNAME} == "tokenizer"
CONFIGURE_ARGS+= --enable-tokenizer
.endif
.if ${PHP_MODNAME} == "xml"
CONFIGURE_ARGS+= --enable-xml
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xmlreader"
CONFIGURE_ARGS+= --enable-xmlreader
USE_GNOME= libxml2
USE_PHP= dom:build
.endif
.if ${PHP_MODNAME} == "xmlrpc"
CONFIGURE_ARGS+= --with-iconv-dir=${LOCALBASE} \
--with-xmlrpc
USES+= iconv:translit
USE_GNOME= libxml2
PHP_HEADER_DIRS= libxmlrpc
USE_PHP= xml:build
.endif
.if ${PHP_MODNAME} == "xmlwriter"
CONFIGURE_ARGS+= --enable-xmlwriter
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xsl"
CONFIGURE_ARGS+= --with-xsl=${LOCALBASE}
USE_GNOME= libxslt
USE_PHP= dom:build xml:build
.endif
.if ${PHP_MODNAME} == "zip"
LIB_DEPENDS+= libzip.so:archivers/libzip
CONFIGURE_ARGS+= --with-zip \
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
--with-zlib-dir=/usr
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+= --with-zlib=/usr
USES+= pkgconfig
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "sqlite3" || ${PHP_MODNAME} == "zlib"
Add php81 to the tree Core: Fixed inclusion order for phpize builds on Windows. Added missing hashtable insertion APIs for arr/obj/ref. Implemented FR #77372 (Relative file path is removed from uploaded file). Fixed bug #81607 (CE_CACHE allocation with concurrent access). Fixed bug #81507 (Fiber does not compile on AIX). Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check). Fixed bug #81518 (Header injection via default_mimetype / default_charset). Fixed bug #75941 (Fix compile failure on Solaris with clang). Fixed bug #81380 (Observer may not be initialized properly). Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault). Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php). Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning). Fixed bug #81342 (New ampersand token parsing depends on new line after it). Fixed bug #81280 (Unicode characters in cli.prompt causes segfault). Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits). Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails). Fixed bug #81303 (match error message improvements). Fixed bug #81238 (Fiber support missing for Solaris Sparc). Fixed bug #81237 (Comparison of fake closures doesn't work). Fixed bug #81202 (powerpc64 build fails on fibers). Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak). Fixed bug #81163 (__sleep allowed to return non-array). Fixed bug #75474 (function scope static variables are not bound to a unique function). Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private). Fixed bug #81076 (incorrect debug info on Closures with implicit binds). CLI: Fixed bug #81496 (Server logs incorrect request method). COM: Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT. Curl: Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings). Date: Fixed bug #81458 (Regression Incorrect difference after timezone change). Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). Fixed bug #81504 (Incorrect timezone transition details for POSIX data). Fixed bug #80998 (Missing second with inverted interval). Speed up finding timezone offset information. Fixed bug #79580 (date_create_from_format misses leap year). Fixed bug #80963 (DateTimeZone::getTransitions() truncated). Fixed bug #80974 (Wrong diff between 2 dates in different timezones). Fixed bug #80998 (Missing second with inverted interval). Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds). Fixed bug #81106 (Regression in 8.1: add() now truncate ->f). Fixed bug #81273 (Date interval calculation not correct). Fixed bug #52480 (Incorrect difference using DateInterval). Fixed bug #62326 (date_diff() function returns false result). Fixed bug #64992 (dst not handled past 2038). Fixed bug #65003 (Wrong date diff). Fixed bug #66545 (DateTime. diff returns negative values). Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results). Fixed bug #69806 (Incorrect date from timestamp). Fixed bug #71700 (Extra day on diff between begin and end of march 2016). Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo'). Fixed bug #73460 (Datetime add not realising it already applied DST change). Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time). Fixed bug #74274 (Handling DST transitions correctly). Fixed bug #74524 (Date diff is bad calculated, in same time zone). Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward). Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC). Fixed bug #76374 (Date difference varies according day time). Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00). Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran). Fixed bug #79452 (DateTime::diff() generates months differently between time zones). Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')). Fixed bug #79716 (Invalid date time created (with day "00")). Fixed bug #80610 (DateTime calculate wrong with DateInterval). Fixed bug #80664 (DateTime objects behave incorrectly around DST transition). Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time). DBA: Fixed bug #81588 (TokyoCabinet driver leaks memory). DOM: Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). FFI: Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined). Filter: Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). FPM: Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703). Added openmetrics status format. Enable process renaming on macOS. Added pm.max_spawn_rate option to configure max spawn child processes rate. Fixed bug #65800 (Events port mechanism). FTP: Convert resource<ftp> to object \FTP\Connection. GD: Fixed bug #71316 (libpng warning from imagecreatefromstring). Convert resource<gd font> to object \GdFont. Added support for Avif images hash: Implemented FR #68109 (Add MurmurHash V3). Implemented FR #73385 (Add xxHash support). JSON: Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1). LDAP: Convert resource<ldap link> to object \LDAP\Connection. Convert resource<ldap result> to object \LDAP\Result. Convert resource<ldap result entry> to object \LDAP\ResultEntry. MBString: Fixed bug #76167 (mbstring may use pointer from some previous request). Fixed bug #81390 (mb_detect_encoding() regression). Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases). Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified). MySQLi: Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). Fixed bug #80330 (Replace language in APIs and source code/docs). Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)). MySQLnd: Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment). Fixed bug #80761 (PDO uses too much memory). Opcache: Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array). Fixed bug #81255 (Memory leak in PHPUnit with functional JIT). Fixed bug #80959 (infinite loop in building cfg during JIT compilation). Fixed bug #81225 (Wrong result with pow operator with JIT enabled). Fixed bug #81249 (Intermittent property assignment failure with JIT enabled). Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT). Fixed bug #81133 (building opcache with phpize fails). Fixed bug #81136 (opcache header not installed). Added inheritance cache. OpenSSL: Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string). Bump minimal OpenSSL version to 1.0.2. PCRE: Fixed bug #81424 (PCRE2 10.35 JIT performance regression). Bundled PCRE2 is 10.37. PDO: Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB). PDO MySQL: Fixed bug #80908 (PDO::lastInsertId() return wrong). Fixed bug #81037 (PDO discards error message text from prepared statement). PDO OCI: Fixed bug #77120 (Support 'success with info' at connection). PDO ODBC: Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute(). PDO PgSQL: Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()). PDO SQLite: Fixed bug #38334 (Proper data-type support for PDO_SQLITE). PgSQL: Fixed bug #81509 (pg_end_copy still expects a resource). Convert resource<pgsql link> to object \PgSql\Connection. Convert resource<pgsql result> to object \PgSql\Result. Convert resource<pgsql large object> to object \PgSql\Lob. Phar: Use SHA256 by default for signature. Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature. phpdbg: Fixed bug #81135 (unknown help topic causes assertion failure). PSpell: Convert resource<pspell> to object \PSpell\Dictionary. Convert resource<pspell config> to object \PSpell\Config. readline: Fixed bug #72998 (invalid read in readline completion). Reflection: Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new). Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error). Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass). Fixed bug #81474 (Make ReflectionEnum and related class non-final). Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics). Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value). Fixed bug #80097 (ReflectionAttribute is not a Reflector). Fixed bug #81200 (no way to determine if Closure is static). Implement ReflectionFunctionAbstract::getClosureUsedVariables. Shmop: Fixed bug #81407 (shmop_open won't attach and causes php to crash). SimpleXML: Fixed bug #81325 (Segfault in zif_simplexml_import_dom). SNMP: Implement SHA256 and SHA512 for security protocol. Sodium: Added the XChaCha20 stream cipher functions. Added the Ristretto255 functions, which are available in libsodium 1.0.18. SPL: Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF). Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1). Fixed bug #81112 (Special json_encode behavior for SplFixedArray). Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key). Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask). Standard: Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method). Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing). Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array). Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()). Fixed bug #81137 (hrtime breaks build on OSX before Sierra). Fixed bug #77627 (method_exists on Closure::__invoke inconsistency). Streams: Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). XML: Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707). Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). Zip: Fixed bug #81490 (ZipArchive::extractTo() may leak memory). Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706). Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword). FLAVORS won't be available untill it is added to the Uses framework which can be followed up : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774 Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1 Sponsored by: Bounce Experts
2021-12-29 03:09:08 +01:00
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "xml"
post-extract:
@${MKDIR} ${WRKSRC}/ext/xml
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
.endif
.endif
.include <bsd.port.post.mk>