Don't try to encrypt a file when the temp file isn't created

This commit is contained in:
Bart Visscher 2013-11-14 08:44:14 +01:00 committed by Bjoern Schiessle
parent 6aa9daf4e6
commit 40f148cc6c
1 changed files with 21 additions and 18 deletions

View File

@ -840,32 +840,35 @@ class Util {
// Open enc file handle for binary writing, with same filename as original plain file // Open enc file handle for binary writing, with same filename as original plain file
$encHandle = fopen('crypt://' . $rawPath . '.part', 'wb'); $encHandle = fopen('crypt://' . $rawPath . '.part', 'wb');
// Move plain file to a temporary location if (is_resource($encHandle)) {
$size = stream_copy_to_stream($plainHandle, $encHandle); // Move plain file to a temporary location
$size = stream_copy_to_stream($plainHandle, $encHandle);
fclose($encHandle); fclose($encHandle);
fclose($plainHandle); fclose($plainHandle);
$fakeRoot = $this->view->getRoot(); $fakeRoot = $this->view->getRoot();
$this->view->chroot('/' . $this->userId . '/files'); $this->view->chroot('/' . $this->userId . '/files');
$this->view->rename($relPath . '.part', $relPath); $this->view->rename($relPath . '.part', $relPath);
// set timestamp // set timestamp
$this->view->touch($relPath, $timestamp); $this->view->touch($relPath, $timestamp);
$this->view->chroot($fakeRoot); $encSize = $this->view->filesize($relPath);
// Add the file to the cache $this->view->chroot($fakeRoot);
\OC\Files\Filesystem::putFileInfo($relPath, array(
'encrypted' => true,
'size' => $size,
'unencrypted_size' => $size,
'etag' => $fileInfo['etag']
));
$encryptedFiles[] = $relPath; // Add the file to the cache
\OC\Files\Filesystem::putFileInfo($relPath, array(
'encrypted' => true,
'size' => $encSize,
'unencrypted_size' => $size,
'etag' => $fileInfo['etag']
));
$encryptedFiles[] = $relPath;
}
} }
// Encrypt legacy encrypted files // Encrypt legacy encrypted files