diff options
| author | Jakob Unterwurzacher | 2026-02-07 21:19:14 +0100 |
|---|---|---|
| committer | Jakob Unterwurzacher | 2026-02-07 22:40:22 +0100 |
| commit | c190dcdbbd623b76a2be7c41240fcc9ede35bac8 (patch) | |
| tree | f2469c63a23c3f4de8def3db8d0a127fa1b66bc4 /internal/syscallcompat/sys_linux.go | |
| parent | 7050921867531d5e47f8762490de14bd1ba5fb79 (diff) | |
darwin: syscallcompat: Openat: use O_SYMLINKo_symlink
Also add tests that opening a symlink (using unix.O_PATH | unix.O_NOFOLLOW)
works.
https://github.com/rfjakob/gocryptfs/issues/993
Diffstat (limited to 'internal/syscallcompat/sys_linux.go')
| -rw-r--r-- | internal/syscallcompat/sys_linux.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/syscallcompat/sys_linux.go b/internal/syscallcompat/sys_linux.go index 19d2c56..71478af 100644 --- a/internal/syscallcompat/sys_linux.go +++ b/internal/syscallcompat/sys_linux.go @@ -28,6 +28,10 @@ const ( RENAME_NOREPLACE = unix.RENAME_NOREPLACE RENAME_WHITEOUT = unix.RENAME_WHITEOUT RENAME_EXCHANGE = unix.RENAME_EXCHANGE + + // On Darwin we use O_SYMLINK which allows opening a symlink itself. + // On Linux, we only have O_NOFOLLOW. + OpenatFlagNofollowSymlink = unix.O_NOFOLLOW ) var preallocWarn sync.Once |
