Browse Source

Correct incorrectly typed X-OC-Mtime header

Signed-off-by: Stefan Schneider <stefan.schneider@squareweave.com.au>
tags/v12.0.0beta1
Stefan Schneider 7 years ago
parent
commit
f6ef024159
2 changed files with 7 additions and 2 deletions
  1. 6
    1
      apps/dav/lib/Connector/Sabre/File.php
  2. 1
    1
      apps/files/js/file-upload.js

+ 6
- 1
apps/dav/lib/Connector/Sabre/File.php 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');
}
}

+ 1
- 1
apps/files/js/file-upload.js 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();

Loading…
Cancel
Save