From fd558fd62ed094ae43425b7860732f358c0d2dca Mon Sep 17 00:00:00 2001 From: skjnldsv Date: Tue, 17 Dec 2024 15:23:59 +0100 Subject: fix: make sure we have a valid scheme when testing ocm urls Signed-off-by: skjnldsv --- lib/private/OCM/OCMDiscoveryService.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/private/OCM/OCMDiscoveryService.php b/lib/private/OCM/OCMDiscoveryService.php index dd2f3d4e058..9c84a58c305 100644 --- a/lib/private/OCM/OCMDiscoveryService.php +++ b/lib/private/OCM/OCMDiscoveryService.php @@ -26,6 +26,7 @@ declare(strict_types=1); namespace OC\OCM; +use GuzzleHttp\Exception\ConnectException; use JsonException; use OCP\AppFramework\Http; use OCP\Http\Client\IClientService; @@ -69,6 +70,14 @@ class OCMDiscoveryService implements IOCMDiscoveryService { */ public function discover(string $remote, bool $skipCache = false): IOCMProvider { $remote = rtrim($remote, '/'); + if (!str_starts_with($remote, 'http://') && !str_starts_with($remote, 'https://')) { + // if scheme not specified, we test both; + try { + return $this->discover('https://' . $remote, $skipCache); + } catch (OCMProviderException|ConnectException) { + return $this->discover('http://' . $remote, $skipCache); + } + } if (!$skipCache) { try { -- cgit v1.2.3