Correct incorrectly typed X-OC-Mtime header

Signed-off-by: Stefan Schneider <stefan.schneider@squareweave.com.au>
This commit is contained in:
Stefan Schneider 2017-03-10 16:45:02 +11:00
parent c38f87e799
commit f6ef024159
2 changed files with 7 additions and 2 deletions

View File

@ -206,7 +206,12 @@ class File extends Node implements IFile {
// allow sync clients to send the mtime along in a header
$request = \OC::$server->getRequest();
if (isset($request->server['HTTP_X_OC_MTIME'])) {
if ($this->fileView->touch($this->path, $request->server['HTTP_X_OC_MTIME'])) {
$mtimeStr = $request->server['HTTP_X_OC_MTIME'];
if (!is_numeric($mtimeStr)) {
throw new \InvalidArgumentException('X-OC-Mtime header must be an integer (unix timestamp).');
}
$mtime = intval($mtimeStr);
if ($this->fileView->touch($this->path, $mtime)) {
header('X-OC-MTime: accepted');
}
}

View File

@ -222,7 +222,7 @@ OC.FileUpload.prototype = {
if (file.lastModified) {
// preserve timestamp
this.data.headers['X-OC-Mtime'] = file.lastModified / 1000;
this.data.headers['X-OC-Mtime'] = (file.lastModified / 1000).toFixed(0);
}
var userName = this.uploader.filesClient.getUserName();