diff options
24 files changed, 165 insertions, 118 deletions
diff --git a/_test/tests/inc/init_fullpath.test.php b/_test/tests/inc/init_fullpath.test.php index fabf03fa0..670f1d09c 100644 --- a/_test/tests/inc/init_fullpath.test.php +++ b/_test/tests/inc/init_fullpath.test.php @@ -15,6 +15,7 @@ class init_fullpath_test extends DokuWikiTest { '/foo/./bar/baz' => '/foo/bar/baz', '/foo/bar/..' => '/foo', '/foo/bar/../../../baz' => '/baz', + '/foo/bar//baz' => '/foo/bar/baz', 'foo/bar/baz' => '/absolute/path/foo/bar/baz', 'foo//bar/baz' => '/absolute/path/foo/bar/baz', @@ -48,6 +49,7 @@ class init_fullpath_test extends DokuWikiTest { 'c:foo/./bar/baz' => 'c:/foo/bar/baz', 'c:foo/bar/..' => 'c:/foo', 'c:foo/bar/../../../baz' => 'c:/baz', + 'c:foo/bar//baz' => 'c:/foo/bar/baz', 'c:/foo/bar/baz' => 'c:/foo/bar/baz', 'c:/foo//bar/baz' => 'c:/foo/bar/baz', @@ -62,6 +64,7 @@ class init_fullpath_test extends DokuWikiTest { 'c:\\foo\\.\\bar\\baz' => 'c:/foo/bar/baz', 'c:\\foo\\bar\\..' => 'c:/foo', 'c:\\foo\\bar\\..\\..\\..\\baz' => 'c:/baz', + 'c:\\foo\\bar\\\\baz' => 'c:/foo/bar/baz', '\\\\server\\share/foo/bar/baz' => '\\\\server\\share/foo/bar/baz', '\\\\server\\share/foo//bar/baz' => '\\\\server\\share/foo/bar/baz', diff --git a/composer.lock b/composer.lock index 4a38b1aa3..7659dd6b1 100644 --- a/composer.lock +++ b/composer.lock @@ -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", diff --git a/inc/init.php b/inc/init.php index 112f4896f..cd231b3bc 100644 --- a/inc/init.php +++ b/inc/init.php @@ -289,11 +289,13 @@ function init_paths(){ foreach($paths as $c => $p) { $path = empty($conf[$c]) ? $conf['savedir'].'/'.$p : $conf[$c]; $conf[$c] = init_path($path); - if(empty($conf[$c])) + if(empty($conf[$c])) { + $path = fullpath($path); nice_die("The $c ('$p') at $path is not found, isn't accessible or writable. You should check your config and permission settings. Or maybe you want to <a href=\"install.php\">run the installer</a>?"); + } } // path to old changelog only needed for upgrading diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index e85c43439..4d10a9968 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -3,12 +3,12 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Vyacheslav Strenadko <bryanskmap@yandex.ru> * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Nikita <obraztsov568@gmail.com> * @author Анатолий <anatol_m@mail.ru> * @author Yuriy Skalko <yuriy.skalko@gmail.com> * @author Alexander Kh. <001.arx@gmail.com> + * @author Vyacheslav Strenadko <vyacheslav.strenadko@gmail.com> * @author Wolterhon <hotmottot.1@gmail.com> * @author Zhassulan <zyesmukanov@gmail.com> * @author Yuri Pimenov <up@ftpsearch.lv> @@ -331,7 +331,7 @@ $lang['i_superuser'] = 'Суперпользователь'; $lang['i_problems'] = 'Программа установки столкнулась с проблемами, перечисленными ниже. Чтобы продолжить, вам необходимо их устранить. '; $lang['i_modified'] = 'Из соображений безопасности эта программа запускается только на новой, неизменённой установке «Докувики». Вам нужно либо заново распаковать скачанный пакет установки, либо обратиться к полной - <a href="http://www.dokuwiki.org/install">инструкции по установке «Докувики»</a>'; + <a href="https://www.dokuwiki.org/install">инструкции по установке «Докувики»</a>'; $lang['i_funcna'] = 'Функция PHP <code>%s</code> недоступна. Может быть, она по какой-то причине заблокирована вашим хостером?'; $lang['i_disabled'] = 'Отключено вашим провайдером.'; $lang['i_funcnmail'] = '<b>Примечание:</ b> PHP-функция mail недоступна. %s Если она по прежнему недоступна, вы можете установить <a href="https://www.dokuwiki.org/plugin:smtp">плагин SMTP</a>.'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index a76c56179..7eca63a9b 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author better <betterzhubo@live.com> * @author 小李 <szsd5257@foxmail.com> * @author VinnieChow <zsz33@qq.com> * @author Lakejason0 <lakesarchive@outlook.com> @@ -85,16 +86,16 @@ $lang['btn_deleteuser'] = '移除我的账户'; $lang['btn_img_backto'] = '返回到 %s'; $lang['btn_mediaManager'] = '在媒体管理器中查看'; $lang['loggedinas'] = '登录为:'; -$lang['user'] = '账号'; +$lang['user'] = '用户名'; $lang['pass'] = '密码'; $lang['newpass'] = '请输入新密码'; $lang['oldpass'] = '请输入当前密码'; $lang['passchk'] = '请再输一次'; $lang['remember'] = '记住我'; -$lang['fullname'] = '昵称'; +$lang['fullname'] = '全名'; $lang['email'] = 'E-Mail'; $lang['profile'] = '用户信息'; -$lang['badlogin'] = '对不起,账号或密码错误。'; +$lang['badlogin'] = '对不起,用户名或密码错误。'; $lang['badpassconfirm'] = '对不起,密码错误'; $lang['minoredit'] = '细微修改'; $lang['draftdate'] = '草稿自动保存于'; @@ -159,7 +160,7 @@ $lang['search_past_year'] = '去年'; $lang['search_sort_by_hits'] = '按照点击率排序'; $lang['search_sort_by_mtime'] = '按照最新更新时间排序'; $lang['regmissing'] = '对不起,您必须填写所有的字段。'; -$lang['reguexists'] = '对不起,该账号已经存在。'; +$lang['reguexists'] = '对不起,该用户名已经存在。'; $lang['regsuccess'] = '新用户已建立,密码将通过电子邮件发送给您。'; $lang['regsuccess2'] = '新用户已建立'; $lang['regfail'] = '用户不能被创建。'; @@ -170,7 +171,7 @@ $lang['regpwmail'] = '您的 DokuWiki 密码'; $lang['reghere'] = '还没有账号?立即注册'; $lang['profna'] = '本维基不允许修改个人信息'; $lang['profnochange'] = '没有改动,不进行操作。'; -$lang['profnoempty'] = '不允许使用空的账号或邮件地址。'; +$lang['profnoempty'] = '不允许使用空的用户名或邮件地址。'; $lang['profchanged'] = '用户信息更新成功。'; $lang['profnodelete'] = '这个 wiki 不支持删除用户'; $lang['profdeleteuser'] = '删除账号'; diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php index d728800c8..622a8f91f 100644 --- a/lib/plugins/config/lang/ru/lang.php +++ b/lib/plugins/config/lang/ru/lang.php @@ -3,10 +3,10 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Nikita <obraztsov568@gmail.com> * @author Анатолий <anatol_m@mail.ru> * @author Yuriy Skalko <yuriy.skalko@gmail.com> - * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Vyacheslav Strenadko <vyacheslav.strenadko@gmail.com> * @author Zhassulan <zyesmukanov@gmail.com> * @author Denis Simakov <akinoame1@gmail.com> @@ -155,7 +155,7 @@ $lang['gzip_output'] = 'Использовать gzip-сжатие д $lang['compress'] = 'Сжимать файлы CSS и javascript'; $lang['cssdatauri'] = 'Размер в байтах, до которого изображения, указанные в CSS-файлах, должны быть встроены прямо в таблицу стилей для уменьшения избыточных HTTP-запросов. Значение между <code>400</code> и <code>600</code> байт является хорошим. Укажите <code>0</code>, чтобы отключить.'; $lang['send404'] = 'Посылать «HTTP 404/Страница не найдена» для несуществующих страниц'; -$lang['broken_iua'] = 'Возможно, функция ignore_user_abort не работает в вашей системе? Это может привести к потере функциональности индексирования поиска. Эта проблема присутствует, например, в IIS+PHP/CGI. Для дополнительной информации смотрите <a href="http://bugs.splitbrain.org/?do=details&task_id=852">баг 852</a>.'; +$lang['broken_iua'] = 'Возможно, функция ignore_user_abort не работает в вашей системе? Это может привести к потере функциональности индексирования поиска. Эта проблема присутствует, например, в IIS+PHP/CGI.'; $lang['xsendfile'] = 'Используете заголовок X-Sendfile для загрузки файлов на веб-сервер? Ваш веб-сервер должен поддерживать это.'; $lang['renderer_xhtml'] = 'Обработчик основного (xhtml) вывода вики'; $lang['renderer__core'] = '%s (ядро «Докувики»)'; diff --git a/lib/plugins/config/lang/zh/lang.php b/lib/plugins/config/lang/zh/lang.php index 417b7987b..f8b1b03fc 100644 --- a/lib/plugins/config/lang/zh/lang.php +++ b/lib/plugins/config/lang/zh/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author better <betterzhubo@live.com> * @author 小李 <szsd5257@foxmail.com> * @author VinnieChow <zsz33@qq.com> * @author Lakejason0 <lakesarchive@outlook.com> diff --git a/lib/plugins/logviewer/lang/ru/lang.php b/lib/plugins/logviewer/lang/ru/lang.php index e89d39cac..2c0d07250 100644 --- a/lib/plugins/logviewer/lang/ru/lang.php +++ b/lib/plugins/logviewer/lang/ru/lang.php @@ -3,8 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Vyacheslav Strenadko <bryanskmap@yandex.ru> * @author Aleksandr Selivanov <alexgearbox@yandex.ru> */ -$lang['menu'] = 'Просмотр журналов'; +$lang['menu'] = 'Просмотр журналов (logs)'; $lang['date'] = 'Дата'; diff --git a/lib/plugins/logviewer/lang/ru/nolog.txt b/lib/plugins/logviewer/lang/ru/nolog.txt new file mode 100644 index 000000000..00984d284 --- /dev/null +++ b/lib/plugins/logviewer/lang/ru/nolog.txt @@ -0,0 +1 @@ +Нет записей для выбранного дня и объекта.
\ No newline at end of file diff --git a/vendor/autoload.php b/vendor/autoload.php index 615d9f2e3..bb32dc2d5 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -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'; diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index afef3fa2a..a72151c77 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -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); + } } diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 41bc143c1..c6b54af7b 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -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() { diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index db7dcdc43..20d393855 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -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; - } -} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index d25c687c7..0ad5b4c5c 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -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": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index d31b4f309..5820969c0 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -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, ), ), diff --git a/vendor/geshi/geshi/src/geshi/go.php b/vendor/geshi/geshi/src/geshi/go.php index 83d3cabc8..b48f84318 100644 --- a/vendor/geshi/geshi/src/geshi/go.php +++ b/vendor/geshi/geshi/src/geshi/go.php @@ -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;' diff --git a/vendor/phpseclib/phpseclib/BACKERS.md b/vendor/phpseclib/phpseclib/BACKERS.md index f942f48f4..5e5c6d99b 100644 --- a/vendor/phpseclib/phpseclib/BACKERS.md +++ b/vendor/phpseclib/phpseclib/BACKERS.md @@ -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
\ No newline at end of file +- Tharyrok +- [cjhaas](https://github.com/cjhaas)
\ No newline at end of file diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php index 94552f94c..346c064b8 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php @@ -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]; - - return array($x1 & 0xFFFFFFFF ^ $p[17], $x0 & 0xFFFFFFFF); + $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 ^ $p[17], $x0); } /** diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php index d9244b513..26bd385f5 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php @@ -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'; diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php index 72a15d35d..e0511b32f 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php @@ -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) { diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php index 195d97ee3..2e5c05567 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php @@ -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) { diff --git a/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php b/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php index 8d1291db2..81b69ace6 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php @@ -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'; diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php index cdccd60e2..ea5fb083e 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php @@ -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 diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php index 03b50f620..5eb1c71b9 100644 --- a/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php @@ -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); } @@ -2861,6 +2861,16 @@ class SSH2 } /** + * Return the currently configured timeout + * + * @return int + */ + function getTimeout() + { + return $this->timeout; + } + + /** * Set Timeout * * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely. setTimeout() makes it so it'll timeout. |