reliable detect encrypted files

remotes/origin/ldap_group_count
Bjoern Schiessle 11 years ago
parent 5a1194520e
commit 69b89454a4
  1. 22
      apps/files_encryption/lib/util.php

@ -464,20 +464,22 @@ class Util {
*/
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);
}
/**

Loading…
Cancel
Save