| Age | Commit message (Collapse) | Author | 
|---|
|  | This is how this should be done as well in future test scripts. | 
|  | The last patch added functionality for generating gocryptfs.longname.*
files, this patch adds support for mapping them back to the full
filenames.
Note that resolving a long name needs a full readdir. A cache
will be implemented later on to improve performance. | 
|  |  | 
|  | As ReadDirIV operates on a path anyway, opening the directory
has no clear safety advantage w.r.t. concurrent renames.
If the backing directory is a reverse-mounted gocryptfs filesystem,
each directory open is an OPENDIR, and this causes a full directory
read!
This patch improves the "ls -lR" performance of an
  DIR --> gocryptfs-reverse --> gocryptfs
chain by a factor of ~10.
OPENDIR counts for ls -lR:
  Before 15570
  After   2745 | 
|  | With the generic fmt.Errorf we trigger a warning from go-fuse:
  2016/09/21 21:42:31 can't convert error type: Invalid padding | 
|  | ...with stable mappings for hard-linked files. | 
|  | Also add ReverseDummyNonce nonce generation. | 
|  |  | 
|  |  | 
|  | And also don't return the encrypted version of
.gocryptfs.reverse.conf in readdir. | 
|  |  | 
|  |  | 
|  | Trying to make it more obvious what is happening. | 
|  | The main function has gotten way too big. | 
|  |  | 
|  |  | 
|  | Should be derived from the directory name only. | 
|  | Also refactor the header generation for nicer code. | 
|  | Introduce a unique per-directory diriv that is generated
by hashing the encrypted directory path. | 
|  | Also create virtual gocryptfs.diriv entries (no content yet). | 
|  | Will be needed by reverse mode. | 
|  |  | 
|  | ... and print a warning that reverse mode is experimental | 
|  | ...to prevent confusion with the forward variants.
FS   -> reverseFS
file -> reverseFile
Also add an incomplete read implementation. | 
|  | Add the reverse variant of DecryptBlocks etc:
* EncryptBlocks
* JointPlaintextRange
* ExplodeCipherRange | 
|  |  | 
|  | Previously caused an integer underflow. | 
|  | Compiles but does not do much else. | 
|  |  | 
|  | Commit af5441dcd9033e81da43ab77887a7b5aac693ab6 has caused a
regression ( https://github.com/rfjakob/gocryptfs/issues/35 )
that is fixed by this commit.
The go-fuse library by now has all the syscall wrappers in
place to correctly handle Utimens, also for symlinks.
Instead of duplicating the effort here just call into go-fuse.
Closes #35 | 
|  | This currently fails as reported in
https://github.com/rfjakob/gocryptfs/issues/35 .
Also remove the spurious sleep in the test. | 
|  | This fixes a build problem on 32-bit hosts:
  internal/fusefrontend/file.go:400: cannot use a.Unix() (type int64) as
  type int32 in assignment
  internal/fusefrontend/file.go:406: cannot use m.Unix() (type int64) as
  type int32 in assignment
It also enables full nanosecond timestamps for dates
after 1970. | 
|  | Make sure setting nanoseconds works by path and fd. | 
|  |  | 
|  | Drone CI may make sense in the future when I set up a private
instance that supports FUSE, but for now it provides no advantages
to Travis CI. | 
|  |  | 
|  | This obsoletes loopback-mem.bash. | 
|  | "canonical-benchmarks.bash TESTDIR"
can now be used on any filesystem. | 
|  | Simple script that finds out the maximum supported filename
length. | 
|  | Helps to find memory leaks in go-fuse's loopback, which
gocryptfs builds upon. | 
|  | loopback is an example app that comes with the go-fuse lib.
It uses all the same APIs as gocryptfs, minus the encryption. | 
|  | Pass "-encfs" to test encfs instead of gocryptfs. | 
|  |  | 
|  |  | 
|  | This should make it work on OSX.
Also, split unmount into two functions. Depending on what you
want,
* UnmountErr returns the resulting error
* UnmountPanic panics if the error was not nil | 
|  | Thanks to @spaghetti2514 for noticing. | 
|  |  | 
|  |  | 
|  | "go tool vet -shadow=true" complained about the md5 package
being shadowed by variables called "md5".
Fix by using the Md5hex helper and dropping the md5 import. | 
|  | On Linux, Blksize is already int64. But on OSX
it is int32 and that caused a compile failure.
https://github.com/rfjakob/gocryptfs/issues/15 |