diff options
author | Vincent Petry <pvince81@owncloud.com> | 2013-11-28 11:45:26 +0100 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2013-11-28 11:45:26 +0100 |
commit | 84f3dd15a63fb80f33e61f6056e142b0443329d5 (patch) | |
tree | 0dc95ebc2f0f950fb8688ddc8d2c2177f36bc084 /apps | |
parent | f23d641b82b0b8f2834983800b3520fcadf6bd71 (diff) | |
download | nextcloud-server-84f3dd15a63fb80f33e61f6056e142b0443329d5.tar.gz nextcloud-server-84f3dd15a63fb80f33e61f6056e142b0443329d5.zip |
Add trailing slash in FTP root path when missing
Fixes #6093
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_external/lib/ftp.php | 3 | ||||
-rw-r--r-- | apps/files_external/tests/ftp.php | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/ftp.php index ca6c635eb2b..1f3ebd14b39 100644 --- a/apps/files_external/lib/ftp.php +++ b/apps/files_external/lib/ftp.php @@ -35,6 +35,9 @@ class FTP extends \OC\Files\Storage\StreamWrapper{ if ( ! $this->root || $this->root[0]!='/') { $this->root='/'.$this->root; } + if (substr($this->root, -1) !== '/') { + $this->root .= '/'; + } } else { throw new \Exception(); } diff --git a/apps/files_external/tests/ftp.php b/apps/files_external/tests/ftp.php index 94ed5630d91..3037793120a 100644 --- a/apps/files_external/tests/ftp.php +++ b/apps/files_external/tests/ftp.php @@ -48,5 +48,17 @@ class FTP extends Storage { $config['secure'] = 'true'; $instance = new \OC\Files\Storage\FTP($config); $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl('')); + + $config['root'] = ''; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/somefile.txt', $instance->constructUrl('somefile.txt')); + + $config['root'] = '/abc'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); + + $config['root'] = '/abc/'; + $instance = new \OC\Files\Storage\FTP($config); + $this->assertEquals('ftps://ftp:ftp@localhost/abc/somefile.txt', $instance->constructUrl('somefile.txt')); } } |