summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-04-20 12:53:40 +0200
committerLukas Reschke <lukas@owncloud.com>2015-04-20 12:53:40 +0200
commited0b465cf9c2d4f257d8f1e2fabcd443f133ca38 (patch)
tree26e9f06fcfa3929fb349f85d93f500619d96b3bd
parent6b31d325d6bfaf8251e4f78556cd23b9c087072f (diff)
downloadnextcloud-server-ed0b465cf9c2d4f257d8f1e2fabcd443f133ca38.tar.gz
nextcloud-server-ed0b465cf9c2d4f257d8f1e2fabcd443f133ca38.zip
Use 403 instead a 50x response
-rw-r--r--lib/private/connector/sabre/blocklegacyclientplugin.php19
-rw-r--r--tests/lib/connector/sabre/BlockLegacyClientPluginTest.php3
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/private/connector/sabre/blocklegacyclientplugin.php b/lib/private/connector/sabre/blocklegacyclientplugin.php
index 4d595b5f6de..7da6ff563dc 100644
--- a/lib/private/connector/sabre/blocklegacyclientplugin.php
+++ b/lib/private/connector/sabre/blocklegacyclientplugin.php
@@ -21,20 +21,19 @@
namespace OC\Connector\Sabre;
-use OC\ServiceUnavailableException;
use OCP\IConfig;
use Sabre\HTTP\RequestInterface;
use Sabre\DAV\ServerPlugin;
-use Sabre\DAV\Server;
+use Sabre\DAV\Exception;
/**
* Class BlockLegacyClientPlugin is used to detect old legacy sync clients and
- * returns a 503 status to those clients.
+ * returns a 403 status to those clients
*
* @package OC\Connector\Sabre
*/
class BlockLegacyClientPlugin extends ServerPlugin {
- /** @var Server */
+ /** @var \Sabre\DAV\Server */
protected $server;
/** @var IConfig */
protected $config;
@@ -47,19 +46,19 @@ class BlockLegacyClientPlugin extends ServerPlugin {
}
/**
- * @param Server $server
+ * @param \Sabre\DAV\ $server
* @return void
*/
- public function initialize(Server $server) {
+ public function initialize(\Sabre\DAV\Server $server) {
$this->server = $server;
$this->server->on('beforeMethod', [$this, 'beforeHandler'], 200);
}
/**
- * Detects all unsupported clients and throws a ServiceUnavailableException
- * which will result in a 503 to them.
+ * Detects all unsupported clients and throws a \Sabre\DAV\Exception\Forbidden
+ * exception which will result in a 403 to them.
* @param RequestInterface $request
- * @throws ServiceUnavailableException If the client version is not supported
+ * @throws \Sabre\DAV\Exception\Forbidden If the client version is not supported
*/
public function beforeHandler(RequestInterface $request) {
$userAgent = $request->getHeader('User-Agent');
@@ -70,7 +69,7 @@ class BlockLegacyClientPlugin extends ServerPlugin {
preg_match("/(?:mirall\\/)([\d.]+)/i", $userAgent, $versionMatches);
if(isset($versionMatches[1]) &&
version_compare($versionMatches[1], $minimumSupportedDesktopVersion) === -1) {
- throw new ServiceUnavailableException('Unsupported client version.');
+ throw new \Sabre\DAV\Exception\Forbidden('Unsupported client version.');
}
}
}
diff --git a/tests/lib/connector/sabre/BlockLegacyClientPluginTest.php b/tests/lib/connector/sabre/BlockLegacyClientPluginTest.php
index ed735f06849..2c7835dd73e 100644
--- a/tests/lib/connector/sabre/BlockLegacyClientPluginTest.php
+++ b/tests/lib/connector/sabre/BlockLegacyClientPluginTest.php
@@ -18,6 +18,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
+
namespace Test\Connector\Sabre;
use OC\Connector\Sabre\BlockLegacyClientPlugin;
@@ -58,7 +59,7 @@ class BlockLegacyClientPluginTest extends TestCase {
/**
* @dataProvider oldDesktopClientProvider
* @param string $userAgent
- * @expectedException \OC\ServiceUnavailableException
+ * @expectedException \Sabre\DAV\Exception\Forbidden
* @expectedExceptionMessage Unsupported client version.
*/
public function testBeforeHandlerException($userAgent) {