public inbox for cygwin-cvs@sourceware.org
help / color / mirror / Atom feed
From: Ken Brown <kbrown@sourceware.org>
To: cygwin-cvs@sourceware.org
Subject: [newlib-cygwin] Cygwin: recognize native Windows AF_UNIX sockets as reparse points
Date: Mon,  1 Feb 2021 14:59:14 +0000 (GMT)	[thread overview]
Message-ID: <20210201145914.35CD03887033@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=05e2751665b19839ef35b555629d3ec1f72e5366

commit 05e2751665b19839ef35b555629d3ec1f72e5366
Author: Ken Brown <kbrown@cornell.edu>
Date:   Sat Jan 30 10:28:06 2021 -0500

    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

Diff:
---
 winsup/cygwin/path.cc | 4 ++++
 1 file changed, 4 insertions(+)

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;
 }


                 reply	other threads:[~2021-02-01 14:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210201145914.35CD03887033@sourceware.org \
    --to=kbrown@sourceware.org \
    --cc=cygwin-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).