DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 514MmWNi1603933 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 514MmWNi1603933 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=yXO7Zg6Q X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83029385841C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1738709311; bh=B3F5xx1bw8sS7kOvcaCB4RRdj43cTVjTP5MH+aWDm2Q=; h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=yXO7Zg6Q6WJK7p20GltOuGq9b4W98U9DcuJ1VzEFwwLglIAcThB2YbDuazLULer9T UGl7mgVzBbx1669jKYePKRSeYSzE6WGpYqRv7v6C7Wcte6n9slOZJl71MQntT26/3m GXxAdWAX7DXHstMXqT8JmaGHYK97c3mFDnqaoTRM= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 776F43858D20 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 776F43858D20 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738709253; cv=none; b=vAAMjiQ65pa4cXIDMVc87bgG40ZiIAenZaSusn2x5q7JNJZCXse9DCPTapK0mcdjFoOZ9fRVPP6Z3ZXEwu+nKbjH0641F69B35qa9KEsaNeldcsIrZgbT8Kiz+l0GzwnoWLczgT3YgU42fWdhOPK0hnf7WQYpsZaTMRCnQ3P9E8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738709253; c=relaxed/simple; bh=bmvlUHQcnIasRIn/EQJ6UZdLuoeHGNGxZMhswxWu7Yg=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=IwmCNuU3SrgI1hd51EvZ9FHqLRXVSORCfpueRTGXJcfA7jioATzhhuq7U5+Vn+21cDUm3/DPH8il8dtKx2AVlt5w5kKCqs0gOo1zIWWUfQYpxic/ITGQVnmmTGRj+MKB/8kk1/YQVNRTpfpy7lmgjXmCg50bbV5klsF622c/XjI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 776F43858D20 Date: Tue, 4 Feb 2025 14:47:32 -0800 (PST) X-X-Sender: jeremyd AT resin DOT csoft DOT net To: gisburn AT nrubsig DOT org Subject: Re: |IO_REPARSE_TAG_MOUNTPOINT| (Junctions) not working for remote filesystems in Cygwin ? In-Reply-To: Message-ID: <35e9e310-91d7-41e5-7e98-c1658030e912@jdrake.com> References: MIME-Version: 1.0 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jeremy Drake via Cygwin Reply-To: Jeremy Drake Cc: cygwin AT cygwin DOT com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Tue, 4 Feb 2025, Roland Mainz via Cygwin wrote: > it seems that Cygwin does not support |IO_REPARSE_TAG_MOUNTPOINT| for > "remote" filesystems: > ---- snip ---- > 2582 /* Don't handle junctions on remote filesystems as > symlinks. This type > 2583 of reparse point is handled transparently by the OS so that the > 2584 target of the junction is the remote directory it is > supposed to > 2585 point to. If we handle it as symlink, it will be mistreated as > 2586 pointing to a dir on the local system. */ > > The matching code in our filesystems seems to work in PowerShell and > cmd.exe - so what context am I missing ? The comment seemed to explain it pretty well. Junctions are always absolute. If it is absolute to a local path, that path is local to the server, not the client. If Cygwin treated it as a symlink, it would see the target as /cygdrive/c/whatever and would try to follow that to the client-local directory. By *not* treating those as symlinks, it will instead treat them as ordinary directories to be traversed, which will allow the OS to handle them as normal. Perhaps it could be relaxed to allow remote junctions to be treated as symlinks if their targets are UNC rather than local? Is that the case your filesystems are exposing? -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple