diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-16 12:09:15 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-16 12:09:15 +0200 |
commit | 3c026b7cf601c0b83dd02436f17714fcf48cb9a8 (patch) | |
tree | cf6f5f0fc9d454cb91d47996df92b08d11cd7230 /lib/files | |
parent | 46f59b165e5bd1908509e8a62b67bf983cfd6224 (diff) | |
download | nextcloud-server-3c026b7cf601c0b83dd02436f17714fcf48cb9a8.tar.gz nextcloud-server-3c026b7cf601c0b83dd02436f17714fcf48cb9a8.zip |
recreate an etag within the scanner if the cache contains an empty etag
Diffstat (limited to 'lib/files')
-rw-r--r-- | lib/files/cache/scanner.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index 9d180820e9d..78cab6ed2da 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -97,13 +97,19 @@ class Scanner extends BasicEmitter { } $newData = $data; if ($reuseExisting and $cacheData = $this->cache->get($file)) { + // prevent empty etag + $etag = $cacheData['etag']; + if (empty($etag)) { + $etag = $data['etag']; + } + // only reuse data if the file hasn't explicitly changed if (isset($data['mtime']) && isset($cacheData['mtime']) && $data['mtime'] === $cacheData['mtime']) { if (($reuseExisting & self::REUSE_SIZE) && ($data['size'] === -1)) { $data['size'] = $cacheData['size']; } if ($reuseExisting & self::REUSE_ETAG) { - $data['etag'] = $cacheData['etag']; + $data['etag'] = $etag; } } // Only update metadata that has changed |