Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-09-25 | reverse: add longname benchmark | Jakob Unterwurzacher | |
2016-09-25 | reverse: add longnameParentCache | Jakob Unterwurzacher | |
findLongnameParent has to read the whole directory to find the right file; add a simple cache to avoid most directory scans. | |||
2016-09-25 | tests: extractloop: use tmp dir based on script name | Jakob Unterwurzacher | |
This is how this should be done as well in future test scripts. | |||
2016-09-25 | reverse: resolve long names in Open and GetAttr | Jakob Unterwurzacher | |
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. | |||
2016-09-25 | reverse: transform long names in OpenDir | Jakob Unterwurzacher | |
2016-09-25 | nametransform: implement ReadDirIV without Openat | Jakob Unterwurzacher | |
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 | |||
2016-09-25 | nametransform: return EINVAL on invalid padding | Jakob Unterwurzacher | |
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 | |||
2016-09-25 | reverse: use dynamic inode numbers | Jakob Unterwurzacher | |
...with stable mappings for hard-linked files. | |||
2016-09-25 | contentenc: add GCM-SIV support | Jakob Unterwurzacher | |
Also add ReverseDummyNonce nonce generation. | |||
2016-09-25 | main: init: refuse overwriting .gocryptfs.reverse.conf | Jakob Unterwurzacher | |
2016-09-25 | cryptocore: add support for GCM-SIV | Jakob Unterwurzacher | |
2016-09-25 | reverse: fix GetAttr for gocryptfs.conf | Jakob Unterwurzacher | |
And also don't return the encrypted version of .gocryptfs.reverse.conf in readdir. | |||
2016-09-25 | reverse: enable init functionality | Jakob Unterwurzacher | |
2016-09-25 | main: move initDir into its own file | Jakob Unterwurzacher | |
2016-09-25 | main: add explicit exit after forkChild | Jakob Unterwurzacher | |
Trying to make it more obvious what is happening. | |||
2016-09-25 | main: factor out cli arg parsing | Jakob Unterwurzacher | |
The main function has gotten way too big. | |||
2016-09-25 | reverse: add gocryptfs.conf passthrough | Jakob Unterwurzacher | |
2016-09-25 | reverse: get rid of debug message | Jakob Unterwurzacher | |
2016-09-25 | reverse: gocryptfs.diriv content was generated from wrong path | Jakob Unterwurzacher | |
Should be derived from the directory name only. | |||
2016-09-25 | reverse: rename readFile to clearer readBackingFile | Jakob Unterwurzacher | |
Also refactor the header generation for nicer code. | |||
2016-09-25 | reverse: implement dynamic diriv | Jakob Unterwurzacher | |
Introduce a unique per-directory diriv that is generated by hashing the encrypted directory path. | |||
2016-09-25 | reverse: generate file header for Read() | Jakob Unterwurzacher | |
Also create virtual gocryptfs.diriv entries (no content yet). | |||
2016-09-25 | nametransform: export DirIVLen constant | Jakob Unterwurzacher | |
Will be needed by reverse mode. | |||
2016-09-25 | reverse: print value in file offset panic | Jakob Unterwurzacher | |
2016-09-25 | reverse: let the kernel enforce read-only mode | Jakob Unterwurzacher | |
... and print a warning that reverse mode is experimental | |||
2016-09-25 | reverse: rename types to reverseXYZ | Jakob Unterwurzacher | |
...to prevent confusion with the forward variants. FS -> reverseFS file -> reverseFile Also add an incomplete read implementation. | |||
2016-09-25 | contentenc: add helpers for reverse mode | Jakob Unterwurzacher | |
Add the reverse variant of DecryptBlocks etc: * EncryptBlocks * JointPlaintextRange * ExplodeCipherRange | |||
2016-09-25 | main: initial support for reverse mode | Jakob Unterwurzacher | |
2016-09-25 | conentenc: handle zero-sized files in PlainSizeToCipherSize | Jakob Unterwurzacher | |
Previously caused an integer underflow. | |||
2016-09-25 | reverse: add skeleton | Jakob Unterwurzacher | |
Compiles but does not do much else. | |||
2016-09-25 | tests: skip the nanosecond compare for now | Jakob Unterwurzacher | |
2016-09-25 | fusefrontend: relay Utimens to go-fuse | Jakob Unterwurzacher | |
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 | |||
2016-09-25 | tests: set the times on a symlink | Jakob Unterwurzacher | |
This currently fails as reported in https://github.com/rfjakob/gocryptfs/issues/35 . Also remove the spurious sleep in the test. | |||
2016-08-09 | fusefrontend: use NsecToTimespec() for Utimens | Jakob Unterwurzacher | |
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. | |||
2016-08-09 | tests: add TestUtimesNano | Jakob Unterwurzacher | |
Make sure setting nanoseconds works by path and fd. | |||
2016-07-31 | cryptocore: comment why 96-bit IVs are still supported | Jakob Unterwurzacher | |
2016-07-21 | Drop obsolete .drone.yml | Jakob Unterwurzacher | |
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. | |||
2016-07-17 | Update README for v1.0v1.0 | Jakob Unterwurzacher | |
2016-07-16 | tests: add RSS tracking to extractloop | Jakob Unterwurzacher | |
This obsoletes loopback-mem.bash. | |||
2016-07-16 | tests: factor out fs-agnostic benchmark script | Jakob Unterwurzacher | |
"canonical-benchmarks.bash TESTDIR" can now be used on any filesystem. | |||
2016-07-16 | tests: add maxlen.bash helper | Jakob Unterwurzacher | |
Simple script that finds out the maximum supported filename length. | |||
2016-07-14 | tests: add loopback-mem script | Jakob Unterwurzacher | |
Helps to find memory leaks in go-fuse's loopback, which gocryptfs builds upon. | |||
2016-07-12 | tests: extractloop: add loopback support | Jakob Unterwurzacher | |
loopback is an example app that comes with the go-fuse lib. It uses all the same APIs as gocryptfs, minus the encryption. | |||
2016-07-11 | tests: add encfs support to benchmark.bash and extractloop.bash | Jakob Unterwurzacher | |
Pass "-encfs" to test encfs instead of gocryptfs. | |||
2016-07-11 | tests: matrix: print name in verbose output | Jakob Unterwurzacher | |
2016-07-11 | tests: add verbose output when unmounting | Jakob Unterwurzacher | |
2016-07-11 | tests: use unmount wrapper in ResetTmpDir | Jakob Unterwurzacher | |
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 | |||
2016-07-10 | README: Fix ticket #15 copy-paste errors | rfjakob | |
Thanks to @spaghetti2514 for noticing. | |||
2016-07-06 | Add godoc comments to all internal packages | Jakob Unterwurzacher | |
2016-07-06 | README: update for 1.0-rc1v1.0-rc1 | Jakob Unterwurzacher | |