updated composer dependencies

This commit is contained in:
Andreas Gohr 2023-03-06 14:20:47 +01:00
parent 4ceca26fa0
commit 28e9760a91
16 changed files with 145 additions and 105 deletions

20
composer.lock generated
View File

@ -57,12 +57,12 @@
"source": {
"type": "git",
"url": "https://github.com/GeSHi/geshi-1.0.git",
"reference": "3c12a7931d509c5e3557c5ed44c9a32e9c917c7d"
"reference": "7884d22244c6d2de5ac7ffd919ce4add02b36e66"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GeSHi/geshi-1.0/zipball/3c12a7931d509c5e3557c5ed44c9a32e9c917c7d",
"reference": "3c12a7931d509c5e3557c5ed44c9a32e9c917c7d",
"url": "https://api.github.com/repos/GeSHi/geshi-1.0/zipball/7884d22244c6d2de5ac7ffd919ce4add02b36e66",
"reference": "7884d22244c6d2de5ac7ffd919ce4add02b36e66",
"shasum": ""
},
"require-dev": {
@ -96,7 +96,7 @@
"issues": "https://sourceforge.net/p/geshi/feature-requests/",
"source": "https://github.com/GeSHi/geshi-1.0/tree/master"
},
"time": "2020-06-22T15:46:04+00:00"
"time": "2023-02-19T12:05:59+00:00"
},
{
"name": "kissifrot/php-ixr",
@ -256,16 +256,16 @@
},
{
"name": "phpseclib/phpseclib",
"version": "2.0.41",
"version": "2.0.42",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b"
"reference": "665d289f59e646a259ebf13f29be7f6f54cab24b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
"reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/665d289f59e646a259ebf13f29be7f6f54cab24b",
"reference": "665d289f59e646a259ebf13f29be7f6f54cab24b",
"shasum": ""
},
"require": {
@ -346,7 +346,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/2.0.41"
"source": "https://github.com/phpseclib/phpseclib/tree/2.0.42"
},
"funding": [
{
@ -362,7 +362,7 @@
"type": "tidelift"
}
],
"time": "2022-12-23T16:44:18+00:00"
"time": "2023-03-06T12:45:53+00:00"
},
{
"name": "simplepie/simplepie",

17
vendor/autoload.php vendored
View File

@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
exit(1);
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
} elseif (!headers_sent()) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';

View File

@ -42,6 +42,9 @@ namespace Composer\Autoload;
*/
class ClassLoader
{
/** @var \Closure(string):void */
private static $includeFile;
/** @var ?string */
private $vendorDir;
@ -106,6 +109,7 @@ class ClassLoader
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
self::initializeIncludeClosure();
}
/**
@ -425,7 +429,8 @@ class ClassLoader
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
includeFile($file);
$includeFile = self::$includeFile;
$includeFile($file);
return true;
}
@ -555,18 +560,26 @@ class ClassLoader
return false;
}
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
* @private
*/
function includeFile($file)
{
include $file;
/**
* @return void
*/
private static function initializeIncludeClosure()
{
if (self::$includeFile !== null) {
return;
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
}

View File

@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{

View File

@ -33,25 +33,18 @@ class ComposerAutoloaderInita19a915ee98347a0c787119619d2ff9b
$loader->register(true);
$includeFiles = \Composer\Autoload\ComposerStaticInita19a915ee98347a0c787119619d2ff9b::$files;
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequirea19a915ee98347a0c787119619d2ff9b($fileIdentifier, $file);
$filesToLoad = \Composer\Autoload\ComposerStaticInita19a915ee98347a0c787119619d2ff9b::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
}
return $loader;
}
}
/**
* @param string $fileIdentifier
* @param string $file
* @return void
*/
function composerRequirea19a915ee98347a0c787119619d2ff9b($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}

View File

@ -51,18 +51,19 @@
"source": {
"type": "git",
"url": "https://github.com/GeSHi/geshi-1.0.git",
"reference": "3c12a7931d509c5e3557c5ed44c9a32e9c917c7d"
"reference": "7884d22244c6d2de5ac7ffd919ce4add02b36e66"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GeSHi/geshi-1.0/zipball/3c12a7931d509c5e3557c5ed44c9a32e9c917c7d",
"reference": "3c12a7931d509c5e3557c5ed44c9a32e9c917c7d",
"url": "https://api.github.com/repos/GeSHi/geshi-1.0/zipball/7884d22244c6d2de5ac7ffd919ce4add02b36e66",
"reference": "7884d22244c6d2de5ac7ffd919ce4add02b36e66",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.2"
},
"time": "2020-06-22T15:46:04+00:00",
"time": "2023-02-19T12:05:59+00:00",
"default-branch": true,
"type": "library",
"installation-source": "source",
"autoload": {
@ -85,6 +86,12 @@
],
"description": "Generic Syntax Highlighter",
"homepage": "http://qbnz.com/highlighter/",
"support": {
"forum": "https://lists.sourceforge.net/lists/listinfo/geshi-users",
"irc": "irc://irc.freenode.org/geshi",
"issues": "https://sourceforge.net/p/geshi/feature-requests/",
"source": "https://github.com/GeSHi/geshi-1.0/tree/master"
},
"install-path": "../geshi/geshi"
},
{
@ -254,17 +261,17 @@
},
{
"name": "phpseclib/phpseclib",
"version": "2.0.41",
"version_normalized": "2.0.41.0",
"version": "2.0.42",
"version_normalized": "2.0.42.0",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b"
"reference": "665d289f59e646a259ebf13f29be7f6f54cab24b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
"reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/665d289f59e646a259ebf13f29be7f6f54cab24b",
"reference": "665d289f59e646a259ebf13f29be7f6f54cab24b",
"shasum": ""
},
"require": {
@ -282,7 +289,7 @@
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.",
"ext-xml": "Install the XML extension to load XML formatted public keys."
},
"time": "2022-12-23T16:44:18+00:00",
"time": "2023-03-06T12:45:53+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@ -347,7 +354,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/2.0.41"
"source": "https://github.com/phpseclib/phpseclib/tree/2.0.42"
},
"funding": [
{

View File

@ -1,115 +1,115 @@
<?php return array(
'root' => array(
'name' => 'splitbrain/dokuwiki',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '4ceca26fa0d867d1a9c1dd51ed81e9d64ce6f9f7',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => 'c7acaa16b3726be12f4d27c43e8012f9d353f4cc',
'name' => 'splitbrain/dokuwiki',
'dev' => true,
),
'versions' => array(
'aziraphale/email-address-validator' => array(
'pretty_version' => '2.0.1',
'version' => '2.0.1.0',
'reference' => 'fa25bc22c1c0b6491657c91473fae3e40719a650',
'type' => 'library',
'install_path' => __DIR__ . '/../aziraphale/email-address-validator',
'aliases' => array(),
'reference' => 'fa25bc22c1c0b6491657c91473fae3e40719a650',
'dev_requirement' => false,
),
'geshi/geshi' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '7884d22244c6d2de5ac7ffd919ce4add02b36e66',
'type' => 'library',
'install_path' => __DIR__ . '/../geshi/geshi',
'aliases' => array(
0 => '1.0.x-dev',
1 => '9999999-dev',
),
'reference' => '3c12a7931d509c5e3557c5ed44c9a32e9c917c7d',
'dev_requirement' => false,
),
'kissifrot/php-ixr' => array(
'pretty_version' => '1.8.3',
'version' => '1.8.3.0',
'reference' => '4477cd1a67416ce5b6a2080f9a79d9eb50a965c1',
'type' => 'library',
'install_path' => __DIR__ . '/../kissifrot/php-ixr',
'aliases' => array(),
'reference' => '4477cd1a67416ce5b6a2080f9a79d9eb50a965c1',
'dev_requirement' => false,
),
'marcusschwarz/lesserphp' => array(
'pretty_version' => 'v0.6.0',
'version' => '0.6.0.0',
'reference' => '64ece57ad81ab1fe4d2a1894729e0d293fce09ef',
'type' => 'library',
'install_path' => __DIR__ . '/../marcusschwarz/lesserphp',
'aliases' => array(),
'reference' => '64ece57ad81ab1fe4d2a1894729e0d293fce09ef',
'dev_requirement' => false,
),
'openpsa/universalfeedcreator' => array(
'pretty_version' => 'v1.8.4.1',
'version' => '1.8.4.1',
'reference' => 'e4736a68eef454a83acd100230a2e15b424f899f',
'type' => 'library',
'install_path' => __DIR__ . '/../openpsa/universalfeedcreator',
'aliases' => array(),
'reference' => 'e4736a68eef454a83acd100230a2e15b424f899f',
'dev_requirement' => false,
),
'phpseclib/phpseclib' => array(
'pretty_version' => '2.0.41',
'version' => '2.0.41.0',
'pretty_version' => '2.0.42',
'version' => '2.0.42.0',
'reference' => '665d289f59e646a259ebf13f29be7f6f54cab24b',
'type' => 'library',
'install_path' => __DIR__ . '/../phpseclib/phpseclib',
'aliases' => array(),
'reference' => '7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b',
'dev_requirement' => false,
),
'simplepie/simplepie' => array(
'pretty_version' => '1.8.0',
'version' => '1.8.0.0',
'reference' => '65b095d87bc00898d8fa7737bdbcda93a3fbcc55',
'type' => 'library',
'install_path' => __DIR__ . '/../simplepie/simplepie',
'aliases' => array(),
'reference' => '65b095d87bc00898d8fa7737bdbcda93a3fbcc55',
'dev_requirement' => false,
),
'splitbrain/dokuwiki' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => '4ceca26fa0d867d1a9c1dd51ed81e9d64ce6f9f7',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => 'c7acaa16b3726be12f4d27c43e8012f9d353f4cc',
'dev_requirement' => false,
),
'splitbrain/php-archive' => array(
'pretty_version' => '1.3.1',
'version' => '1.3.1.0',
'reference' => 'd274e5190ba309777926348900cf9578d9e533c9',
'type' => 'library',
'install_path' => __DIR__ . '/../splitbrain/php-archive',
'aliases' => array(),
'reference' => 'd274e5190ba309777926348900cf9578d9e533c9',
'dev_requirement' => false,
),
'splitbrain/php-cli' => array(
'pretty_version' => '1.2.1',
'version' => '1.2.1.0',
'reference' => '47cd2b2c1d976d22afb01e121985d59c4f98c031',
'type' => 'library',
'install_path' => __DIR__ . '/../splitbrain/php-cli',
'aliases' => array(),
'reference' => '47cd2b2c1d976d22afb01e121985d59c4f98c031',
'dev_requirement' => false,
),
'splitbrain/slika' => array(
'pretty_version' => '1.0.5',
'version' => '1.0.5.0',
'reference' => 'be0785cb6b7def847df5d92e0e5fde57def7220f',
'type' => 'library',
'install_path' => __DIR__ . '/../splitbrain/slika',
'aliases' => array(),
'reference' => 'be0785cb6b7def847df5d92e0e5fde57def7220f',
'dev_requirement' => false,
),
),

View File

@ -324,7 +324,9 @@ $language_data = array(
0 => 'color: #cc66cc;' // FIXME: Duplicate array key
),
'NUMBERS' => array(
0 => 'color: #cc66cc;'
0 => 'color: #cc66cc;',
1 => 'color: #cc66cc;',
2 => 'color: #cc66cc;'
),
'METHODS' => array(
0 => 'color: #004000;'

View File

@ -11,4 +11,5 @@ phpseclib ongoing development is made possible by [Tidelift](https://tidelift.co
- [Setasign](https://www.setasign.com/)
- [Charles Severance](https://github.com/csev)
- [Rachel Fish](https://github.com/itsrachelfish)
- Tharyrok
- Tharyrok
- [cjhaas](https://github.com/cjhaas)

View File

@ -445,7 +445,7 @@ class Blowfish extends Base
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider"
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
return false;
}
if (version_compare(PHP_VERSION, '5.3.7') < 0 && $this->key_length != 16) {
@ -762,7 +762,7 @@ class Blowfish extends Base
$l = $in[1];
$r = $in[2];
list($r, $l) = CRYPT_BASE_USE_REG_INTVAL ?
list($r, $l) = PHP_INT_SIZE === 8 ?
$this->_encryptBlockHelperFast($l, $r, $sb_0, $sb_1, $sb_2, $sb_3, $p) :
$this->_encryptBlockHelperSlow($l, $r, $sb_0, $sb_1, $sb_2, $sb_3, $p);
@ -820,25 +820,26 @@ class Blowfish extends Base
*/
function _encryptBlockHelperSlow($x0, $x1, $sbox0, $sbox1, $sbox2, $sbox3, $p)
{
// -16777216 == intval(0xFF000000) on 32-bit PHP installs
$x0^= $p[0];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[1];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[2];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[3];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[4];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[5];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[6];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[7];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[8];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[9];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[10];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[11];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[12];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[13];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[14];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[15];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[16];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[1];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[2];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[3];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[4];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[5];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[6];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[7];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[8];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[9];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[10];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[11];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[12];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[13];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[14];
$x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[15];
$x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[16];
return array($x1 & 0xFFFFFFFF ^ $p[17], $x0 & 0xFFFFFFFF);
return array($x1 ^ $p[17], $x0);
}
/**

View File

@ -595,7 +595,7 @@ class DES extends Base
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider"
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
return false;
}
$this->cipher_name_openssl_ecb = 'des-ecb';

View File

@ -276,7 +276,7 @@ class RC2 extends Base
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider"
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
return false;
}
if ($this->current_key_length != 128 || strlen($this->orig_key) < 16) {

View File

@ -148,7 +148,7 @@ class RC4 extends Base
// quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1
// "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider"
// in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not
if (version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) {
return false;
}
if (version_compare(PHP_VERSION, '5.3.7') >= 0) {

View File

@ -408,7 +408,7 @@ class BigInteger
$x = substr($x, 1);
}
$x = preg_replace('#^(?:0x)?([A-Fa-f0-9]*).*#', '$1', $x);
$x = preg_replace('#^(?:0x)?([A-Fa-f0-9]*).*#s', '$1', $x);
$is_negative = false;
if ($base < 0 && hexdec($x[0]) >= 8) {
@ -444,7 +444,7 @@ class BigInteger
// (?<!^)(?:-).*: find any -'s that aren't at the beginning and then any characters that follow that
// (?<=^|-)0*: find any 0's that are preceded by the start of the string or by a - (ie. octals)
// [^-0-9].*: find any non-numeric characters and then any characters that follow that
$x = preg_replace('#(?<!^)(?:-).*|(?<=^|-)0*|[^-0-9].*#', '', $x);
$x = preg_replace('#(?<!^)(?:-).*|(?<=^|-)0*|[^-0-9].*#s', '', $x);
if (!strlen($x) || $x == '-') {
$x = '0';
}
@ -486,7 +486,7 @@ class BigInteger
$x = substr($x, 1);
}
$x = preg_replace('#^([01]*).*#', '$1', $x);
$x = preg_replace('#^([01]*).*#s', '$1', $x);
$x = str_pad($x, strlen($x) + (3 * strlen($x)) % 4, 0, STR_PAD_LEFT);
$str = '0x';

View File

@ -923,7 +923,7 @@ class SFTP extends SSH2
}
$parts = explode('/', $path);
$afterPWD = $beforePWD = [];
$afterPWD = $beforePWD = array();
foreach ($parts as $part) {
switch ($part) {
//case '': // some SFTP servers /require/ double /'s. see https://github.com/phpseclib/phpseclib/pull/1137

View File

@ -2745,7 +2745,7 @@ class SSH2
$publickey['n']
);
$algos = ['rsa-sha2-256', 'rsa-sha2-512', 'ssh-rsa'];
$algos = array('rsa-sha2-256', 'rsa-sha2-512', 'ssh-rsa');
if (isset($this->preferred['hostkey'])) {
$algos = array_intersect($this->preferred['hostkey'], $algos);
}
@ -2860,6 +2860,16 @@ class SSH2
return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION);
}
/**
* Return the currently configured timeout
*
* @return int
*/
function getTimeout()
{
return $this->timeout;
}
/**
* Set Timeout
*