From 48c0ac2f12bfac616214de88442891ee43a0ee08 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 25 May 2020 15:26:04 +0200 Subject: [PATCH] normalize sftp path in read and write stream Signed-off-by: Robin Appelman --- apps/files_external/lib/Lib/Storage/SFTPReadStream.php | 3 +++ apps/files_external/lib/Lib/Storage/SFTPWriteStream.php | 3 +++ 2 files changed, 6 insertions(+) diff --git a/apps/files_external/lib/Lib/Storage/SFTPReadStream.php b/apps/files_external/lib/Lib/Storage/SFTPReadStream.php index 21ea19517f..1a721a0e2d 100644 --- a/apps/files_external/lib/Lib/Storage/SFTPReadStream.php +++ b/apps/files_external/lib/Lib/Storage/SFTPReadStream.php @@ -82,6 +82,9 @@ class SFTPReadStream implements File { public function stream_open($path, $mode, $options, &$opened_path) { [, $path] = explode('://', $path); + $path = '/' . ltrim($path); + $path = str_replace('//', '/', $path); + $this->loadContext('sftp'); if (!($this->sftp->bitmap & SSH2::MASK_LOGIN)) { diff --git a/apps/files_external/lib/Lib/Storage/SFTPWriteStream.php b/apps/files_external/lib/Lib/Storage/SFTPWriteStream.php index f457992f43..b71dcbb1be 100644 --- a/apps/files_external/lib/Lib/Storage/SFTPWriteStream.php +++ b/apps/files_external/lib/Lib/Storage/SFTPWriteStream.php @@ -82,6 +82,9 @@ class SFTPWriteStream implements File { public function stream_open($path, $mode, $options, &$opened_path) { [, $path] = explode('://', $path); + $path = '/' . ltrim($path); + $path = str_replace('//', '/', $path); + $this->loadContext('sftp'); if (!($this->sftp->bitmap & SSH2::MASK_LOGIN)) {