@ -5,9 +5,8 @@
* later.
* See the COPYING-README file.
*/
if(!\OC_App::isEnabled('files_sharing')){
exit;
}
OCP\JSON::checkAppEnabled('files_sharing');
\OC_User::setIncognitoMode(true);
@ -18,20 +17,20 @@ $scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] :
$token = array_key_exists('t', $_GET) ? (string) $_GET['t'] : '';
if($token === ''){
\OC_Response::setStatus(400); //400 Bad Request
\OC_Response::setStatus(\OC_Response::STATUS_BAD_REQUEST);
\OC_Log::write('core-preview', 'No token parameter was passed', \OC_Log::DEBUG);
exit;
}
$linkedItem = \OCP\Share::getShareByToken($token);
if($linkedItem === false || ($linkedItem['item_type'] !== 'file' & & $linkedItem['item_type'] !== 'folder')) {
\OC_Response::setStatus(404 );
\OC_Response::setStatus(\OC_Response::STATUS_NOT_FOUND );
\OC_Log::write('core-preview', 'Passed token parameter is not valid', \OC_Log::DEBUG);
exit;
}
if(!isset($linkedItem['uid_owner']) || !isset($linkedItem['file_source'])) {
\OC_Response::setStatus(500 );
\OC_Response::setStatus(\OC_Response::STATUS_INTERNAL_SERVER_ERROR );
\OC_Log::write('core-preview', 'Passed token seems to be valid, but it does not contain all necessary information . ("' . $token . '")', \OC_Log::WARN);
exit;
}
@ -50,9 +49,9 @@ $pathInfo = $view->getFileInfo($path);
$sharedFile = null;
if($linkedItem['item_type'] === 'folder') {
$isv alid = \OC\Files\Filesystem::isValidPath($file);
if(!$isv alid) {
\OC_Response::setStatus(400); //400 Bad Request
$isV alid = \OC\Files\Filesystem::isValidPath($file);
if(!$isV alid) {
\OC_Response::setStatus(\OC_Response::STATUS_BAD_REQUEST);
\OC_Log::write('core-preview', 'Passed filename is not valid, might be malicious (file:"' . $file . '";ip:"' . $_SERVER['REMOTE_ADDR'] . '")', \OC_Log::WARN);
exit;
}
@ -71,7 +70,7 @@ if(substr($path, 0, 1) === '/') {
}
if($maxX === 0 || $maxY === 0) {
\OC_Response::setStatus(400); //400 Bad Request
\OC_Response::setStatus(\OC_Response::STATUS_BAD_REQUEST);
\OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
exit;
}
@ -87,6 +86,6 @@ try{
$preview->show();
} catch (\Exception $e) {
\OC_Response::setStatus(500 );
\OC_Response::setStatus(\OC_Response::STATUS_INTERNAL_SERVER_ERROR );
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
}