aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)Author
2022-08-28make formatJakob Unterwurzacher
2022-06-26Fix typosYuta Hayashibe
2021-12-08root_test, getdents-debug: restrict to linuxJakob Unterwurzacher
This does not work neither make sense on MacOS.
2021-09-01shell scripts: fix shellcheck warningsa1346054
2021-08-30Unbreak hyperlinks broken by go mod v2 conversionJakob Unterwurzacher
Commit 69d88505fd7f4cb0d9e4f1918de296342fe05858 go mod: declare module version v2 translated all instances of "github.com/rfjakob/gocryptfs/" to "github.com/rfjakob/gocryptfs/v2/". Unfortunately, this included hyperlinks. Unbreak the hyperlinks like this: find . -name \*.go | xargs sed -i s%https://github.com/rfjakob/gocryptfs/v2/%https://github.com/rfjakob/gocryptfs/v2/%
2021-08-23go mod: declare module version v2Jakob Unterwurzacher
Our git version is v2+ for some time now, but go.mod still declared v1. Hopefully making both match makes https://pkg.go.dev/github.com/rfjakob/gocryptfs/v2 work. All the import paths have been fixed like this: find . -name \*.go | xargs sed -i s%github.com/rfjakob/gocryptfs/%github.com/rfjakob/gocryptfs/v2/%
2021-08-19Fix issues found by "go vet"Jakob Unterwurzacher
Issues were: # github.com/rfjakob/gocryptfs/contrib/findholes/holes contrib/findholes/holes/holes.go:136:2: unreachable code # github.com/rfjakob/gocryptfs/tests/root_test_test tests/root_test/root_test.go:139:2: unreachable code Also make sure we actually run "go vet" against the whole codebase.
2021-06-26tests, maxlen.bash: speed up TestMaxlen using QUICK=1Jakob Unterwurzacher
From >6 to <1 second.
2021-06-26maxlen.bash: suppress progress output if not on a terminalJakob Unterwurzacher
2021-06-20contrib/maxlen.bash: also test dir and path lengthJakob Unterwurzacher
Move the script from tests to contrib as it may now be useful to somebody else. https://github.com/rfjakob/gocryptfs/issues/552
2021-06-04Add contrib/atomicrenameJakob Unterwurzacher
$ ./contrib/atomicrename/atomicrename -h atomicrename creates 100 "src" files in the current directory, renames them in random order over a single "dst" file while reading the "dst" file concurrently in a loop. Progress and errors are reported as they occour in addition to a summary printed at the end. cifs and fuse filesystems are known to fail, local filesystems and nfs seem ok. See https://github.com/hanwen/go-fuse/issues/398 for background info.
2021-05-29findholes: add --create, --verifyJakob Unterwurzacher
Also, change the logic for the segment walk to not rely on the total size. cp does not use the total size either, and we miss bugs by cheating!
2021-05-26Add contrib/findholesJakob Unterwurzacher
Utility and libs to find hole/data segments using lseek.
2020-10-15contrib: cleanup-tmp-mounts: also clean ext4-ramdiskJakob Unterwurzacher
2020-09-18contrib/mount-ext4-ramdisk.sh: clean up in error caseJakob Unterwurzacher
Also fix all shellcheck warnings.
2020-09-14Add contrib/mount-ext4-ramdisk.shJakob Unterwurzacher
2020-07-29getdents_c: continue on EINTR from openJakob Unterwurzacher
Getting EINTR here is acceptable.
2020-07-29Revert "getdents_c: read from two threads"Jakob Unterwurzacher
This made the code more complicated without reproducing the problem. This reverts commit 77632b7554000f2e832a0e9fded1a3894b2502c3.
2020-06-21getdents_c: read from two threadsJakob Unterwurzacher
This was an attempt to make the C code more similar to Go (which also reads from multiple threads). However, I still could not repro the ENOENT problems. https://github.com/rfjakob/gocryptfs/issues/483
2020-06-06sshfs-benchmark.bash: fix locale trouble and move to testsJakob Unterwurzacher
Locale trouble was sshfs-benchmark.bash: line 31: printf: 4.71: invalid number because printf expected "4,71" in the German locale. Force the C locale.
2020-06-01contrib/getdents-debug: fix function call missing argument from ↵Jeremy Hilliker
22e3eec15302eac28c1a2ac3f9af29c2c9e82a3c
2020-05-28getdents-debug: loop and stop on first errorJakob Unterwurzacher
Also try to improve and unify output a little. $ ./getdents /usr/share/man/man1 1: unix.Getdents: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; err=<nil>; total 122112 bytes 2: unix.Getdents: n=9984; n=48; n=9976; n=9968; n=9976; n=9976; n=9992; n=9984; n=9992; n=10000; n=9976; n=9968; n=10000; n=2272; n=0; err=<nil>; total 122112 bytes 3: unix.Getdents: n=9984; n=9984; n=9968; n=704; n=10000; n=10000; n=9968; n=9968; n=9992; n=10000; n=9960; n=9992; n=9992; n=1600; n=0; err=<nil>; total 122112 bytes 4: unix.Getdents: n=9984; n=9984; n=9968; n=9976; n=9984; n=32; n=9992; n=9984; n=9992; n=10000; n=9976; n=9968; n=10000; n=2272; n=0; err=<nil>; total 122112 bytes $ ./getdents_c /usr/share/man/man1 1: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes 2: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes 3: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes 4: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes
2020-05-25contrib/getdents-debug: implement getdents -loopJakob Unterwurzacher
$ ./getdents -loop /mnt/synology/public/tmp/g1 unix.Getdents: n=4176; n=4176; n=4176; n=4176; n=4176; n=3192; n=0; err=<nil>; total 24072 bytes unix.Getdents: n=4176; n=4176; n=4176; n=4176; n=4176; n=3192; n=0; err=<nil>; total 24072 bytes unix.Getdents: n=4176; n=-1; err=no such file or directory; total 4176 bytes
2020-05-24Add contrib/getdents-debug/readdirnamesJakob Unterwurzacher
Another way to repro the problem in https://github.com/rfjakob/gocryptfs/issues/483
2020-05-24contrib: collect getdents stuff in getdents-debug folderJakob Unterwurzacher
2020-05-24contrib: add getdents_cJakob Unterwurzacher
Same thing like contrib/getdents, but written in C.
2020-05-24Add contrib/getdentsJakob Unterwurzacher
Small tool to try to debug unix.Getdents problems on CIFS mounts https://github.com/rfjakob/gocryptfs/issues/483
2020-05-24contrib/sshfs-benchmark.bash: add rmdir, mkdir, touchJakob Unterwurzacher
And also, stop using the wrong directory for sshfs git init. sshfs-benchmark.bash: sshfs gocryptfs-on-sshfs git init 4.35 7.82 rsync 7.72 11.66 rm -R 2.71 11.04 mkdir 1.33 4.15 rmdir 0.47 3.97 touch 2.32 2.85 rm 0.45 0.45
2020-05-24contrib: add sshfs-benchmark.bashJakob Unterwurzacher
Let's get some reproducible numbers for https://github.com/rfjakob/gocryptfs/issues/481 and https://github.com/rfjakob/gocryptfs/issues/410 Example run: $ ./sshfs-benchmark.bash nuetzlich.net working directory: /tmp/sshfs-benchmark.bash.vu4 sshfs mounted: nuetzlich.net:/tmp -> sshfs.mnt gocryptfs mounted: sshfs.mnt/sshfs-benchmark.bash.KM9/gocryptfs.crypt -> gocryptfs.mnt sshfs gocryptfs-on-sshfs git init 1.68 11.23 rsync 6.07 20.35
2020-05-10contrib: delete ctlsock-encrypt.bashJakob Unterwurzacher
Closes https://github.com/rfjakob/gocryptfs/issues/416
2020-02-15Add contrib/cleanup-tmp-mounts.shJakob Unterwurzacher
Useful when you have lots of broken mounts after something in the test suite went wrong.
2019-11-16contrib/statvsfstat: add statvsfstat toolJakob Unterwurzacher
Cli tool to compare the result of Stat() and Fstat().
2019-09-08Expand statfs man page a little and include in build.bashJakob Unterwurzacher
2019-03-17Add contrib/statfs toolJakob Unterwurzacher
This should help debugging https://github.com/rfjakob/gocryptfs/issues/375 and https://github.com/rfjakob/gocryptfs/issues/274 , as MacOS does not have "stat -f".
2017-02-15OSX compat: replace fusermount calls with fuse-unmount.bashJakob Unterwurzacher
Mac OS X does not have fusermount and uses umount instead. The fuse-unmount.bash calls the appropriate command.
2017-02-14Add Mac OS X fusermount replacement scriptJakob Unterwurzacher
2017-01-29contrib: add ctlsock helper scriptsJakob Unterwurzacher
2016-10-11contrib: gocryptfs-maybe: fix descriptionJakob Unterwurzacher
2016-10-11contrib: add gocryptfs-maybe.bashJakob Unterwurzacher
Conditionally try to mount a gocryptfs filesystem. If either * CIPHERDIR does not exist OR * something is already mounted on MOUNTPOINT print a message to stdout (not stderr!) but exit with 0. This is meant to be called from automated mount systems like pam_mount, where you want to avoid error messages if the filesystem does not exist, or duplicate mounts if the filesystem has already been mounted.
2016-10-09Drop contrib/pam_mountJakob Unterwurzacher
The README text has been moved to https://github.com/rfjakob/gocryptfs/wiki/Mounting-on-login-using-pam_mount and the gocryptfs_pam_mount.bash is no longer needed since commit 9cf3ced0ce95495cabd8f4e7055d1c98f42363c9 .
2016-10-09contrib: pam_mount: check if something is already mounted on DSTJakob Unterwurzacher
pam_mount is supposed to check that as well, but it seems to get confused by the "command#path" syntax used for FUSE. Let's do it here.
2016-10-08contrib: pam_mount: add instructions for whole-home-dir encryptionJakob Unterwurzacher
2016-10-08contrib: pam_mount: add documentation and wrapperJakob Unterwurzacher
See ticket #34