Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Handle external share with invalid host
remoteIsOwnCloud might throw an exception when the host is localhost.
Handle this case instead of aborting completely. The behavior is the
same as that is done 10 lines under it

Signed-off-by: Carl Schwan <[email protected]>
  • Loading branch information
CarlSchwan authored and backportbot[bot] committed Dec 29, 2021
commit 8cb63f32838780bd253cecbc5619e43ab83ae661
14 changes: 11 additions & 3 deletions apps/files_sharing/lib/External/Storage.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
use OCP\Files\Storage\IDisableEncryptionStorage;
use OCP\Files\StorageInvalidException;
use OCP\Files\StorageNotAvailableException;
use OCP\Http\Client\LocalServerException;

class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
/** @var ICloudId */
Expand Down Expand Up @@ -314,9 +315,16 @@ public function getShareInfo() {
$token = $this->getToken();
$password = $this->getPassword();

// If remote is not an ownCloud do not try to get any share info
if (!$this->remoteIsOwnCloud()) {
return ['status' => 'unsupported'];
try {
// If remote is not an ownCloud do not try to get any share info
if (!$this->remoteIsOwnCloud()) {
return ['status' => 'unsupported'];
}
} catch (LocalServerException $e) {
// throw this to be on the safe side: the share will still be visible
// in the UI in case the failure is intermittent, and the user will
// be able to decide whether to remove it if it's really gone
throw new StorageNotAvailableException();
}

$url = rtrim($remote, '/') . '/index.php/apps/files_sharing/shareinfo?t=' . $token;
Expand Down