From 761ba344b786eb913ba41f4382315e8f75a51d2d Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 28 Jul 2015 11:18:03 +0200 Subject: [PATCH] Double slash for SMB storage id for compatibility --- apps/files_external/lib/smb.php | 5 ++++- apps/files_external/tests/backends/smb.php | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index 4a2eebf20b..f58cd9849f 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -78,7 +78,10 @@ class SMB extends Common { * @return string */ public function getId() { - return 'smb::' . $this->server->getUser() . '@' . $this->server->getHost() . '/' . $this->share->getName() . '/' . $this->root; + // FIXME: double slash to keep compatible with the old storage ids, + // failure to do so will lead to creation of a new storage id and + // loss of shares from the storage + return 'smb::' . $this->server->getUser() . '@' . $this->server->getHost() . '//' . $this->share->getName() . '/' . $this->root; } /** diff --git a/apps/files_external/tests/backends/smb.php b/apps/files_external/tests/backends/smb.php index 9e60a9e06e..0da86cb824 100644 --- a/apps/files_external/tests/backends/smb.php +++ b/apps/files_external/tests/backends/smb.php @@ -61,4 +61,16 @@ class SMB extends Storage { $this->assertTrue($result); $this->assertTrue($this->instance->is_dir('foo bar')); } + + public function testStorageId() { + $this->instance = new \OC\Files\Storage\SMB([ + 'host' => 'testhost', + 'user' => 'testuser', + 'password' => 'somepass', + 'share' => 'someshare', + 'root' => 'someroot', + ]); + $this->assertEquals('smb::testuser@testhost//someshare//someroot/', $this->instance->getId()); + $this->instance = null; + } }