| Age | Commit message (Collapse) | Author | 
|---|
|  | 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 | 
|  | OSX does not have /proc/cpuinfo, but let's not warn
the user about it. | 
|  | [...]/stupidgcm/locking.go:16:2:
  warning: indirection of non-volatile null pointer will
  be deleted, not trap [-Wnull-dereference]
  [...]/stupidgcm/locking.go:16:2:
  note: consider using __builtin_trap() or qualifying
  pointer with 'volatile'
https://github.com/rfjakob/gocryptfs/issues/15 | 
|  | fuse-xfstests is regularily rebased to xfstests master. | 
|  | Protip: find naked *at syscalls using:
   git grep "syscall." | grep "at(" | grep -v syscallcompat | 
|  | Also, replace remaining naked syscall.Openat calls. | 
|  |  | 
|  | Adds a poor man's renameat implementation for OSX. | 
|  | ...and convert all calls to syscall.{Fallocate,Openat}
to syscallcompat .
Both syscalls are not available on OSX. We emulate Openat and just
return EOPNOTSUPP for Fallocate. | 
|  | We will get more of them as OSX also lacks support for openat. | 
|  | $ gocryptfs -version
gocryptfs v0.12-36-ge021b9d-dirty; go-fuse a4c968c; 2016-07-03 go1.6.2 | 
|  | Also, mention that the shell may save the command line into the
history and reduce "ps -auxwww" to "ps ax" (that's all you need). | 
|  | unPad16 returns detailed errors including the position of the
incorrect bytes. Kill a possible padding oracle by lumping
everything into a generic error.
The detailed error is only logged if debug is active. | 
|  | Reported at https://github.com/rfjakob/gocryptfs/issues/15 | 
|  | Mode=0 (default) and mode=1 (keep size) are supported.
The patch includes test cases and the whole thing passed xfstests.
Fixes https://github.com/rfjakob/gocryptfs/issues/1 . | 
|  | These are large complicated implementations that will share some
code. | 
|  | The name could be misunderstood and actually caused a bug:
doWrite used to always preallocate 4128 instead of the actual
data length. | 
|  | We were growing the file block-by-block which was pretty
inefficient. We now coalesce all the grows into a single
Ftruncate. Also simplifies the code!
Simplistic benchmark: Before:
  $ time truncate -s 1000M foo
  real	0m0.568s
After:
  $ time truncate -s 1000M foo
  real	0m0.205s | 
|  |  | 
|  | XFS returns a different error code if you try to overwrite
a non-empty directory with a directory:
XFS:  mv: cannot move ‘foo’ to ‘bar/foo’: File exists
ext4: mv: cannot move 'foo' to 'bar/foo': Directory not empty
So have EEXIST trigger the Rmdir logic as well.
Fixes issue #20
Link: https://github.com/rfjakob/gocryptfs/issues/20 | 
|  | ...into "matrix" and "normal".
Also:
* Make running multiple packages in parallel safe, see
  http://stackoverflow.com/questions/23715302/go-how-to-run-tests-for-multiple-packages
* Don't depent on test_helper.TmpDir and friends to have a terminating slash | 
|  | Fixes issue #31
https://github.com/rfjakob/gocryptfs/issues/31 | 
|  | Run the tests twice, once with openssl and once with Go crypto. | 
|  | ...and add tests for checking that gocryptfs.diriv
does not get created.
The main "integration_tests" package has become quite
big and convoluted over time.
This small separate package should make writing tests
for "-plaintextnames" easier.
As seen in "fusefrontend: fix PlaintextNames versions of Mkdir, Rmdir",
we need more of them. | 
|  | Drop the date and add the "go-fuse: " prefix so you can see
where the message is coming from.
Before:
  Jun 27 09:03:15 brikett gocryptfs[4150]: 2016/06/27 09:03:15 Unimplemented opcode INTERRUPT
After:
  Jun 27 09:10:58 brikett gocryptfs[4961]: go-fuse: Unimplemented opcode INTERRUPT | 
|  | The "!fs.args.DirIV" special case was removed by b17f0465c7
but that, by accident, also removed the handling for
PlaintextNames.
Re-add it as an explicit PlaintextNames special case.
Also adds support for removing directories that miss their
gocryptfs.diriv file for some reason. | 
|  | ...unless "-nosyslog" is passed.
All gocryptfs messages already go to syslog, but the messages
that the go-fuse lib emits were still printed to stdout.
Fixes issue #13 ( https://github.com/rfjakob/gocryptfs/issues/13 ) | 
|  | This is no change in behavoir, just a clarification in the man page. |