Commit graph

693 commits

Author SHA1 Message Date
Bjoern Schiessle
e20bb71a42 remove unused code 2014-06-18 13:26:42 +02:00
Robin Appelman
790d51ea1e Fix checking for external share in encryption 2014-06-14 10:14:07 +02:00
Bjoern Schiessle
277f25222a if file doesn't exist, check parent folder 2014-06-14 10:14:07 +02:00
Bjoern Schiessle
c580aeb455 exclude mounted server-to-server shares from encryption 2014-06-14 10:14:07 +02:00
Bjoern Schiessle
961317d911 make sure to enable incognito mode when mounting a public link and update init status of the encryption app 2014-06-14 10:14:07 +02:00
Bjoern Schiessle
329bfd81c3 remove encryption keys if user unshares a file 2014-06-06 09:55:59 +02:00
Thomas Müller
e9011a8c55 adding unit tests for encryption data migration 2014-06-05 16:54:04 +02:00
Bjoern Schiessle
eb29b2984c use oc_preferences instead of oc_encryption to store encyption settings 2014-06-05 16:54:04 +02:00
Bjoern Schiessle
3a698bce6e don't ask for fileInfo if we already have one 2014-06-04 07:55:45 +02:00
Thomas Müller
d3e830e938 Merge pull request #8729 from owncloud/add-phpseclib-master
use phpseclib from 3rdparty
2014-06-03 12:19:04 +02:00
Thomas Müller
17cbfc714a use phpseclib from 3rdparty
rename class Crypt_Blowfish to Legacy_Crypt_Blowfish
2014-06-03 12:18:30 +02:00
Morris Jobke
390d8e53b4 Merge pull request #8676 from owncloud/encryption_improvements
cleanup encryption code, improved return codes
2014-06-02 18:28:18 +02:00
Bjoern Schiessle
b16b17f920 ceanup encryption code, improved return codes 2014-06-02 13:15:11 +02:00
Bjoern Schiessle
9ed5083efd get mount point from mount manager 2014-05-28 17:28:31 +02:00
Morris Jobke
dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Robin McCorkell
e7aebc5c32 Fix whitespace issues 2014-05-16 22:23:36 +01:00
Robin McCorkell
6930ae22e4 Fix more missing or broken PHPDoc 2014-05-16 22:21:57 +01:00
Robin McCorkell
c4f1de63a8 Fix PHPDoc in /apps 2014-05-16 22:21:57 +01:00
Thomas Müller
58857b8df5 @returns -> @return 2014-05-13 19:09:15 +01:00
Björn Schießle
b8de1e5d71 Merge pull request #8398 from owncloud/enc_backup_keys
backup the encryption key after the encryption was disabled
2014-05-13 09:25:16 -04:00
Bjoern Schiessle
a9ac11718e backup the encryption key after the encryption was disabled so that the user
can restore them if needed
2014-05-13 12:35:25 +02:00
Thomas Müller
e0dd69e4e6 remove legacy aka deprecated code: OC_FilesystemView 2014-05-12 16:30:39 +02:00
Thomas Müller
4dd1a49a68 remove legacy aka deprecated code: OC_Filesystem 2014-05-12 16:20:07 +02:00
Bjoern Schiessle
57b671ebec only update the values which really changed 2014-04-30 12:48:16 +02:00
Bjoern Schiessle
73a2d87ab4 fix shouldEncrypt() method and improved decryptAll() unit tests 2014-04-28 14:49:19 +02:00
Bjoern Schiessle
fb88aba8f4 some fixes to make the gallery work, this made it necessary to adjust some tests and the encryption code 2014-04-23 12:54:26 +02:00
Bjoern Schiessle
a86d97295e fix encryption tests after the removal of the shared folder 2014-04-23 12:54:25 +02:00
Lukas Reschke
e704bc2bf0 Merge pull request #7807 from sarciszewski/patch-1
Update crypt.php
2014-04-11 19:19:02 +02:00
Vincent Petry
a6de5efbab Merge pull request #7978 from owncloud/enc_cleanup
there is no need to re-calculate the shares after a touch
2014-04-02 18:23:33 +02:00
Morris Jobke
1782dcbb50 Merge pull request #7977 from owncloud/fix_enc_if_sharing_is_disabled
always encrypt files to owner
2014-04-02 13:20:51 +02:00
Björn Schießle
c45793033d Merge pull request #7912 from owncloud/enc_move_checks_to_pre_hook
move check if a file should be encrypted to the pre hook
2014-04-01 13:56:46 +02:00
Bjoern Schiessle
c578ab68fe there is no need to re-calculate the shares after a touch 2014-03-31 18:24:53 +02:00
Bjoern Schiessle
8e34812393 always encrypt files to owner 2014-03-31 18:19:48 +02:00
Bjoern Schiessle
aa867ad647 don't call getFileInfo() to avoid to open the same file twice 2014-03-31 15:29:16 +02:00
Bjoern Schiessle
8ebb1f15d3 move check if a file should be encrypted to the pre hook 2014-03-31 15:29:16 +02:00
Bjoern Schiessle
b9100bc2de don't write file if opening a stream to encrypt the data fails 2014-03-28 12:02:49 +01:00
Scott Arciszewski
09cc020535 Update crypt.php
Use a 256-bit random value
2014-03-24 08:57:33 -04:00
Vincent Petry
37af74efb3 Merge pull request #7655 from owncloud/shared-unencryptedsize
Fixed warning when browsing Shared folder
2014-03-21 12:28:27 +01:00
Scott Arciszewski
36da3bc359 Update crypt.php
A 1024 kilobyte key would be obnoxiously slow to operate on. I'm assuming you meant 1024-bit?

Also, 183 bytes = 1464 bits.

Here's a safe alternative: 2048 bits, with comment-code sanity
2014-03-19 13:31:51 -04:00
Thomas Müller
bbbbb033f3 in case of phpunit executions calling header() and exit() is too bad 2014-03-14 18:20:33 +01:00
Vincent Petry
022d76c7bb Fixed warning when browsing Shared folder
The virtual "Shared" folder doesn't have an unencrypted_size field.
This fix adds a check to prevent warnings in the log.
2014-03-10 17:25:16 +01:00
Vincent Petry
48d63a6278 Return unencrypted_size of folder when queried
This fixes the "used space" to be based on the unencrypted size, not
encrypted size, to be consistent with how quota/space is handled when
encryption is enabled
2014-03-07 14:59:09 +01:00
Bjoern Schiessle
fbd8c00a89 don't create files folder, let ownCloud core handle it 2014-03-05 12:44:02 +01:00
Björn Schießle
61bc76fdd6 Merge pull request #7454 from owncloud/enc_remember_fopen_mode
[enc] remember original fopen access type in pre-proxy
2014-02-28 09:57:58 +01:00
Vincent Petry
fefd724858 Fixed wrong field name
This re-fixes an issue where the unencrypted size isn't updated
correctly when saving a text file in the UI multiple times.

Fixes #7467
2014-02-27 23:53:29 +01:00
Bjoern Schiessle
4ace1a273d remember original fopen access type in pre-proxy because sometimes they change
during the fopen call, e.g. 'r' becomes 'r+' if we open an URL
2014-02-27 14:16:03 +01:00
Bjoern Schiessle
86b3cdc132 close encryption session after decryption was finished 2014-02-26 17:18:38 +01:00
Scrutinizer Auto-Fixer
adaee6a5a1 Scrutinizer Auto-Fixes
This patch was automatically generated as part of the following inspection:
https://scrutinizer-ci.com/g/owncloud/core/inspections/cdfecc4e-a37e-4233-8025-f0d7252a8720

Enabled analysis tools:
 - PHP Analyzer
 - JSHint
 - PHP Copy/Paste Detector
 - PHP PDepend
2014-02-19 09:31:54 +01:00
Thomas Müller
c6f4f85e27 Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/migration/content.php
2014-02-18 18:31:33 +01:00
Thomas Müller
1e84d6b14b Merge pull request #7190 from owncloud/appconfig-legacy-apps
Remove usage of legacy OC_Appconfig
2014-02-18 18:10:22 +01:00
Lukas Reschke
3b1083f46e Merge pull request #7176 from owncloud/style
Some style fixes
2014-02-18 17:30:26 +01:00
Bjoern Schiessle
f2f5769df7 catch errors during decryption 2014-02-17 10:03:57 +01:00
Bjoern Schiessle
2ab062193a catch errors during initial encryption 2014-02-17 09:58:46 +01:00
Thomas Müller
9fac95c2ab Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
icewind1991
2a7509ee50 Merge pull request #6748 from owncloud/fileinfo
Add a FileInfo class which holds all info of a file ...
2014-02-14 15:16:39 +01:00
Robin Appelman
181bbd4325 Remove usage of legacy OC_Appconfig 2014-02-13 16:28:49 +01:00
Bart Visscher
1fb5f96c37 Style fixes 2014-02-12 09:09:51 +01:00
Joas Schilling
b330d07b51 Fix more documentation failes
Issue #7111
2014-02-08 11:47:55 +01:00
Jörn Friedrich Dreyer
2a6a9a8cef polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
Bjoern Schiessle
97921d0c25 add function to extract filename from sharekey name + tests 2014-02-03 13:39:05 +01:00
Bjoern Schiessle
bef58f5361 don't expect OC_FilesystemView, this is depreciated 2014-01-31 20:39:52 +01:00
Bjoern Schiessle
4d1086c35f better error detection and don't use glob() 2014-01-31 20:39:11 +01:00
Bjoern Schiessle
5610842e56 move unlink proxy to a hook which handles pre and post conditions 2014-01-31 20:38:35 +01:00
Robin Appelman
4e2b52a376 merge master into fileinfo 2014-01-29 16:33:27 +01:00
Bjoern Schiessle
83878b9a7d only update file cache with the unenecrypted size when the file was written 2014-01-24 16:01:00 +01:00
Bjoern Schiessle
b489d6b0af fix infinite loop if folder and subfolder has the same name 2014-01-22 17:15:01 +01:00
Robin Appelman
5cb08bb9cb Merge branch 'master' into fileinfo
Conflicts:
	tests/lib/files/cache/cache.php
2014-01-17 14:47:29 +01:00
Robin Appelman
299bb4d99d remove more is_array from encryption 2014-01-17 14:38:14 +01:00
Robin Appelman
ec7c339930 Don't use is_array on FileInfo 2014-01-17 12:56:17 +01:00
Bjoern Schiessle
f4179a3f5a don't try to encrypt/decrypt cache chunks or files in the trash bin 2014-01-15 14:29:33 +01:00
Björn Schießle
6a3e38266f Merge pull request #6507 from owncloud/enc_fix_getUser
[encryption] fix getUser Helper
2013-12-19 11:09:41 -08:00
Bjoern Schiessle
517a55a437 tests added 2013-12-19 19:43:57 +01:00
Björn Schießle
f0da7b20c1 Merge pull request #6517 from owncloud/fix_6510
[encryption] fix rename of shared files
2013-12-19 10:19:09 -08:00
Bjoern Schiessle
165542f27d fix rename of shared files 2013-12-19 17:29:38 +01:00
Vincent Petry
06dec2632f Merge pull request #6512 from owncloud/master-failingoracletests
Removed numRows usage from encryption app
2013-12-19 08:22:44 -08:00
Björn Schießle
079f1a6f41 Merge pull request #6495 from owncloud/enc_fseek_fallback
Added fseek fallback to the encryption app
2013-12-19 07:09:07 -08:00
Bjoern Schiessle
fe7fb66ef8 we can also have a path user/cache/... 2013-12-19 15:58:10 +01:00
Vincent Petry
963ee31efb Removed numRows usage from encryption app
numRows on Oracle always seem to return 0.

This fix removes numRows usage from the encryption and sharing app.

This fixes unit tests and potentially the encryption app itself
(migration status) when running on Oracle
2013-12-19 15:51:24 +01:00
Bjoern Schiessle
4f8ae789ae extend the encryption stream wrapper to handle local files and add a fall back for file size calculation if the storage doesn't support fseek 2013-12-18 15:43:50 +01:00
Bjoern Schiessle
d9668977cd implement ftell stream wrapper and fix return value from fseek stream wrapper 2013-12-18 15:41:40 +01:00
Thomas Müller
930a46e8e2 Merge pull request #6469 from owncloud/enc_cleanup
remove duplicated code
2013-12-18 05:21:42 -08:00
Bjoern Schiessle
9a94c07553 remove unused method tail() 2013-12-17 16:19:00 +01:00
Bjoern Schiessle
c955381d56 fall back to getLocalFile if storage doesn't support fseek 2013-12-17 16:18:05 +01:00
Bjoern Schiessle
69b89454a4 reliable detect encrypted files 2013-12-17 15:53:25 +01:00
Bjoern Schiessle
83417d69be remove duplicated code 2013-12-17 11:28:05 +01:00
Björn Schießle
4ae148cebd Merge pull request #6183 from owncloud/enc_tests
enable more encryption tests
2013-12-16 08:46:52 -08:00
Bjoern Schiessle
95892c8be9 update file cache for target file 2013-12-16 16:05:24 +01:00
Bjoern Schiessle
cdd816c930 only remove encryption keys if a real file gets deleted, skip this method if a file outside of /data/user/files was deleted 2013-12-16 16:05:24 +01:00
Björn Schießle
575a68074f Merge pull request #6220 from owncloud/debug_oracle_errors
cherry-picks from #5884, just for debugging purpose
2013-12-06 10:00:04 -08:00
Bart Visscher
40f148cc6c Don't try to encrypt a file when the temp file isn't created 2013-12-06 17:01:13 +01:00
Bjoern Schiessle
9ff231590c set unencrypted_size to 0 after decryption... so that the unencrypted_size gets re-calculated if encryption was enabled again 2013-12-06 16:11:41 +01:00
Bjoern Schiessle
9371944e43 fix typo 2013-12-06 12:20:42 +01:00
Bjoern Schiessle
85467b973a add method to check if users private/public key exists 2013-12-06 12:20:14 +01:00
Morris Jobke
36bc6b871f Revert "Adjust files_encryption requirements to the new core requirement (PHP 5.3.8)."
This reverts commit efbf18652c.
2013-12-04 13:27:38 +01:00
Andreas Fischer
efbf18652c Adjust files_encryption requirements to the new core requirement (PHP 5.3.8). 2013-11-29 20:34:57 +01:00
Bjoern Schiessle
1065c33543 Merge branch 'master' into encryption_initial_enc_indicator 2013-11-27 16:44:06 +01:00
Bjoern Schiessle
060e0ad0cd with the latest changes in master $this-userID is always the correct ID, so we no longer need the extra parameter 2013-11-27 15:35:32 +01:00
Bjoern Schiessle
9fb71af988 Merge branch 'master' into encryption_enable_public_upload
Conflicts:
	apps/files_encryption/lib/helper.php
	apps/files_encryption/lib/keymanager.php
	apps/files_encryption/lib/stream.php
	apps/files_encryption/lib/util.php
	apps/files_encryption/tests/keymanager.php
2013-11-27 15:08:09 +01:00
Bjoern Schiessle
7f2bdb0e97 typo fixed 2013-11-27 12:25:04 +01:00
Bjoern Schiessle
7f3b178d73 some small changes according to the review comments 2013-11-27 11:46:24 +01:00
Bjoern Schiessle
35a6ad255d fix typo in var name 2013-11-26 11:38:45 +01:00
Bjoern Schiessle
d6fb2afa85 show a message at the log-in screen if inital encryption take place 2013-11-25 23:49:05 +01:00
Bjoern Schiessle
9c4b8ae54c fix typo in comment 2013-11-25 10:29:05 +01:00
Bjoern Schiessle
6443e570c2 Merge branch 'encryption_work_with_public_gallery' into encryption_enable_public_upload 2013-11-21 16:00:21 +01:00
Bjoern Schiessle
d2e6f7d979 check HTTP Referer to check if we come from public.php or from a internal page.
Necessary to detect public access also if a user is logged in.
2013-11-21 15:57:49 +01:00
Bjoern Schiessle
87f2696e6a Merge branch 'encryption_work_with_public_gallery' into encryption_enable_public_upload 2013-11-21 11:18:53 +01:00
Bjoern Schiessle
c7dc6dc2c2 fix getFileKey() call 2013-11-21 11:11:15 +01:00
Bjoern Schiessle
009bbef17e Merge branch 'encryption_work_with_public_gallery' into encryption_enable_public_upload 2013-11-21 10:34:25 +01:00
Bjoern Schiessle
16b484209c Merge branch 'master' into encryption_work_with_public_gallery
Conflicts:
	apps/files_encryption/lib/keymanager.php
	apps/files_encryption/lib/stream.php
	apps/files_encryption/lib/util.php
	apps/files_encryption/tests/crypt.php
2013-11-21 10:33:37 +01:00
Bjoern Schiessle
18c80e47b6 Merge branch 'encryption_work_with_public_gallery' into encryption_enable_public_upload
Conflicts:
	apps/files_encryption/lib/stream.php
2013-11-21 10:24:47 +01:00
Bjoern Schiessle
2b361ea085 better distinction between userID and keyId 2013-11-21 10:09:07 +01:00
Bjoern Schiessle
b27fc42e1f public upload now also works with encryption enabled 2013-11-21 00:23:38 +01:00
Bjoern Schiessle
b9c18d16fe make sure that we always use the correct user id 2013-11-20 23:23:23 +01:00
Bjoern Schiessle
e11afd3066 fix some getShareKey() and getFileKey() calls 2013-11-20 22:44:23 +01:00
Bjoern Schiessle
c5cb4206f5 [wip] make encryption work with public gallery sharing 2013-11-20 18:10:56 +01:00
Vincent Petry
5de5c317c1 Merge pull request #5967 from owncloud/encryption-extstorage-fixsizereset
Fix for extstorage + encryption where unencrypted size is not kept
2013-11-20 09:04:37 -08:00
Vincent Petry
fe44024868 Fix for extstorage + encryption where unencrypted size is not kept
Fix for external storage with encryption where the unencrypted size is
first written in the DB, then set back to zero, causing performance
issue because the file needs to be reopened every time to find out the
unencrypted size (and potentially needs a full redownload)
2013-11-20 16:22:55 +01:00
Bjoern Schiessle
f3e2a63712 check if it is a cached file or a version to resolve the correct path to the file key 2013-11-20 12:34:23 +01:00
Bjoern Schiessle
0c24c7c420 only check if the key file exists to decide if it is an encrypted file or not.
This solves problems with external storage which doesn't support fseek
2013-11-20 11:02:22 +01:00
Bjoern Schiessle
b823505bd1 make sure that the owners home is mounted correctly 2013-11-19 18:28:51 +01:00
Vincent Petry
d306f5c4cf Merge pull request #5908 from owncloud/fix_errorpage_call
[encryption] fix redirectToErrorPage() call
2013-11-18 05:17:28 -08:00
Bjoern Schiessle
82f30d37ca call error page with session as parameter 2013-11-17 13:23:07 +01:00
Björn Schießle
3ad546002f Merge pull request #5833 from owncloud/encryption_fixes
[encryption] preserve timestamps and etags during encryption/decryption
2013-11-15 08:47:22 -08:00
Bjoern Schiessle
faa08da944 instead of writing etmp files we write the dummy file to data/user/cache to avoid that etmp files show up in the users files list 2013-11-14 17:32:21 +01:00
Bjoern Schiessle
222fa88eec Merge branch 'master' into encryption_fixes 2013-11-13 12:11:12 +01:00
Vincent Petry
3fa651f2b1 Merge pull request #5447 from owncloud/fixing-5117-master
No data corruption duriing parallel upload
2013-11-13 02:59:34 -08:00
Bjoern Schiessle
dd0ebcede2 fixPartialFilePath() is now stripPartialFileExtension() 2013-11-12 18:48:31 +01:00
Bjoern Schiessle
77429c28fd rename fixPartialFilePath() to stripPartialFileExtension(), this name describes better what the method actually does 2013-11-12 16:48:24 +01:00
Bjoern Schiessle
e2fb8d7128 only update file cache if the file is already indexed to avoid that we create a incomplete file cache entry 2013-11-12 15:55:59 +01:00
Bjoern Schiessle
894856ce01 make sure that we keep the correct timestamp and etag after encryoption/decryption 2013-11-12 15:51:51 +01:00
Bjoern Schiessle
9f10f15fd4 fixing tests for the new part file handling 2013-11-12 10:24:10 +01:00
Bjoern Schiessle
802213f7ec let encryption app detect transfer id in path and handle it correctly 2013-11-11 17:47:59 +01:00
Vincent Petry
e246e2b669 Fixed encryption migration when entry is missing in DB
When resetting the DB and some users still have encrypted files, the
migration state isn't read properly becaue the migration entries are
missing. This causes the wrong file size to be returned.

This fix inserts the missing migration entry when this condition is met.

Fixes #5541
2013-10-25 15:38:35 +02:00
Markus Goetz
af58360434 files_encryption: Fix getFileSize()
For certain file sizes, we rounded to the wrong chunk number
and the returned bogus results. This should fix
https://github.com/owncloud/mirall/issues/1009

Conflicts:
	apps/files_encryption/tests/util.php
2013-10-23 16:28:43 +02:00
Bjoern Schiessle
eb348b776c set the init status to "NOT_INITIALIZED" if the encryption app gets enabled 2013-10-22 16:15:24 +02:00
Björn Schießle
9f8d52ee44 Merge pull request #5329 from owncloud/enc_fix_unencrypted_size
try to fix unencrypted file size if it doesn't look plausible
2013-10-16 02:25:28 -07:00
Bjoern Schiessle
6bfd8bdf63 revert last changes 2013-10-16 11:24:56 +02:00
Bjoern Schiessle
0811d2e304 added another test, if unencrypted size and encrypted size are equal we can also assume that something is wrong 2013-10-15 17:52:06 +02:00
Bjoern Schiessle
d3af7a9aa4 check if we are writing to user/files, otherwise skip encryption 2013-10-14 17:13:14 +02:00
Bjoern Schiessle
58196304b8 fix array key 2013-10-14 16:43:18 +02:00
Bjoern Schiessle
4151fd3ed9 try to fix unencrypted file size if it doesn't look plausible 2013-10-14 16:34:14 +02:00
Bjoern Schiessle
39d710e737 block file access if share keys are missing 2013-10-11 14:20:46 +02:00
Bjoern Schiessle
909af2b62e don't cache if the encryption is enabled, this can lead to problems during unit testing 2013-10-10 15:02:52 +02:00
Bjoern Schiessle
38e5da05af only encrypt file to users with encryption keys 2013-10-09 15:56:21 +02:00
Björn Schießle
2cdf54b77d Merge pull request #4877 from owncloud/ocs_share_api
OCS Share API
2013-10-04 07:10:21 -07:00
Bjoern Schiessle
4d79e7e673 Merge branch 'master' into encryption_improved_error_messages_4617 2013-09-30 15:08:53 +02:00
Bjoern Schiessle
62b8c36a40 check if encryption app is enabled before trying to calculate file size 2013-09-26 16:27:14 +02:00
Bjoern Schiessle
0b98427536 fix check if app is enabled 2013-09-25 19:23:07 +02:00
Bjoern Schiessle
71bbb2ea8b check if key exists before reading it 2013-09-25 17:44:05 +02:00
Bjoern Schiessle
f6e8a388a9 Merge branch 'master' into encryption_improved_error_messages_4617
Conflicts:
	settings/ajax/changepassword.php
2013-09-23 10:39:12 +02:00