Commit Graph

690 Commits

Author SHA1 Message Date
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
Björn Schießle e0f18ec72b Merge pull request #4708 from owncloud/encryption_fixes
make sure that initial encryption also starts for a fresh installation
2013-09-18 01:33:52 -07:00
Bjoern Schiessle 82cbbb8ab8 Merge branch 'master' into encryption_improved_error_messages_4617
Conflicts:
	apps/files/index.php
2013-09-16 10:42:37 +02:00
Thomas Müller d5ddbfb045 Merge pull request #4719 from owncloud/port_4701_master
Always check variable type before using readdir to avoid surprises
2013-09-12 15:44:20 -07:00