Commit Graph

661 Commits

Author SHA1 Message Date
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
Bjoern Schiessle b2dde14dbc coding style fixes 2013-09-06 16:07:18 +02:00
Bjoern Schiessle 93f4dec798 fix part file handling and real size calculation, this should also solve #4581
Conflicts:
	apps/files_encryption/lib/stream.php
2013-09-06 16:06:34 +02:00
Bjoern Schiessle f6830e7462 check shares for the real file and not for the .part file 2013-09-06 16:05:11 +02:00
Bjoern Schiessle 404e36323a first check if a extension exists before comparing it 2013-09-06 16:05:03 +02:00
Bjoern Schiessle 597a3cf1ad handle part files correctly 2013-09-06 16:04:56 +02:00
Bjoern Schiessle 1558cb860c remove test code 2013-09-06 13:16:48 +02:00
Bjoern Schiessle fb462e83cc no longer enforce log out, but provide useful errors/warnings instead 2013-09-06 12:27:40 +02:00
Arthur Schiwon c01675de5d more is_resource checks before readdir 2013-09-05 11:58:57 +02:00
Bjoern Schiessle 3d49631b8d make sure that initial encryption also starts for a fresh installation 2013-09-03 13:24:30 +02:00
ringmaster 39f4538e0f This function doesn't cache anymore. Adjusted PHPDoc to suit. 2013-09-02 09:59:01 -04:00
ringmaster df7bfa4bf0 Don't cache the pkey, skip generation if the keyfile exists 2013-09-02 09:59:00 -04:00
Owen Winkler 9a263a500a Employ config option for OpenSSL config file, if provided.
This should help make OpenSSL configuration on Windows servers easier by allowing the openssl.cnf file to be set directly in the ownCloud config, rather than in SetEnv commands that don't exist and are hard to replicate in IIS.
2013-09-02 09:59:00 -04:00
Owen Winkler fb34f49913 Start a branch for easier OpenSSL configuration. 2013-09-02 09:58:19 -04:00
Bjoern Schiessle 5e508f1ccb improved documentation of the methods 2013-09-02 11:34:28 +02:00
Bjoern Schiessle bab63c22ee encryption error messages, distinguish between a re-enabled encryption app and a password change from outside 2013-09-02 11:26:11 +02:00
Bjoern Schiessle d7dca966a2 improved error messaging, initial commit 2013-08-30 10:17:50 +02:00
Thomas Müller 582b33bdf1 Merge pull request #4537 from owncloud/no-realpath
Do not use realpath() on includes.
2013-08-22 01:50:31 -07:00
Andreas Fischer 83afb46205 Use __DIR__ instead of dirname(__FILE__).
This is possible because we require PHP 5.3 or higher.
2013-08-21 11:01:24 +02:00
Andreas Fischer 9753e44ac2 Do not use realpath() on includes.
If the file does not exist, realpath() returns false and "include false;"
produces "Failed opening '' for inclusion" which is a useless error message.

'include' works just fine with symlinks, "./" and "../".
2013-08-21 10:52:22 +02:00
Björn Schießle 9be836814c Merge pull request #4239 from owncloud/decrypt_files_again
Enable user to decrypt files again after encryption app was disabled
2013-08-18 09:51:48 -07:00
Bjoern Schiessle 1be11bb03d don't change the etags if a file gets encrypted/decrypted to avoid that the sync client downloads all files again 2013-08-18 11:21:01 +02:00
kondou 9e8a6b704d Add _many_ newlines at the end of files 2013-08-18 11:06:59 +02:00
Bjoern Schiessle cabe92ef12 Merge branch 'master' into decrypt_files_again
Conflicts:
	apps/files_encryption/tests/keymanager.php
2013-08-17 13:15:22 +02:00
Björn Schießle d3e2f31ada Merge pull request #4352 from owncloud/encryption_clean_up
crypt.php clean up
2013-08-17 04:10:15 -07:00
Bjoern Schiessle 7adfc27caf remove whitespaces and some leftover code from testing 2013-08-15 13:13:16 +02:00
Bjoern Schiessle 7b1067c2a0 change decryptUnknownKeyfile() to decryptKeyfile(), we always use openssl_seal 2013-08-12 16:19:08 +02:00
Bjoern Schiessle 0bab8935c9 preserve mtime if file gets encrypted/decrypted 2013-08-12 14:30:43 +02:00
Bjoern Schiessle b982868c14 fix array declaration 2013-08-12 13:59:49 +02:00
Bjoern Schiessle 44d201a526 Merge branch 'encryption_clean_up' of github.com:owncloud/core into encryption_clean_up 2013-08-09 15:57:07 +02:00