From f3e0c93af0a58c9fd6d433d90f85d97a1bbb8b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 12:05:08 +0000 Subject: [PATCH 1/2] build(deps): bump pear/archive_tar from 1.5.0 to 1.6.0 Bumps [pear/archive_tar](https://github.com/pear/Archive_Tar) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/pear/Archive_Tar/releases) - [Commits](https://github.com/pear/Archive_Tar/compare/1.5.0...1.6.0) --- updated-dependencies: - dependency-name: pear/archive_tar dependency-version: 1.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- composer.json | 2 +- composer.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index 1e8c01e34..ba9ff9453 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "microsoft/azure-storage-blob": "^1.5.4", "mlocati/ip-lib": "^1.22", "nextcloud/lognormalizer": "^3.0.1", - "pear/archive_tar": "^1.4.9", + "pear/archive_tar": "^1.6.0", "pear/pear-core-minimal": "^1.10", "php-http/guzzle7-adapter": "^1.1.0", "php-opencloud/openstack": "^3.14", diff --git a/composer.lock b/composer.lock index 218ad28ff..8c21c1b39 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b47e22e2def372440b2f2044e1c016d2", + "content-hash": "6bdc7bba417a037a299d4e3c3527bf31", "packages": [ { "name": "aws/aws-crt-php", @@ -2460,21 +2460,21 @@ }, { "name": "pear/archive_tar", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602" + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/b439c859564f5cbb0f64ad6002d0afe84a889602", - "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/dc3285537f1832da8ddbbe45f5a007248b6cc00e", + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e", "shasum": "" }, "require": { "pear/pear-core-minimal": "^1.10.0alpha2", - "php": ">=5.2.0" + "php": ">=5.4.0" }, "require-dev": { "phpunit/phpunit": "*" @@ -2526,7 +2526,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", "source": "https://github.com/pear/Archive_Tar" }, - "time": "2024-03-16T16:21:40+00:00" + "time": "2025-07-19T14:49:16+00:00" }, { "name": "pear/console_getopt", @@ -2581,16 +2581,16 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.16", + "version": "v1.10.18", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033" + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c0f51b45f50683bf5bbf558036854ebc9b54d033", - "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c7b55789d01de0ce090d289b73f1bbd6a2f113b1", + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1", "shasum": "" }, "require": { @@ -2626,7 +2626,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", "source": "https://github.com/pear/pear-core-minimal" }, - "time": "2024-11-24T22:27:58+00:00" + "time": "2025-12-14T20:37:07+00:00" }, { "name": "pear/pear_exception", From 12ae856bc0010c159c462bd2d2f797e351f89891 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Fri, 7 Aug 2026 14:09:00 +0200 Subject: [PATCH 2/2] chore: update composer Signed-off-by: Ferdinand Thiessen --- composer/installed.json | 26 +++---- composer/installed.php | 14 ++-- pear/archive_tar/Archive/Tar.php | 112 ++++++++++++---------------- pear/archive_tar/package.xml | 36 +++++++-- pear/pear-core-minimal/src/PEAR.php | 20 +++-- 5 files changed, 109 insertions(+), 99 deletions(-) diff --git a/composer/installed.json b/composer/installed.json index 00439f648..c309c6efc 100644 --- a/composer/installed.json +++ b/composer/installed.json @@ -2562,22 +2562,22 @@ }, { "name": "pear/archive_tar", - "version": "1.5.0", - "version_normalized": "1.5.0.0", + "version": "1.6.0", + "version_normalized": "1.6.0.0", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602" + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/b439c859564f5cbb0f64ad6002d0afe84a889602", - "reference": "b439c859564f5cbb0f64ad6002d0afe84a889602", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/dc3285537f1832da8ddbbe45f5a007248b6cc00e", + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e", "shasum": "" }, "require": { "pear/pear-core-minimal": "^1.10.0alpha2", - "php": ">=5.2.0" + "php": ">=5.4.0" }, "require-dev": { "phpunit/phpunit": "*" @@ -2587,7 +2587,7 @@ "ext-xz": "Lzma2 compression support.", "ext-zlib": "Gzip compression support." }, - "time": "2024-03-16T16:21:40+00:00", + "time": "2025-07-19T14:49:16+00:00", "type": "library", "extra": { "branch-alias": { @@ -2689,17 +2689,17 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.16", - "version_normalized": "1.10.16.0", + "version": "v1.10.18", + "version_normalized": "1.10.18.0", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033" + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c0f51b45f50683bf5bbf558036854ebc9b54d033", - "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c7b55789d01de0ce090d289b73f1bbd6a2f113b1", + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1", "shasum": "" }, "require": { @@ -2710,7 +2710,7 @@ "replace": { "rsky/pear-core-min": "self.version" }, - "time": "2024-11-24T22:27:58+00:00", + "time": "2025-12-14T20:37:07+00:00", "type": "library", "installation-source": "dist", "autoload": { diff --git a/composer/installed.php b/composer/installed.php index c0b1a2807..400828358 100644 --- a/composer/installed.php +++ b/composer/installed.php @@ -350,9 +350,9 @@ ), ), 'pear/archive_tar' => array( - 'pretty_version' => '1.5.0', - 'version' => '1.5.0.0', - 'reference' => 'b439c859564f5cbb0f64ad6002d0afe84a889602', + 'pretty_version' => '1.6.0', + 'version' => '1.6.0.0', + 'reference' => 'dc3285537f1832da8ddbbe45f5a007248b6cc00e', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/archive_tar', 'aliases' => array(), @@ -368,9 +368,9 @@ 'dev_requirement' => false, ), 'pear/pear-core-minimal' => array( - 'pretty_version' => 'v1.10.16', - 'version' => '1.10.16.0', - 'reference' => 'c0f51b45f50683bf5bbf558036854ebc9b54d033', + 'pretty_version' => 'v1.10.18', + 'version' => '1.10.18.0', + 'reference' => 'c7b55789d01de0ce090d289b73f1bbd6a2f113b1', 'type' => 'library', 'install_path' => __DIR__ . '/../pear/pear-core-minimal', 'aliases' => array(), @@ -601,7 +601,7 @@ 'rsky/pear-core-min' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => 'v1.10.16', + 0 => 'v1.10.18', ), ), 'sabre/dav' => array( diff --git a/pear/archive_tar/Archive/Tar.php b/pear/archive_tar/Archive/Tar.php index 03daa39f0..7ce09491d 100644 --- a/pear/archive_tar/Archive/Tar.php +++ b/pear/archive_tar/Archive/Tar.php @@ -48,27 +48,6 @@ define('ARCHIVE_TAR_ATT_SEPARATOR', 90001); define('ARCHIVE_TAR_END_BLOCK', pack("a512", '')); -if (!function_exists('gzopen') && function_exists('gzopen64')) { - function gzopen($filename, $mode, $use_include_path = 0) - { - return gzopen64($filename, $mode, $use_include_path); - } -} - -if (!function_exists('gztell') && function_exists('gztell64')) { - function gztell($zp) - { - return gztell64($zp); - } -} - -if (!function_exists('gzseek') && function_exists('gzseek64')) { - function gzseek($zp, $offset, $whence = SEEK_SET) - { - return gzseek64($zp, $offset, $whence); - } -} - /** * Creates a (compressed) Tar archive * @@ -244,7 +223,7 @@ public function __construct($p_tarname, $p_compress = null, $buffer_length = 512 "a8checksum/a1typeflag/a100link/a6magic/a2version/" . "a32uname/a32gname/a8devmajor/a8devminor/a131prefix"; } else { - $this->_fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" . + $this->_fmt = "Z100filename/Z8mode/Z8uid/Z8gid/a12size/Z12mtime/" . "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" . "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix"; } @@ -991,48 +970,45 @@ public function _writeBlock($p_binary_data, $p_len = null) { if (is_resource($this->_file)) { if ($p_len === null) { - if ($this->_compress_type == 'gz') { - @gzputs($this->_file, $p_binary_data); - } else { - if ($this->_compress_type == 'bz2') { - @bzwrite($this->_file, $p_binary_data); - } else { - if ($this->_compress_type == 'lzma2') { - @xzwrite($this->_file, $p_binary_data); - } else { - if ($this->_compress_type == 'none') { - @fputs($this->_file, $p_binary_data); - } else { - $this->_error( - 'Unknown or missing compression type (' - . $this->_compress_type . ')' - ); - } - } - } - } - } else { - if ($this->_compress_type == 'gz') { - @gzputs($this->_file, $p_binary_data, $p_len); - } else { - if ($this->_compress_type == 'bz2') { - @bzwrite($this->_file, $p_binary_data, $p_len); - } else { - if ($this->_compress_type == 'lzma2') { - @xzwrite($this->_file, $p_binary_data, $p_len); - } else { - if ($this->_compress_type == 'none') { - @fputs($this->_file, $p_binary_data, $p_len); - } else { - $this->_error( - 'Unknown or missing compression type (' - . $this->_compress_type . ')' - ); - } - } - } - } + switch ($this->_compress_type) + { + case 'gz': + $bytes = @gzwrite($this->_file, $p_binary_data); + break; + case 'bz2': + $bytes = @bzwrite($this->_file, $p_binary_data); + break; + case 'lzma2': + $bytes = @xzwrite($this->_file, $p_binary_data); + break; + case 'none': + $bytes = @fwrite($this->_file, $p_binary_data); + break; + default: + $this->_error('Unknown or missing compression type (' . $this->_compress_type . ')'); + return false; + } + } else { + switch ($this->_compress_type) + { + case 'gz': + $bytes = @gzwrite($this->_file, $p_binary_data, $p_len); + break; + case 'bz2': + $bytes = @bzwrite($this->_file, $p_binary_data, $p_len); + break; + case 'lzma2': + $bytes = @xzwrite($this->_file, $p_binary_data, $p_len); + break; + case 'none': + $bytes = @fwrite($this->_file, $p_binary_data, $p_len); + break; + default: + $this->_error('Unknown or missing compression type (' . $this->_compress_type . ')'); + return false; + } } + return $bytes !== false; } return true; } @@ -1117,7 +1093,7 @@ public function _writeFooter() if (is_resource($this->_file)) { // ----- Write the last 0 filled block for end of archive $v_binary_data = pack('a1024', ''); - $this->_writeBlock($v_binary_data); + return $this->_writeBlock($v_binary_data); } return true; } @@ -1279,7 +1255,9 @@ public function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir, $v_ $pack_format = sprintf('a%d', $this->buffer_length); } $v_binary_data = pack($pack_format, "$v_buffer"); - $this->_writeBlock($v_binary_data); + if(!$this->_writeBlock($v_binary_data)) { + return false; + } } fclose($v_file); @@ -1341,7 +1319,9 @@ public function _addString($p_filename, $p_string, $p_datetime = false, $p_param $i = 0; while (($v_buffer = substr($p_string, (($i++) * 512), 512)) != '') { $v_binary_data = pack("a512", $v_buffer); - $this->_writeBlock($v_binary_data); + if (!$this->_writeBlock($v_binary_data)) { + return false; + } } return true; diff --git a/pear/archive_tar/package.xml b/pear/archive_tar/package.xml index a997f41d8..93ba5d325 100644 --- a/pear/archive_tar/package.xml +++ b/pear/archive_tar/package.xml @@ -38,10 +38,10 @@ Also Lzma2 compressed archives are supported with xz extension. stig@php.net no - 2024-03-16 + 2025-07-19 - 1.5.0 - 1.5.0 + 1.6.0 + 1.6.0 stable @@ -49,8 +49,11 @@ Also Lzma2 compressed archives are supported with xz extension. New BSD License -* PR #42: fix @return true... to @return bool true... on some functions -* PR #46: use 775 default for mkdirs, to avoid world-write +This release drops support for PHP 5.4 and 5.5. + +* PR #51: big file support +* PR #53: Fix return value of _writeBlock +* PR #58: Remove gzopen/gztell/gzseek shim @@ -71,15 +74,34 @@ Also Lzma2 compressed archives are supported with xz extension. - 5.2.0 + 5.6.0 - 1.9.0 + 1.10.0 + + + 1.6.0 + 1.6.0 + + + stable + stable + + 2025-07-19 + New BSD License + + This release drops support for PHP 5.4 and 5.5. + + * PR #51: big file support + * PR #53: Fix return value of _writeBlock + * PR #58: Remove gzopen/gztell/gzseek shim + + 1.5.0 diff --git a/pear/pear-core-minimal/src/PEAR.php b/pear/pear-core-minimal/src/PEAR.php index 43c65dbdb..0c9ab5694 100644 --- a/pear/pear-core-minimal/src/PEAR.php +++ b/pear/pear-core-minimal/src/PEAR.php @@ -216,9 +216,13 @@ function _PEAR() { public function __call($method, $arguments) { if (!isset(self::$bivalentMethods[$method])) { - trigger_error( - 'Call to undefined method PEAR::' . $method . '()', E_USER_ERROR - ); + if (PHP_VERSION_ID < 70000) { + trigger_error( + 'Call to undefined method PEAR::' . $method . '()', E_USER_ERROR + ); + } else { + throw new Error('Call to undefined method PEAR::' . $method . '()'); + } } return call_user_func_array( array(__CLASS__, '_' . $method), @@ -229,9 +233,13 @@ public function __call($method, $arguments) public static function __callStatic($method, $arguments) { if (!isset(self::$bivalentMethods[$method])) { - trigger_error( - 'Call to undefined method PEAR::' . $method . '()', E_USER_ERROR - ); + if (PHP_VERSION_ID < 70000) { + trigger_error( + 'Call to undefined method PEAR::' . $method . '()', E_USER_ERROR + ); + } else { + throw new Error('Call to undefined method PEAR::' . $method . '()'); + } } return call_user_func_array( array(__CLASS__, '_' . $method),