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 {