Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-01-03 | Omit syscall.O_RDONLY flag when passing O_PATH. | Sebastian Lackner | |
When O_PATH is specified in flags, flag bits other than O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW are ignored. | |||
2019-01-03 | fusefrontend: Use appropriate flags in decryptPathAt. | Sebastian Lackner | |
2019-01-03 | fusefrontend: Open directory with syscall.O_DIRECTORY in OpenDir. | Sebastian Lackner | |
2019-01-03 | fusefrontend: Open directory with syscall.O_DIRECTORY in Rmdir. | Sebastian Lackner | |
2019-01-03 | fusefrontend: Do not Clear cache at end of Rmdir function. | Sebastian Lackner | |
We already do 'defer fs.dirCache.Clear()', so this is no longer required. | |||
2019-01-03 | nametransform: Add implicit syscall.O_RDONLY flag. | Sebastian Lackner | |
2019-01-03 | syscallcompat: Use O_PATH to open base directory. | Sebastian Lackner | |
Also remove some unnecessary flags: When O_PATH is specified in flags, flag bits other than O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW are ignored. | |||
2019-01-03 | fusefrontend: Remove debug code. | Sebastian Lackner | |
This code was accidentially added in 4f66d66755da63c78b09201c6c72353009251cf2. | |||
2019-01-03 | tests: extractloop: renice to level 19 | Jakob Unterwurzacher | |
Run at low priority to not annoy the user too much. | |||
2019-01-03 | fusefronted: dirCache: fix bug handling "" | Jakob Unterwurzacher | |
Bug looked like this: $ ls -l . total 0 drwxrwxr-x. 2 jakob jakob 60 Jan 3 15:42 foo -rw-rw-r--. 1 jakob jakob 0 Jan 3 15:46 x $ ls -l . ls: cannot access '.': No such file or directory (only happened when "" was in the dirCache) | |||
2019-01-03 | tests: allow one extra fd in fd leak detector (dirCache) | Jakob Unterwurzacher | |
The gocryptfs process may keep one fd open for up to one second in the dirCache. | |||
2019-01-03 | fusefrontend: add dirCache | Jakob Unterwurzacher | |
2019-01-03 | nametransform: simplify WriteDirIV to WriteDirIVAt | Jakob Unterwurzacher | |
Un-spaghettify the function and let the callers open the directory. | |||
2019-01-02 | fusefrontend: use O_RDONLY in the ListXAttr fallback path | Jakob Unterwurzacher | |
Copy-paste error. https://github.com/rfjakob/gocryptfs/issues/308 | |||
2019-01-02 | fusefrontend: move openBackingDir into its own file | Jakob Unterwurzacher | |
This function is in all fastpaths, will get a cache, and needs its own file. renamed: internal/fusefrontend/names.go -> internal/fusefrontend/openbackingdir.go renamed: internal/fusefrontend/names_test.go -> internal/fusefrontend/openbackingdir_test.go | |||
2019-01-02 | fusefronted: make EncryptPath symlink-safe | Jakob Unterwurzacher | |
Finally allows us to delete EncryptPathDirIV. | |||
2019-01-02 | tests: retry longer when we see a fd leak | Jakob Unterwurzacher | |
Hopefully gets rid of the false positives on travis. | |||
2019-01-02 | travis: "go get" must descend into subdirs to catch pkg/xattr | Jakob Unterwurzacher | |
recent builds all failed with: tests/fsck/fsck_test.go:12:2: cannot find package "github.com/pkg/xattr" | |||
2019-01-02 | fusefrontend: xattr: fix operations on files without read permissions | Jakob Unterwurzacher | |
* listxattr is fixed via the /proc/self/fd trick * setxattr,removexattr are fixed by opening the file O_WRONLY Fixes https://github.com/rfjakob/gocryptfs/issues/308 | |||
2019-01-02 | tests: xattr: set on 0200 file, list on 0000 file | Jakob Unterwurzacher | |
https://github.com/rfjakob/gocryptfs/issues/308 | |||
2019-01-02 | fusefrontend: don't downgrade type needlessly | Jakob Unterwurzacher | |
2019-01-02 | travis: fix go get command (needs -t), update dep | Jakob Unterwurzacher | |
Only with the "-t" flag does go get download dependencies that are only used in tests. | |||
2019-01-02 | fusefrontend: use Fsetxattr/Fgetxattr/etc on all platforms | Jakob Unterwurzacher | |
Darwin now also has these functions, use them. Simplifies the code and makes it symlink-safe on Darwin as well. | |||
2019-01-02 | syscallcompat: add Fgetxattr / Fsetxattr wrappers | Jakob Unterwurzacher | |
These take care of buffer sizing and parsing. | |||
2019-01-02 | tests: better error message for TestBase64XattrRead | Jakob Unterwurzacher | |
Make clear what we have and what we want. | |||
2019-01-02 | tests: add fd leak retry logic to UnmountErr, really return error | Jakob Unterwurzacher | |
Give the gocryptfs process one extra millisecond to close files. Allows us to drop several other sleeps. UnmountErr now really returns an error when it detects an fd leak instead of just printing a message. | |||
2019-01-02 | fusefrontend: openBackingDir: fix fd leak in error path | Jakob Unterwurzacher | |
Reported by @slackner at https://github.com/rfjakob/gocryptfs/commit/932efbd4593fe6be6c86f0dafeaea32910b7c246#r31813373 thanks! | |||
2019-01-02 | nametransform: fix possible incomplete read in ReadLongNameAt | Jakob Unterwurzacher | |
Pread() needs retry logic, so instead of implementing it ourselves, use os.File. Reported by @slackner at https://github.com/rfjakob/gocryptfs/commit/c09bf1f2284706232642431c75fa1f3d8500a9d0#r31813394 | |||
2019-01-02 | tests: ListFds(): filter out pipe and eventpoll fds | Jakob Unterwurzacher | |
These are created on demand by the Go runtime and are usually not interesting. | |||
2019-01-02 | tests: make MountInfo field accessible | Jakob Unterwurzacher | |
Tests outside the test_helpers package may want to look at this. | |||
2019-01-02 | tests: reverse: add ctlsocket cleanup delay | Jakob Unterwurzacher | |
2019-01-01 | tests: ListFds: show r/w status | Jakob Unterwurzacher | |
Also, drop entries that disappear while we stat them. | |||
2019-01-01 | tests: split mount_unmount.go from helpers.go | Jakob Unterwurzacher | |
With the FD leak logic, the mount/unmount functions have become complex enough to give them their own file. | |||
2019-01-01 | tests: detect fd leaks on unmount | Jakob Unterwurzacher | |
For now, this only prints a message but does not fail the tests. | |||
2019-01-01 | fusefrontend: fix fd leak in error path | Jakob Unterwurzacher | |
2019-01-01 | fusefrontend: fix fd leak in Access() | Jakob Unterwurzacher | |
Thanks @slackner! Fixes https://github.com/rfjakob/gocryptfs/issues/306 | |||
2019-01-01 | tests: teach ListFds() to check other processes | Jakob Unterwurzacher | |
2019-01-01 | tests: save gocryptfs process id in test_helpers.MountPID | Jakob Unterwurzacher | |
This will allow to tests to monitor fd usage and maybe other things. | |||
2019-01-01 | fusefrontend: xattr: fix hang on FIFOs | Jakob Unterwurzacher | |
An Open() a fifo blocks until it is opened for writing. This meant that xattr operations on FIFOs would block. Pass O_NONBLOCK to fix that, and add a test. | |||
2019-01-01 | fusefrontend: only compile getBackingPath() on Darwin | Jakob Unterwurzacher | |
This function is NOT symlink-safe. Darwin needs it because it lacks fgetxattr(2) and friends. | |||
2019-01-01 | fusefrontend: make ListXAttr symlink-safe on Linux | Jakob Unterwurzacher | |
Uses /proc/self/fd. | |||
2019-01-01 | fusefrontend: make RemoveXAttr() symlink-safe | Jakob Unterwurzacher | |
Uses /proc/self/fd on Linux. | |||
2019-01-01 | fusefrontend: make SetXAttr() symlink-safe on Linux | Jakob Unterwurzacher | |
Uses the /proc/self/fd trick. | |||
2019-01-01 | fusefrontend: make GetXAttr() symlink-safe on Linux | Jakob Unterwurzacher | |
Uses the /proc/self/fd trick, which does not work on Darwin. | |||
2019-01-01 | tests: add Flistxattr/Fgetxattr/Fremovexattr tests | Jakob Unterwurzacher | |
Test for the upcoming fd-based xattr support. | |||
2019-01-01 | fusefrontend: make Utimens symlink-safe | Jakob Unterwurzacher | |
unix.UtimesNanoAt now also exists on Darwin, yay! | |||
2019-01-01 | fusefrontend: fix compile failure on Darwin | Jakob Unterwurzacher | |
Failure was: + GOOS=darwin + GOARCH=amd64 + go build -tags without_openssl # github.com/rfjakob/gocryptfs/internal/fusefrontend internal/fusefrontend/fs_dir.go:159:60: cannot use origMode | 448 (type uint16) as type uint32 in argument to syscallcompat.Fchmodat internal/fusefrontend/fs_dir.go:170:33: cannot use origMode (type uint16) as type uint32 in argument to syscallcompat.Fchmodat | |||
2019-01-01 | fusefrontend: mark Truncate, Unlink, Symlink symlink-safe | Jakob Unterwurzacher | |
No changes needed. | |||
2019-01-01 | fusefrontend: make Rmdir symlink-safe | Jakob Unterwurzacher | |
Now uses Unlinkat. | |||
2019-01-01 | nametransform: rename WriteLongName() -> WriteLongNameAt() | Jakob Unterwurzacher | |
And also rename DeleteLongName() -> DeleteLongNameAt(). The naming follow the names open the openat() etc syscalls. |