Use RESOLVE_NO_SYMLINKS on Linux when following symlinks is disabled#383
Use RESOLVE_NO_SYMLINKS on Linux when following symlinks is disabled#383gitstashpop wants to merge 1 commit intobytecodealliance:mainfrom
Conversation
This addresses a bug where a forward slash is the last element of a symlink directory path and `open_dir_nofollow` is used. If a symlink is created to a directory without specifying an absolute path, then the path behind the symlink does not error when opened with `open_dir_nofollow`. Take these two symlinks: ``` > ls -l /home/ylk/test-dir-symlink* lrwxrwxrwx 1 ylk ylk 24 Feb 19 21:15 /home/ylk/test-dir-symlink -> /local/home/ylk/test-dir/ lrwxrwxrwx 1 ylk ylk 8 Feb 19 21:27 /home/ylk/test-dir-symlink2 -> test-dir/ ``` Without this patch, the following behavior is observed when using open_dir_nofollow: test-dir-symlink/ -> error test-dir-symlink -> error test-dir-symlink2 -> error test-dir-symlink2/ -> **no error**
|
@sunfishcode hope to get some feedback here if this is worse pursuing from your point of view. If yes, I'll fix the failing CI tests |
|
Sorry for the delay here! A symlink to an absolute path will always cause a failure with cap-std, because cap-std is defined to use
|
|
As explained in my previous comment, it appears cap-std is working as intended here. If I'm mistaken, please reopen or file a new issue! |
This addresses a bug where a forward slash is the last element of a symlink directory path and
open_dir_nofollowis used.If a symlink is created to a directory without specifying an absolute path, then the path behind the symlink does not error when opened with
open_dir_nofollow.Take these two symlinks:
Without this patch, the following behavior is observed when using open_dir_nofollow:
test-dir-symlink/ -> error
test-dir-symlink -> error
test-dir-symlink2 -> error
test-dir-symlink2/ -> no error