diff --git a/apps/files_external/3rdparty/autoload.php b/apps/files_external/3rdparty/autoload.php index 5875a3b996aa4..28026e9da6b12 100644 --- a/apps/files_external/3rdparty/autoload.php +++ b/apps/files_external/3rdparty/autoload.php @@ -2,6 +2,11 @@ // 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); +} + require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3::getLoader(); diff --git a/apps/files_external/3rdparty/composer.json b/apps/files_external/3rdparty/composer.json index e343521add37f..ff102e7c3ec3f 100644 --- a/apps/files_external/3rdparty/composer.json +++ b/apps/files_external/3rdparty/composer.json @@ -9,6 +9,6 @@ }, "require": { "icewind/streams": "0.7.4", - "icewind/smb": "3.5.2" + "icewind/smb": "3.5.4" } } diff --git a/apps/files_external/3rdparty/composer.lock b/apps/files_external/3rdparty/composer.lock index 918dd7da08d47..a9b699e2c5576 100644 --- a/apps/files_external/3rdparty/composer.lock +++ b/apps/files_external/3rdparty/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "524c99fd87297e01d004eb5a4e53b04c", + "content-hash": "5d34e39627716fec1b5b11ab6a667e53", "packages": [ { "name": "icewind/smb", - "version": "v3.5.2", + "version": "v3.5.4", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "0a425bd21acf7ae112b135dca34640e1b1a825c3" + "reference": "76995aa11c14e39bccd0f2370ed63b2f8f623a6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/0a425bd21acf7ae112b135dca34640e1b1a825c3", - "reference": "0a425bd21acf7ae112b135dca34640e1b1a825c3", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/76995aa11c14e39bccd0f2370ed63b2f8f623a6d", + "reference": "76995aa11c14e39bccd0f2370ed63b2f8f623a6d", "shasum": "" }, "require": { @@ -49,9 +49,9 @@ "description": "php wrapper for smbclient and libsmbclient-php", "support": { "issues": "https://github.com/icewind1991/SMB/issues", - "source": "https://github.com/icewind1991/SMB/tree/v3.5.2" + "source": "https://github.com/icewind1991/SMB/tree/v3.5.4" }, - "time": "2022-01-20T14:51:51+00:00" + "time": "2022-05-30T15:18:19+00:00" }, { "name": "icewind/streams", @@ -107,5 +107,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/apps/files_external/3rdparty/composer/InstalledVersions.php b/apps/files_external/3rdparty/composer/InstalledVersions.php index d50e0c9fcc47d..41bc143c11489 100644 --- a/apps/files_external/3rdparty/composer/InstalledVersions.php +++ b/apps/files_external/3rdparty/composer/InstalledVersions.php @@ -21,6 +21,8 @@ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final */ class InstalledVersions { diff --git a/apps/files_external/3rdparty/composer/autoload_classmap.php b/apps/files_external/3rdparty/composer/autoload_classmap.php index 17b94af0e9979..66b472bd42219 100644 --- a/apps/files_external/3rdparty/composer/autoload_classmap.php +++ b/apps/files_external/3rdparty/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/apps/files_external/3rdparty/composer/autoload_namespaces.php b/apps/files_external/3rdparty/composer/autoload_namespaces.php index 71c9e91858d8e..3f5c929625125 100644 --- a/apps/files_external/3rdparty/composer/autoload_namespaces.php +++ b/apps/files_external/3rdparty/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/apps/files_external/3rdparty/composer/autoload_psr4.php b/apps/files_external/3rdparty/composer/autoload_psr4.php index e34149b31a674..6bed531ed31dc 100644 --- a/apps/files_external/3rdparty/composer/autoload_psr4.php +++ b/apps/files_external/3rdparty/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = $vendorDir; return array( diff --git a/apps/files_external/3rdparty/composer/autoload_real.php b/apps/files_external/3rdparty/composer/autoload_real.php index 7ff3e29252966..5eccc1e1cf601 100644 --- a/apps/files_external/3rdparty/composer/autoload_real.php +++ b/apps/files_external/3rdparty/composer/autoload_real.php @@ -25,20 +25,11 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3', 'loadClassLoader')); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit98fe9b281934250b3a93f69a5ce843b3::getInitializer($loader)); - } else { - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } + require __DIR__ . '/autoload_static.php'; + call_user_func(\Composer\Autoload\ComposerStaticInit98fe9b281934250b3a93f69a5ce843b3::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); diff --git a/apps/files_external/3rdparty/composer/installed.json b/apps/files_external/3rdparty/composer/installed.json index 2c9b1c087dfc0..bc6cdb8e6c974 100644 --- a/apps/files_external/3rdparty/composer/installed.json +++ b/apps/files_external/3rdparty/composer/installed.json @@ -2,17 +2,17 @@ "packages": [ { "name": "icewind/smb", - "version": "v3.5.2", - "version_normalized": "3.5.2.0", + "version": "v3.5.4", + "version_normalized": "3.5.4.0", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "0a425bd21acf7ae112b135dca34640e1b1a825c3" + "reference": "76995aa11c14e39bccd0f2370ed63b2f8f623a6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/0a425bd21acf7ae112b135dca34640e1b1a825c3", - "reference": "0a425bd21acf7ae112b135dca34640e1b1a825c3", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/76995aa11c14e39bccd0f2370ed63b2f8f623a6d", + "reference": "76995aa11c14e39bccd0f2370ed63b2f8f623a6d", "shasum": "" }, "require": { @@ -25,7 +25,7 @@ "phpunit/phpunit": "^8.5|^9.3.8", "psalm/phar": "^4.3" }, - "time": "2022-01-20T14:51:51+00:00", + "time": "2022-05-30T15:18:19+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -46,7 +46,7 @@ "description": "php wrapper for smbclient and libsmbclient-php", "support": { "issues": "https://github.com/icewind1991/SMB/issues", - "source": "https://github.com/icewind1991/SMB/tree/v3.5.2" + "source": "https://github.com/icewind1991/SMB/tree/v3.5.4" }, "install-path": "../icewind/smb" }, diff --git a/apps/files_external/3rdparty/composer/installed.php b/apps/files_external/3rdparty/composer/installed.php index 255420e100321..1adf5df7db3b0 100644 --- a/apps/files_external/3rdparty/composer/installed.php +++ b/apps/files_external/3rdparty/composer/installed.php @@ -5,7 +5,7 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => '0bed61f949bc7a8c69cd154919e78b704e28c99e', + 'reference' => '15d43dcc6226b92c0d51d643ef8c5ab1339cae48', 'name' => 'files_external/3rdparty', 'dev' => true, ), @@ -16,16 +16,16 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), - 'reference' => '0bed61f949bc7a8c69cd154919e78b704e28c99e', + 'reference' => '15d43dcc6226b92c0d51d643ef8c5ab1339cae48', 'dev_requirement' => false, ), 'icewind/smb' => array( - 'pretty_version' => 'v3.5.2', - 'version' => '3.5.2.0', + 'pretty_version' => 'v3.5.4', + 'version' => '3.5.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../icewind/smb', 'aliases' => array(), - 'reference' => '0a425bd21acf7ae112b135dca34640e1b1a825c3', + 'reference' => '76995aa11c14e39bccd0f2370ed63b2f8f623a6d', 'dev_requirement' => false, ), 'icewind/streams' => array( diff --git a/apps/files_external/3rdparty/icewind/smb/src/System.php b/apps/files_external/3rdparty/icewind/smb/src/System.php index d3475e7a5cb6e..96d1d7e9f98e1 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/System.php +++ b/apps/files_external/3rdparty/icewind/smb/src/System.php @@ -62,7 +62,14 @@ protected function getBinaryPath(string $binary): ?string { $result = null; $output = []; exec("which $binary 2>&1", $output, $result); - $this->paths[$binary] = $result === 0 && isset($output[0]) ? (string)$output[0] : null; + + if ($result === 0 && isset($output[0])) { + $this->paths[$binary] = (string)$output[0]; + } else if (is_executable("/usr/bin/$binary")) { + $this->paths[$binary] = "/usr/bin/$binary"; + } else { + $this->paths[$binary] = null; + } } return $this->paths[$binary]; } diff --git a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Connection.php b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Connection.php index cc73ac1ad14c6..cf5cda3164c04 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Connection.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Connection.php @@ -99,7 +99,7 @@ private function unknownError($promptLine = '') { } else { $error = $this->readError(); // maybe something on stderr if ($error) { - throw new ConnectException('Unknown error (' . $error . ')'); + throw new ConnectException('Unknown error (stderr: ' . $error . ')'); } else { throw new ConnectException('Unknown error'); } diff --git a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Parser.php b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Parser.php index ec14ac4b1fbf6..00f01af7dd52d 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Parser.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Parser.php @@ -172,14 +172,14 @@ public function parseStat(array $output): array { public function parseDir(array $output, string $basePath, callable $aclCallback): array { //last line is used space array_pop($output); - $regex = '/^\s*(.*?)\s\s\s\s+(?:([NDHARS]*)\s+)?([0-9]+)\s+(.*)$/'; + $regex = '/^\s*(.*?)\s\s\s\s+(?:([NDHARSCndharsc]*)\s+)?([0-9]+)\s+(.*)$/'; //2 spaces, filename, optional type, size, date $content = []; foreach ($output as $line) { if (preg_match($regex, $line, $matches)) { list(, $name, $mode, $size, $time) = $matches; if ($name !== '.' and $name !== '..') { - $mode = $this->parseMode($mode); + $mode = $this->parseMode(strtoupper($mode)); $time = strtotime($time . ' ' . $this->timeZone); $path = $basePath . '/' . $name; $content[] = new FileInfo($path, $name, (int)$size, $time, $mode, function () use ($aclCallback, $path): array { diff --git a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/RawConnection.php b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/RawConnection.php index 4aec674c3da0f..3d84528daa2f9 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/RawConnection.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/RawConnection.php @@ -75,7 +75,8 @@ public function connect(): void { 'CLI_NO_READLINE' => 1, // Not all distros build smbclient with readline, disable it to get consistent behaviour 'LC_ALL' => Server::LOCALE, 'LANG' => Server::LOCALE, - 'COLUMNS' => 8192 // prevent smbclient from line-wrapping it's output + 'COLUMNS' => 8192, // prevent smbclient from line-wrapping it's output + 'TZ' => 'UTC', ]); $this->process = proc_open($this->command, $descriptorSpec, $this->pipes, '/', $env); if (!$this->isValid()) { diff --git a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Server.php b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Server.php index dd8513eafd967..159a51e91a2d6 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Server.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Server.php @@ -66,7 +66,7 @@ public function listShares(): array { throw new ConnectionException((string)$connection->readLine()); } - $parser = new Parser($this->timezoneProvider->get($this->host)); + $parser = new Parser('UTC'); $output = $connection->readAll(); if (isset($output[0])) { diff --git a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Share.php b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Share.php index eb68d3800b382..2df98c335d64f 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Share.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Wrapped/Share.php @@ -73,7 +73,7 @@ public function __construct(IServer $server, string $name, ISystem $system) { $this->server = $server; $this->name = $name; $this->system = $system; - $this->parser = new Parser($server->getTimeZone()); + $this->parser = new Parser('UTC'); } private function getAuthFileArgument(): string {