diff options
author | Ken Brown <kbrown@cornell.edu> | 2021-01-30 10:28:06 -0500 |
---|---|---|
committer | Ken Brown <kbrown@cornell.edu> | 2021-02-01 09:55:40 -0500 |
commit | 05e2751665b19839ef35b555629d3ec1f72e5366 (patch) | |
tree | c4b776f3d75697e62c631310d9807f87618f95f4 | |
parent | c09320552baa87601a3f52068283e4408d4c26b5 (diff) | |
download | cygnal-05e2751665b19839ef35b555629d3ec1f72e5366.tar.gz cygnal-05e2751665b19839ef35b555629d3ec1f72e5366.tar.bz2 cygnal-05e2751665b19839ef35b555629d3ec1f72e5366.zip |
Cygwin: recognize native Windows AF_UNIX sockets as reparse points
Allow check_reparse_point_target to recognize reparse points with
reparse tag IO_REPARSE_TAG_AF_UNIX. These are used in recent versions
of Windows 10 to represent AF_UNIX sockets.
check_reparse_point_target now returns PATH_REP on files of this type,
so that they are treated as known reparse points (but not as sockets).
This allows tools like 'rm', 'ls', etc. to operate on these files.
Addresses: https://cygwin.com/pipermail/cygwin/2020-September/246362.html
https://cygwin.com/pipermail/cygwin/2021-January/247666.html
-rw-r--r-- | winsup/cygwin/path.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 6dc162806..9d2184d6a 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2640,6 +2640,10 @@ check_reparse_point_target (HANDLE h, bool remote, PREPARSE_DATA_BUFFER rp, return PATH_REP | PATH_REP_NOAPI; #endif } + else if (rp->ReparseTag == IO_REPARSE_TAG_AF_UNIX) + /* Native Windows AF_UNIX socket; recognize this as a reparse + point but not as a socket. */ + return PATH_REP; return 0; } |