Lukas Reschke
72c8187cbb
Keep "encryptedVersion" when calling \OC\Files\View::copy
...
When calling `\OC\Files\View::copy` we should also keep the version to ensure that the file will always have the correct version attached and can be successfully decrypted.
To test this the following steps are necessary (from https://github.com/owncloud/core/issues/22781#issuecomment-191328982 ):
1. setup a new ownCloud 9.0 beta2
2. enable encryption
2. upload a docx (5.7MB large)
3. upload the same file again and overwrite the existing file
4. I can download the original file and the first version
5. I restore the first version
6. restored version can no longer be downloaded with the error described above
The manual cache operation in `\OCA\Files_Versions\Storage` is unfortunately necessary since `\OCA\Files_Versions\Storage::copyFileContents` is not using `\OCP\Files\Storage::moveFromStorage` in the case when an object storage is used. Due to the workaround added in 54cea05271
the stream is directly copied and thus bypassing the FS.
2016-03-03 14:15:36 +01:00
Lukas Reschke
933f60e314
Update author information
...
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Thomas Müller
efc966698f
Merge pull request #22579 from owncloud/fix_broken_unencrypted_size
...
Heal unencrypted file sizes at download time (second approach)
2016-02-25 14:34:48 +01:00
Bjoern Schiessle
834b51b83b
recalculate unencrypted size if we assume that the size stored in the db is not correct
2016-02-23 15:09:46 +01:00
Vincent Petry
a9e0cfad8b
Check delete permission before attemping copy+delete
...
Some move operations when cross-storage will be replaced by copy and
delete. Before attempting this, first check whether the source storage
has delete permissions.
This also prevents renaming system-wide external storages.
2016-02-19 12:59:10 +01:00
Bjoern Schiessle
9dc759b4dc
remember signature version and only set it on update to make sure that other
...
apps like files_versions still get the old signature version
2016-02-10 13:27:32 +01:00
Vincent Petry
3736f13826
Check if partial cache entry or not in encryption wrapper
2016-02-09 23:43:27 +01:00
Lukas Reschke
5ccb9dfa7e
Use database for keeping track of the version
2016-02-09 23:43:27 +01:00
Björn Schießle
cf3a8f274f
make it backward compatible to work with signed and un-signed files
2016-02-09 23:43:25 +01:00
Vincent Petry
19980be116
Fix part file partial cache logic in encryption code
...
The encryption code uses partial cache entries for the part file (which
are not stored in the database) but are useful for other parts of the
code to retrieve the file size again.
This means that in the fixed code $info was empty, so getData() could
not be called.
The fix makes sure to support both cases when the cache entry exists and
doesn't.
2016-02-09 09:47:34 +01:00
Robin Appelman
6d321f5f6b
Return a class from cache operations instead of an array
2016-01-14 12:54:42 +01:00
Thomas Müller
682821c71e
Happy new year!
2016-01-12 15:02:18 +01:00
Björn Schießle
6d0a324144
make sure that we update the unencrypted size for the versions
2015-11-04 10:59:05 +01:00
Lukas Reschke
8f09d5b67c
Update license headers
2015-10-26 14:04:01 +01:00
Bjoern Schiessle
dd6cb67030
check if fopen was successful before continue
2015-10-15 16:27:38 +02:00
Bjoern Schiessle
c7883b1769
only wrap source if fopen was successful
2015-10-15 16:27:38 +02:00
Thomas Müller
0385a62363
Merge pull request #19597 from owncloud/update-license-headers
...
update licence headers via script
2015-10-06 11:18:35 +02:00
Morris Jobke
b945d71384
update licence headers via script
2015-10-05 21:15:52 +02:00
Robin Appelman
b1ce53f890
use a normal rename when moving from the same storage in the encryption wrapper
2015-10-05 20:55:57 +02:00
Bjoern Schiessle
e7232a848b
versions should always use the keys of the original file, no need to create new one
2015-10-01 10:10:19 +02:00
Bjoern Schiessle
e51fe617d8
copy always file by file to encrypt/decrypt it if needed
2015-08-26 14:58:22 +02:00
Bjoern Schiessle
51a67a54e0
always update file cache, the cache can handle partial data correctly if the file doesn't already exists in the file cache
2015-07-31 17:14:32 +02:00
Vincent Petry
6ada1e3276
Merge pull request #17902 from owncloud/fix_17898
...
get header size before we open the file to avoid locking exception
2015-07-27 16:58:32 +02:00
Bjoern Schiessle
0736b45d92
get header size before we open the file to avoid locking exception
2015-07-27 14:29:07 +02:00
Joas Schilling
9cee8ff9f8
Only set is encrypted when encryption is enabled
2015-07-23 15:18:59 +02:00
Bjoern Schiessle
16d8014cdd
set targetIsEncrypted to true if file cache indicates that we try to read a encrypted file
2015-07-17 13:30:08 +02:00
Bjoern Schiessle
a2e2005e67
make sure that we always detect legacy files correctly
2015-07-17 13:30:08 +02:00
Joas Schilling
9c533342fc
Perform the filesize only when the file exists
...
Regression from 95602d4069
and 9b336765b6
2015-06-30 11:47:58 +02:00
Lukas Reschke
d1f0ff372e
Merge pull request #17163 from owncloud/update-licenses
...
Update license headers
2015-06-27 20:22:23 +02:00
Joas Schilling
9b336765b6
Correctly check if the real file exists, otherwise try the part file
2015-06-26 13:17:23 +02:00
Morris Jobke
f63915d0c8
update license headers and authors
2015-06-25 14:13:49 +02:00
Bjoern Schiessle
95602d4069
make sure that we always read the header from the original file
2015-06-23 11:41:21 +02:00
Thomas Müller
3ebc8f0564
Merge pull request #16107 from owncloud/fix-getLocalFile-encryption-master
...
Fix get local file encryption master
2015-06-02 13:47:37 +02:00
Vincent Petry
ded62ff693
Merge pull request #16501 from owncloud/enc_fix_move_versions_between_storages
...
[encryption] fix move versions between storages
2015-05-28 15:28:25 +02:00
Bjoern Schiessle
0de59acb49
only request encryption module for files which are not excluded
2015-05-27 15:47:40 +02:00
Bjoern Schiessle
c63f2286c0
copy keys before we move a file between storages to make sure that the new target file reuses the old file key, otherwise versions will break
2015-05-22 15:41:28 +02:00
Lukas Reschke
3d8ea96e55
Fix PHPDoc
...
Use correct parameters
2015-05-22 00:17:38 +02:00
Clark Tomlinson
f9b6ee86cd
Merge pull request #16399 from owncloud/enc_rmdir_fix
...
[encryption] only try to delete file keys if it is a valid path
2015-05-18 11:09:36 -04:00
Bjoern Schiessle
efa674f10d
only try to delete file keys if it is a valid path
2015-05-18 11:54:51 +02:00
Bjoern Schiessle
887be709f5
a new approach to display the error message
2015-05-18 10:15:17 +02:00
Bjoern Schiessle
ccbefb6e75
delete all file keys doesn't need the encryption module as parameter; implement rmdir; getFileKeyDir should also work for part files and complete directories
2015-05-13 19:06:23 +02:00
Bjoern Schiessle
0d5c7a11e2
use hooks to update encryption keys instead of the storage wrapper if a file gets renamed/restored, as long as we
...
are in the storage wrapper the file cache isn't up-to-date
2015-05-11 12:06:57 +02:00
Joas Schilling
aea734aaf1
Fix missing types on doc block and deduplicate the method name
2015-05-06 14:31:10 +02:00
Bjoern Schiessle
e4829a2358
update 'encrypted'-flag in file cache according to the storage settings
2015-05-06 14:20:05 +02:00
Bjoern Schiessle
dc39bda870
move/copy from storage
2015-05-06 14:20:02 +02:00
Bjoern Schiessle
83ed4ee5b6
unit tests
2015-05-06 12:28:15 +02:00
Bjoern Schiessle
e7a3911c83
check if encryption is enbaled before we start moving keys
2015-05-06 11:35:45 +02:00
Thomas Müller
35a2fd3f89
Only return cached files if existing
2015-05-06 11:16:44 +02:00
Thomas Müller
a96c2b8354
Only use cached files in case encryption is enabled - in any other case let the underlying storage handle this accordingly - refs #16061 #16062 and others
2015-05-05 16:19:24 +02:00
Bjoern Schiessle
7089af96f2
make sure that we keep the correct encrypted-flag and the (unencrypted)size if a file gets copied
2015-05-05 16:17:14 +02:00