*/
public function isEncryptedPath($path) {
- $relPath = Helper::getPathToRealFile($path);
-
- if ($relPath === false) {
- $relPath = Helper::stripUserFilesPath($path);
- }
-
- $fileKey = Keymanager::getFileKey($this->view, $this, $relPath);
+ // Disable encryption proxy so data retrieved is in its
+ // original form
+ $proxyStatus = \OC_FileProxy::$enabled;
+ \OC_FileProxy::$enabled = false;
- if ($fileKey === false) {
- return false;
+ // we only need 24 byte from the last chunk
+ $data = '';
+ $handle = $this->view->fopen($path, 'r');
+ if (is_resource($handle) && !fseek($handle, -24, SEEK_END)) {
+ $data = fgets($handle);
}
- return true;
+ // re-enable proxy
+ \OC_FileProxy::$enabled = $proxyStatus;
+ return Crypt::isCatfileContent($data);
}
/**