Commit Graph

75 Commits

Author SHA1 Message Date
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
Markus Kreusch
415423abd7 Added creation time
* Getter and setter for files and folders
* A way to determine if a file system supports creation dates
* WebDav compliant implementation in jackrabbit-adapter
* Tests
2016-01-09 00:51:25 +01:00
Sebastian Stenzel
a8f53b7084 Increased performance of non-random-access read/write by switching to block-aligned mode only when necessary. 2016-01-06 10:50:31 +01:00
Markus Kreusch
3f44d9bb66 Added project filesystem-invariants-tests
* Implemented some tests to be run on multiple implementations to
demonstrate how such tests can be implemented
* Detected problems with CryptoFileSystem(NioFileSystem)
* Made CryptoFileSystem and CryptorImpl public / constructible from
other packages
2016-01-06 01:51:46 +01:00
Sebastian Stenzel
ddf6353729 Using DI to stack up filesystem layers 2016-01-05 16:55:52 +01:00
Sebastian Stenzel
b31f6a0aec fixed another test, but not that important. thus [ci skip] 2016-01-04 21:32:11 +01:00
Sebastian Stenzel
f75cf48d7b fixed that test... 2016-01-04 21:03:09 +01:00
Sebastian Stenzel
578f52f4ba cleanup, attempt to fix test 2016-01-04 20:46:10 +01:00
Sebastian Stenzel
ae55874709 Random Access Decryption 2016-01-04 20:31:49 +01:00
Sebastian Stenzel
f46a79fa63 Added test for AuthenticationFailedException during filename decryption 2016-01-02 14:40:17 +01:00
Sebastian Stenzel
0c2caf4469 Even more FifoParallelDataProcessor simplification + test 2016-01-01 16:15:36 +01:00
Sebastian Stenzel
9665ca8dff Simplified FifoParallelDataProcessor 2016-01-01 16:06:19 +01:00
Sebastian Stenzel
c3652a22a0 reject execution when shut down 2016-01-01 14:10:15 +01:00