www.delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.4.1 sourceware.org 160F43858D28 |
Authentication-Results: | sourceware.org; |
dmarc=none (p=none dis=none) header.from=oskog97.com | |
Authentication-Results: | sourceware.org; spf=pass smtp.mailfrom=oskog97.com |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=oskog97.com; s=gm1; |
t=1638715755; | |
h=from:from:reply-to:subject:subject:date:date:message-id:message-id: | |
to:to:cc:mime-version:mime-version:content-type:content-type: | |
content-transfer-encoding:content-transfer-encoding: | |
in-reply-to:in-reply-to:references:references; | |
bh=EK/8AZx5WfrDrnLZv4KInHJHU+8bZAhxv8HrJb/+9pg=; | |
b=dt8qFe+H7kytIpTTx61E6a9MAJs9Uz0hz8cu6t0sI0jYF+TSyQlb+TcnadLNstV9FBnoHf | |
t9PF2OaS5Q4rCeURtO05nZYr9joULM4HlzUQ5enl9/pM00KIIQK63ErAlV9h4+8w2p2USm | |
KC+qGToCagNMeTItpbOgC1yO2R6mgse7oDPaN5D6jU0PpekL/GYlbYA/rgJamuM7t9YgDG | |
xY1N1q6c+bGj5H7dxXH7G44W1W0UA2IRTqYVhdNeeufwr06JxMU9KlFyZ0pmFC3jDFls8H | |
hYhWLJEwKRpLlOsMN4+P6HID6CFidBrTLBEKiVgEcETqMY4CcqokWV4O4qfqRw== | |
Subject: | Re: vboxsharedfs - Too many levels of symbolic links |
To: | cygwin AT cygwin DOT com |
References: | <d6470ffe-8e49-3eb7-4d21-3212e0ad4f31 AT oskog97 DOT com> |
<20211205115411 DOT 1619911cb3e2d23f671912ce AT nifty DOT ne DOT jp> | |
From: | Oskar Skog <novia AT oskog97 DOT com> |
Message-ID: | <36be1c59-efd1-5cfb-93c1-baf629a897dc@oskog97.com> |
Date: | Sun, 5 Dec 2021 16:49:13 +0200 |
User-Agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 |
Thunderbird/78.14.0 | |
MIME-Version: | 1.0 |
In-Reply-To: | <20211205115411.1619911cb3e2d23f671912ce@nifty.ne.jp> |
X-Spam-Status: | No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, | |
RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, | |
SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.4 (2020-01-24) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
Errors-To: | cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id 1B5EnZ3k009762 |
On 2021-12-05 04:54, Takashi Yano wrote: > On Tue, 30 Nov 2021 19:04:57 +0200 > Oskar Skog wrote: >> vboxsharedfs file systems no longer work. Any attempt to access will >> result in "too many levels of symbolic links". >> >> This only affects the VirtualBox shared folder, the Samba share works >> just fine. .... > > I tested with VirtualBox version 6.1.30. > > In 64bit Windows10, for vbox shared path, GetFinalPathNameByHandleW() > returns path with trailing '\'. As a result, RtlEqualUnicodeString() > fails and tries to resolve symlink repeatedly. > > For example, RtlEqualUnicodeString() compares \??\UNC\VBoxSrv\tmp and > \??\UNC\VBoxSrv\tmp\, then it fails. > > This does not happen in 32bit Windows10. It seems that UNC path is not > treated as a symlink in 32bit Windows10. I am not sure why. > > Therefore, I have applied a patch which stops to treat UNC path as a > symlink for testing as follows. > > diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc > index baf04ce89..31a96ca58 100644 > --- a/winsup/cygwin/path.cc > +++ b/winsup/cygwin/path.cc > @@ -3490,6 +3490,9 @@ restart: > ret = GetFinalPathNameByHandleW (h, fpbuf, NT_MAX_PATH, 0); > if (ret) > { > + if (wcsstr (fpbuf, L"\\\\?\\UNC\\") == fpbuf) > + goto file_not_symlink; > + > UNICODE_STRING fpath; > > RtlInitCountedUnicodeString (&fpath, fpbuf, ret * sizeof (WCHAR)); > > I have confirmed this patch fixes the issue. In addition, this patch > also resolves the issue: > https://cygwin.com/pipermail/cygwin/2021-December/250103.html > > Is this the right thing? > I have tested the patch and it is now possible to access /cygdrive/z again. But if I create a symlink on that filesystem, it's not identified as a symlink. Although, I don't know if this has ever worked as it is the first time I've ever tested it, it probably hasn't ever worked (see below). user AT DESKTOP-******* /cygdrive/z$ ln -s report.pdf test.pdf user AT DESKTOP-******* /cygdrive/z$ ls -l report.pdf test.pdf -rw-r--r-- 1 user None 1454562 Nov 28 12:05 report.pdf -rw-r--r-- 1 user None 34 Dec 5 16:36 test.pdf user AT DESKTOP-******* /cygdrive/z$ cat test.pdf !<symlink>â–’â–’report DOT pdfuser AT DESKTOP-******* /cygdrive/z$ I think it's because "special" attributes don't work on VirtualBox shared folders, I can't hide files in Explorer either. So I don't think the patch has caused any regression here. The samba share (Y:) works, just as it did before, symlinks work too. (Sorry about the previous mail, I apparently suck at email.) -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |