Skip to content

Commit

Permalink
fix(dav): drop unwanted RemoteException class
Browse files Browse the repository at this point in the history
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
  • Loading branch information
skjnldsv authored and backportbot[bot] committed Aug 1, 2024
1 parent c5f876b commit da9aac2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
18 changes: 12 additions & 6 deletions public.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,30 +58,33 @@ function resolveService(string $service): string {
// this policy with a softer one if debug mode is enabled.
header("Content-Security-Policy: default-src 'none';");

// Check if Nextcloud is in maintenance mode
if (\OCP\Util::needUpgrade()) {
// since the behavior of apps or remotes are unpredictable during
// an upgrade, return a 503 directly
throw new RemoteException('Service unavailable', 503);
throw new \Exception('Service unavailable', 503);
}

$request = \OC::$server->getRequest();
$pathInfo = $request->getPathInfo();
if ($pathInfo === false || $pathInfo === '') {
throw new RemoteException('Path not found', 404);
throw new \Exception('Path not found', 404);
}

// Extract the service from the path
if (!$pos = strpos($pathInfo, '/', 1)) {
$pos = strlen($pathInfo);
}
$service = substr($pathInfo, 1, $pos - 1);

// Resolve the service to a file
$file = resolveService($service);

if (!$file) {
throw new RemoteException('Path not found', 404);
throw new \Exception('Path not found', 404);
}

// Extract the app from the service file
$file = ltrim($file, '/');

$parts = explode('/', $file, 2);
$app = $parts[0];

Expand All @@ -91,9 +94,12 @@ function resolveService(string $service): string {
OC_App::loadApps(['extended_authentication']);
OC_App::loadApps(['filesystem', 'logging']);

// Check if the app is enabled
if (!\OC::$server->getAppManager()->isInstalled($app)) {
throw new RemoteException('App not installed: ' . $app);
throw new \Exception('App not installed: ' . $app);
}

// Load the app
OC_App::loadApp($app);
OC_User::setIncognitoMode(true);

Expand Down
2 changes: 1 addition & 1 deletion remote.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
* Dummy exception class to be use locally to identify certain conditions
* Will not be logged to avoid DoS
*/
class RemoteException extends Exception {
class RemoteException extends \Exception {
}

/**
Expand Down

0 comments on commit da9aac2

Please sign in to comment.