diff --git a/src/PhpseclibV3/SftpConnectionProvider.php b/src/PhpseclibV3/SftpConnectionProvider.php index 082e6d3fb..995f6a7d1 100644 --- a/src/PhpseclibV3/SftpConnectionProvider.php +++ b/src/PhpseclibV3/SftpConnectionProvider.php @@ -4,12 +4,12 @@ namespace League\Flysystem\PhpseclibV3; +use League\Flysystem\FilesystemException; use phpseclib3\Crypt\Common\AsymmetricKey; use phpseclib3\Crypt\PublicKeyLoader; use phpseclib3\Exception\NoKeyLoadedException; use phpseclib3\Net\SFTP; use phpseclib3\System\SSH\Agent; -use RuntimeException; use Throwable; use function base64_decode; @@ -138,7 +138,10 @@ private function setupConnection(): SFTP $this->authenticate($connection); } catch (Throwable $exception) { $connection->disconnect(); - throw $exception; + + if ($exception instanceof FilesystemException) { + throw $exception; + } } return $connection; @@ -229,8 +232,6 @@ private function loadPrivateKey(): AsymmetricKey } catch (NoKeyLoadedException $exception) { throw new UnableToLoadPrivateKey(); } - - throw new RuntimeException(); } private function authenticateWithAgent(SFTP $connection): void