From 2e45eb8ad69d8978220e0b3ea4314545cb08fa6f Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Mon, 30 Jun 2014 14:48:03 +0200 Subject: [PATCH] Return 503 in public.php and OCS API when upgrade is due To prevent unexpected behavior, public.php and the OCS API calls will return 503 Service Unavailable when an upgrade is due. --- ocs/v1.php | 8 ++++++++ public.php | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/ocs/v1.php b/ocs/v1.php index d69904fc49..624355a850 100644 --- a/ocs/v1.php +++ b/ocs/v1.php @@ -23,6 +23,14 @@ require_once '../lib/base.php'; +if (\OCP\Util::needUpgrade()) { + // since the behavior of apps or remotes are unpredictable during + // an upgrade, return a 503 directly + OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); + OC_Template::printErrorPage('Service unavailable'); + exit; +} + use Symfony\Component\Routing\Exception\ResourceNotFoundException; use Symfony\Component\Routing\Exception\MethodNotAllowedException; diff --git a/public.php b/public.php index eed6394811..1f858fd073 100644 --- a/public.php +++ b/public.php @@ -3,6 +3,14 @@ try { require_once 'lib/base.php'; + if (\OCP\Util::needUpgrade()) { + // since the behavior of apps or remotes are unpredictable during + // an upgrade, return a 503 directly + OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); + OC_Template::printErrorPage('Service unavailable'); + exit; + } + OC::checkMaintenanceMode(); OC::checkSingleUserMode(); $pathInfo = OC_Request::getPathInfo();