diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-08-18 15:31:26 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-08-18 15:31:26 +0200 |
commit | d96afe956ef706357486a5dfeef6551813293677 (patch) | |
tree | 4f7adc27532c0cffc9f0f955d405435bd79a6515 | |
parent | 7b0f43efb6bfbf348113d8da2cfb71caa5d90cac (diff) | |
parent | b4532028f97f0db21114f9deb3375bf0923d4a97 (diff) | |
download | nextcloud-server-d96afe956ef706357486a5dfeef6551813293677.tar.gz nextcloud-server-d96afe956ef706357486a5dfeef6551813293677.zip |
Merge pull request #18392 from owncloud/remote-nolog
Avoid logging normal exceptions in remote.php
-rw-r--r-- | remote.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/remote.php b/remote.php index 0b43f949ad4..01077e805eb 100644 --- a/remote.php +++ b/remote.php @@ -33,6 +33,7 @@ use Sabre\DAV\Server; /** * Class RemoteException * Dummy exception class to be use locally to identify certain conditions + * Will not be logged to avoid DoS */ class RemoteException extends Exception { } @@ -47,7 +48,10 @@ function handleException(Exception $e) { if ($isXmlContentType === 0) { // fire up a simple server to properly process the exception $server = new Server(); - $server->addPlugin(new ExceptionLoggerPlugin('webdav', \OC::$server->getLogger())); + if (!($e instanceof RemoteException)) { + // we shall not log on RemoteException + $server->addPlugin(new ExceptionLoggerPlugin('webdav', \OC::$server->getLogger())); + } $server->on('beforeMethod', function () use ($e) { if ($e instanceof RemoteException) { switch ($e->getCode()) { @@ -67,11 +71,12 @@ function handleException(Exception $e) { if ($e instanceof \OC\ServiceUnavailableException ) { $statusCode = OC_Response::STATUS_SERVICE_UNAVAILABLE; } - \OCP\Util::writeLog('remote', $e->getMessage(), \OCP\Util::FATAL); if ($e instanceof RemoteException) { + // we shall not log on RemoteException OC_Response::setStatus($e->getCode()); OC_Template::printErrorPage($e->getMessage()); } else { + \OCP\Util::writeLog('remote', $e->getMessage(), \OCP\Util::FATAL); OC_Response::setStatus($statusCode); OC_Template::printExceptionErrorPage($e); } @@ -122,7 +127,7 @@ try { break; default: if (!\OC::$server->getAppManager()->isInstalled($app)) { - throw new Exception('App not installed: ' . $app); + throw new RemoteException('App not installed: ' . $app); } OC_App::loadApp($app); $file = OC_App::getAppPath($app) .'/'. $parts[1]; |