Merge pull request #3715 from owncloud/fixes_for_3641_3620
files_encryption: bug fixes for reported problems.
This commit is contained in:
commit
a8a60d761b
|
@ -168,7 +168,7 @@ class Crypt {
|
|||
* e.g. filename or /Docs/filename, NOT admin/files/filename
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isLegacyEncryptedContent($data, $relPath) {
|
||||
public static function isLegacyEncryptedContent($isCatFileContent, $relPath) {
|
||||
|
||||
// Fetch all file metadata from DB
|
||||
$metadata = \OC\Files\Filesystem::getFileInfo($relPath, '');
|
||||
|
@ -178,7 +178,7 @@ class Crypt {
|
|||
// legacy encryption system
|
||||
if (isset($metadata['encrypted'])
|
||||
&& $metadata['encrypted'] === true
|
||||
&& !self::isCatfileContent($data)
|
||||
&& $isCatFileContent === false
|
||||
) {
|
||||
|
||||
return true;
|
||||
|
@ -480,7 +480,7 @@ class Crypt {
|
|||
|
||||
} else {
|
||||
|
||||
\OCP\Util::writeLog('Encryption library', 'Decryption (asymmetric) of sealed content failed', \OCP\Util::ERROR);
|
||||
\OCP\Util::writeLog('Encryption library', 'Decryption (asymmetric) of sealed content with share-key "'.$shareKey.'" failed', \OCP\Util::ERROR);
|
||||
|
||||
return false;
|
||||
|
||||
|
|
|
@ -424,8 +424,7 @@ class Util {
|
|||
// where they got re-enabled :/
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
$data = $this->view->file_get_contents($filePath);
|
||||
|
||||
$isEncryptedPath = $this->isEncryptedPath($filePath);
|
||||
// If the file is encrypted
|
||||
// NOTE: If the userId is
|
||||
// empty or not set, file will
|
||||
|
@ -435,7 +434,7 @@ class Util {
|
|||
// will eat server resources :(
|
||||
if (
|
||||
Keymanager::getFileKey($this->view, $this->userId, $relPath)
|
||||
&& Crypt::isCatfileContent($data)
|
||||
&& $isEncryptedPath
|
||||
) {
|
||||
|
||||
$found['encrypted'][] = array(
|
||||
|
@ -445,7 +444,7 @@ class Util {
|
|||
|
||||
// If the file uses old
|
||||
// encryption system
|
||||
} elseif (Crypt::isLegacyEncryptedContent($data, $relPath)) {
|
||||
} elseif (Crypt::isLegacyEncryptedContent($isEncryptedPath, $relPath)) {
|
||||
|
||||
$found['legacy'][] = array(
|
||||
'name' => $file,
|
||||
|
@ -698,7 +697,7 @@ class Util {
|
|||
$plainHandle = $this->view->fopen($rawPath, 'rb');
|
||||
|
||||
// Open enc file handle for binary writing, with same filename as original plain file
|
||||
$encHandle = fopen('crypt://' . $relPath . '.tmp', 'wb');
|
||||
$encHandle = fopen('crypt://' . $relPath . '.part', 'wb');
|
||||
|
||||
// Move plain file to a temporary location
|
||||
$size = stream_copy_to_stream($plainHandle, $encHandle);
|
||||
|
@ -708,7 +707,7 @@ class Util {
|
|||
$fakeRoot = $this->view->getRoot();
|
||||
$this->view->chroot('/' . $this->userId . '/files');
|
||||
|
||||
$this->view->rename($relPath . '.tmp', $relPath);
|
||||
$this->view->rename($relPath . '.part', $relPath);
|
||||
|
||||
$this->view->chroot($fakeRoot);
|
||||
|
||||
|
|
Loading…
Reference in New Issue