Commit Graph

152 Commits (master)

Author SHA1 Message Date
Mark Pariente 7c8fd64e0d Handle malformed file names in BFDS.decryptImpl()
In case there is a file on the volume storage that is exactly two bytes
long, BasicFilenameDecryptionStrategy.decryptImpl() will end up with a
zero length encFileName which will trigger unhandled exceptions from
EncFSCrypto calls. Handle the exception in decryptImpl() instead.
2014-12-01 00:38:14 -08:00
Mark Pariente 489f3f607a EncFSInputStream.read() result should be positive
According to java.io.InputStream spec read() needs to normalize the
value of the returned byte to be between 0-255.

Fixes mrpdaemon/encfs-java#57
2014-11-27 02:15:52 -08:00
Mark Pariente 5f477a9aee Fix unicode issue in EncFSCrypto.getBytesForBlockAlgorithm()
When computing padding length for chainIv computation we were directly
using the string length as byte length. Unicode files have different
byte length than their string lengths, resulting in incorrect chainIv
being computed and throwing EncFSChecksumException on valid files. Fix
uses the correct byte count and works fine for unicode file names.
2014-02-17 23:02:52 -08:00
Mark Pariente ba584a9a49 Remove passwordLen from EncFSPBKDF2Provider.doPBKDF2() 2014-02-17 21:30:21 -08:00
Mark Pariente d1d14bea35 Handle race in EncFSLocalFileProvider.listFiles()
It's possible for the source directory to be deleted after the
isDirectory() check but before the File.listFiles() call, so we should
handle this case by throwing an exception.
2013-10-24 00:31:58 -07:00
Mark Pariente ac2311c729 Fix decoding of malformed file names
It's possible for a malformed file name to result in a decoded file
name that is smaller than 2 bytes. The fix is to catch the exception and
throw an EncFSCorruptDataException.
2013-05-23 22:11:18 -07:00
Mark Pariente dbd64b5ee7 Fix formatting 2013-05-03 00:20:26 -07:00
Mark Pariente cc1a1b6316 Rename derivedPassword -> derivedKeyData 2013-03-09 20:15:00 -08:00
Mark Pariente 7eac39ff60 Comment, visibility and naming fixes 2013-02-24 22:56:13 -08:00
Mark Pariente d3f11ff3a0 Rename EncFSAlgorithm -> EncFSFilenameEncryptionAlgorithm 2013-02-24 18:38:16 -08:00
Mark Pariente dc1303866e Comment fixes and renaming in EncFSVolume 2013-02-24 18:21:19 -08:00
Mark Pariente 6f862ab1ac Make EncFSVolume.countFiles() public again 2013-02-24 17:22:39 -08:00
Mark Pariente 4d15e95371 Make EncFSFileOutputStream public again 2013-02-24 17:19:06 -08:00
Mark Pariente 4e0c38a2a6 Rename {Block|Stream}Cryptography -> {Block|Stream}Crypto 2013-02-22 21:51:28 -08:00
Mark Pariente 8ffdf7d5da NotNull -> Basic Filename{Encryption|Decryption}Strategy 2013-02-22 21:43:07 -08:00
Mark Pariente 8f0698b0d6 Don't require org.slf4j.Logger in the library 2013-02-22 21:37:28 -08:00
Mark Pariente 06ea3755dd Fix complier warnings 2013-02-22 21:18:19 -08:00
Mark Pariente 716555ab51 Fix formatting 2013-02-22 21:04:17 -08:00
Lars Gohlke 43a8b748cf more cleanups 2013-02-18 00:21:43 +01:00
Lars Gohlke a5cde51f04 reduced flag arguments 2013-02-18 00:12:56 +01:00
Lars Gohlke eabe5b5902 cleanup many inspection things 2013-02-17 23:51:59 +01:00
Lars Gohlke f42c0460f0 moved stream things out of EncFSCrypto 2013-02-17 23:37:13 +01:00
Lars Gohlke 8a5acc39bc moved volume key things out of EncFSCrypto 2013-02-17 23:32:05 +01:00
Lars Gohlke 6ad59dd3f5 moved filename encoding out of EncFSCrypto 2013-02-17 23:15:36 +01:00
Lars Gohlke ab800962fb moved block-operations out of EncFSCrypto 2013-02-17 22:44:10 +01:00
Lars Gohlke 73355ac0a3 refactored FilenameDecryption 2013-02-17 22:32:03 +01:00
Lars Gohlke cdf8275e69 move Volume creation into the Builder 2013-02-17 21:06:52 +01:00
Lars Gohlke c50d0500b2 cleanup 2013-02-17 19:48:15 +01:00
Lars Gohlke f0b1714ec7 cleanup 2013-02-17 19:25:34 +01:00
Lars Gohlke 8614e3f4ec added fail test for EncFSAlgorithm 2013-02-17 19:21:20 +01:00
Lars Gohlke 010631b166 created Builder for EncFSVolume 2013-02-17 19:09:47 +01:00
Lars Gohlke 48d520e4c1 removed duplication 2013-02-17 17:24:46 +01:00
Lars Gohlke 24eb9121e2 reformatted all 2013-02-17 17:18:14 +01:00
Lars Gohlke 82150ae423 removed @throws javadocs 2013-02-17 17:16:20 +01:00
Lars Gohlke 6c5757f1f9 cleanup 2013-02-17 17:04:35 +01:00
Lars Gohlke 556dd427b7 simplified exceptions 2013-02-17 16:59:28 +01:00
Lars Gohlke a8566ff42b cleanup EncFSFileProvider.java 2013-02-17 16:06:36 +01:00
Lars Gohlke c72cc51d02 cleaned up EncFSConfig.java 2013-02-17 15:32:03 +01:00
Lars Gohlke b6e8363de2 cleanup 2013-02-17 14:23:33 +01:00
Lars Gohlke 0ccb480b13 Revert "reformatted code"
This reverts commit 23c1e5d78c.
2013-02-17 13:57:37 +01:00
Lars Gohlke 23c1e5d78c reformatted code 2013-02-17 13:39:27 +01:00
Lars Gohlke e2706e37c4 cleanup of exceptions 2013-02-17 13:38:24 +01:00
Lars Gohlke 8ec6533bc2 cleanup of EncFSUtil 2013-02-17 13:21:09 +01:00
Mark Pariente 50c4ca3b3f Fix bad input handling in EncFSBase64.decodeEncfs()
Since java treats the byte type as signed when used as an array index it
is possible for values >= 128 to cause ArrayIndexOutOfBoundsException.
Fix handling in EncFSBase64.decodeEncfs() to not crash with such bad
input.
2013-01-30 23:23:16 -08:00
Joscha Feth 2baa3380d1 fix c&p typo 2013-01-20 02:49:58 +01:00
Mark Pariente 09c7dcebc4 Fix crash in EncFSLocalFileProvider.listFiles()
Handle the case where the given path is not a directory by throwing an
IOException. Previously this would result in a NullPointerException.
2012-12-27 15:14:45 -05:00
Mark Pariente f02bca7e9e Custom PBKDF2 provider implementation 2012-11-19 01:10:52 -08:00
Mark Pariente ac206ef549 Validate config dependencies for externalChainIv
UniqueIV and ChainedNameIV are required for externalChainIV.
2012-10-14 17:17:35 -07:00
Mark Pariente 9077078751 Add copy/move support using externalIvChaining 2012-10-14 17:17:35 -07:00
Mark Pariente 7ca1633809 Add support for externalIvChaining in EncFS{Input|Output}Stream
This commit implements support for externalIvChaining in
EncFSInputStream and EncFSOutputStream which causes a file's volume path
to change the initialization vector (IV) which is used for encrypting
and decrypting the file contents.
2012-10-14 16:59:32 -07:00