Commit Graph
87 Commits
Author SHA1 Message Date
Sebastian Stenzel cbb669aa40 reduced visibility of some classes 2016-02-28 17:49:21 +01:00
Sebastian Stenzel 7cb435e517 support for RFC 4331: DAV:quota-available-bytes and DAV:quota-used-bytes
references #97; quota calculation in NIO filesystem still missing
2016-02-23 18:13:19 +01:00
Sebastian Stenzel d926cbfd5c removed unused import [ci skip] 2016-02-22 23:49:27 +01:00
Sebastian Stenzel c03bdd8425 - decrypt whole file, don't stop if enough data has been read from underlying fs
- write "length = 0" into file header until everything is encrypted

(tested on windows, everything is fine here)
2016-02-22 23:06:02 +01:00
Sebastian Stenzel 5b22806bbc fixed writing short ciphertext to file, that existed with a longer ciphertext before but wasn't truncated 2016-02-22 19:07:02 +01:00
Sebastian Stenzel 1467c8315c - moved method from WritableFile to File: moveTo, setLastModified, setCreationTime, delete
- moved method from File and Folder to Node: setLastModified, setCreationTime, delete
2016-02-22 16:42:31 +01:00
Sebastian Stenzel e6a9786b7a minor bytebuffer allocation optimization 2016-02-22 14:58:27 +01:00
Sebastian Stenzel ae7e865c24 fixed unit test 2016-02-22 13:12:36 +01:00
Sebastian Stenzel c8df03a085 added test to check authentication errors in file headers 2016-02-22 13:08:58 +01:00
Sebastian Stenzel 7bc678d4dc - don't write encrypted file header, if no actual write happens inside of an encrypted writable file (temporary workaround only!)
- reduced loglevel
2016-02-21 23:34:03 +01:00
Markus Kreusch 391d8013b5 Fixed CryptoWritableFile errors when reading from moved file
* CryptoWritableFile no longer writes header with zero size if file is
opened for writing
* Refactored FileContentDecryptor: Using Supplier<Mac> instead of
ThreadLocal<Mac>
* Fixed InMemoryWritableFile: No longer open after moveTo
2016-02-21 21:33:35 +01:00
Sebastian Stenzel c7c4dd4581 added file size obfuscation padding 2016-02-21 00:20:57 +01:00
Sebastian Stenzel 7f313772e5 fixed random access positioning 2016-02-20 14:10:46 +01:00
Sebastian Stenzel 3a82dfb23f - fixed return value of readBlockAligend
- adjusted loglevel of BlockAlignedWritableFile
[ci skip]
2016-02-20 12:34:14 +01:00
Sebastian Stenzel b85a110a24 - report authentication error on the UI
- reduced visibility of some classes
2016-02-18 16:39:34 +01:00
Sebastian Stenzel f93d32c6fb faster directory moving (no recursive iteration on filesystem needed any longer) 2016-02-17 12:05:16 +01:00
Sebastian Stenzel a909095a1c Fixed reuse of directory-IDs after moving encrypted directories but keeping references to the old locations.
This caused an illegal state where two different directories share the same directory id, making further file operations on these directories virtually impossible.
2016-02-15 23:31:09 +01:00
Sebastian Stenzel 03208ebc5e fixed CryptoFolder (damn partial commits...) 2016-02-15 22:39:52 +01:00
Sebastian Stenzel c41225eab6 Code simplification 2016-02-15 22:34:11 +01:00
Sebastian Stenzel 2725b6b920 not spawning new threadpools for each individual encryption/decryption job anymore 2016-02-15 16:35:30 +01:00
Markus Kreusch 8cdb6d0eab Fixed CryptoFileSystem
* avoid creation of a file and folder with equal names
2016-02-14 23:07:55 +01:00
Sebastian Stenzel 752601f4da further crypto layer optimizations for WebDAV compliance 2016-02-14 20:50:42 +01:00
Sebastian Stenzel cf64a6c425 fixed webdav copy/move [ci skip] 2016-02-14 00:26:47 +01:00
Sebastian Stenzel f0cb91b22f - separated crypto filesystem and nameshortening filesystem for easier invariant testing
- creation of crypto filesystem only via DI in all integration tests (package-private constructor)
- new Maven module "filesystem-crypto-integration-tests" for tests as well as to provide a ready-to-use Dagger Component for integration tests in other modules.
2016-02-13 14:33:16 +01:00
Sebastian Stenzel a1a81cc0ba ROOT directory file no longer needed. root directory id is now "" by convention. 2016-02-08 21:53:24 +01:00
Sebastian Stenzel 853744002c prohibiting block swapping by adding file-IV and blocknumber to MAC 2016-02-08 18:47:02 +01:00
Sebastian Stenzel 4d2a786504 new vault-internal file extensions (no extension at all for files, "_" suffix for directories) 2016-02-08 15:17:50 +01:00
Sebastian Stenzel e5d095606f chunk layout version 3 (random nonce per block) 2016-02-08 13:57:19 +01:00
Sebastian Stenzel 4a60e94183 version 3 header (no nonce, CTR mode) 2016-02-08 13:14:20 +01:00
Sebastian Stenzel eb1b4a9fe3 updated license header 2016-01-29 02:09:10 +01:00
Sebastian Stenzel 0dc30c27d9 added crypto file system tests 2016-01-28 19:49:20 +01:00
Sebastian Stenzel b2a37c4b95 - read XOR write during BlockAlignedWritableFile (not r+w at the same time)
- simplified DelegatingFileSystem
2016-01-27 20:14:51 +01:00
Sebastian Stenzel a972480e72 supporting change password again - now via CryptoFileSystemFactory 2016-01-27 18:21:47 +01:00
Sebastian Stenzel c56d0b7d4a first compile-clean attempt to integrate the layered I/O subsystem with the existing UI 2016-01-26 20:17:33 +01:00
Markus Kreusch f081e7d3ea Removed SharedFileChannel transferTo and corresponding methods
* Removed from SharedFileChannel and Test
* Refactored Copier#copy(File,File) to sequence of truncated, followed
by looping read and write till EOF
* Changed tests accordingly
* Implemented CryptoWritableFile#truncate to make things work
2016-01-24 22:14:06 +01:00
Sebastian Stenzel 2e5264bac2 support for forced decryption ignoring failed authentication 2016-01-23 16:49:04 +01:00
Sebastian Stenzel a6bbc0ed44 - CryptoFS + InMemory Benchmark test
- faster growing in-memory files
2016-01-23 02:07:13 +01:00
Sebastian Stenzel cd72dae0d7 pass I/O exceptions on producer side to the consumer, so that decryption fails, if reading the decrypted file fails. 2016-01-17 21:44:47 +01:00
Sebastian Stenzel 9278426131 forgot one place in commit fa35b63 [ci skip] 2016-01-16 01:18:23 +01:00
Sebastian Stenzel fd98f0a69f pass though IOExceptions from writer thread during close() [ci skip] 2016-01-16 01:09:10 +01:00
Sebastian Stenzel fa35b63b6d same InterruptedIOException in all cases 2016-01-16 01:00:57 +01:00
Markus Kreusch 51f5b6661f Adjusted fix for issue in CryptoFileSystem when deleting a file
* CryptoWritableFile now only invokes writeTaks.get if not already
closed
* CryptoWritableFile now cancels writeTask before delete
2016-01-16 00:47:13 +01:00
Markus Kreusch 1a9ac16256 Additional filesystem-invariants-tests
* added tests
* fixed issue in CryptoFileSystem when deleting a file
** FileContentEncryptorImpl now does not submit an empty cleartext
buffer when receiving EOF
** CryptoWritableFile now only writesHeader on close if the file is
still open
2016-01-15 23:54:21 +01:00
Markus Kreusch b330148b5f Avoid loosing exception stacktrace 2016-01-15 21:46:40 +01:00
Markus Kreusch 20e7f4a548 Added FolderChildrenTests and FolderTests
* implemented some testcases
* fixed some issues
2016-01-15 19:13:46 +01:00
Sebastian Stenzel 3b178030c7 - Fixes #128 and #119 by using unique directory id as associated data during filename encryption/decryption
- Using WeakValuedCache in all filesystem layers to prevent "twin" instances of the same folder
- Merge branch 'layered-io' of https://github.com/cryptomator/cryptomator into layered-io
2016-01-10 16:27:56 +01:00
Sebastian Stenzel b2d425e11f added possibility to add associated data to filename encryption (references #128, #119) 2016-01-10 13:39:12 +01:00
Markus Kreusch 5ff4f4c9c7 Changed handling of creation time
* creationTime now creates an Optional
* Removed FileSystem#supports and FileSystemFeature
2016-01-09 19:15:07 +01:00
Sebastian Stenzel fcf4476ae3 Added ReadableFile#size() 2016-01-09 16:39:14 +01:00
Sebastian Stenzel 0c42392244 Make delegating folders create their parents during own creation if they don't exist yet. 2016-01-09 01:22:27 +01:00