delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/06/17/04:43:12

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=iiWVd8Uf4tnhbjuHFOfMtb5P0Qc6Vf7gx5irO3Jc9ffu6WL9x7/Fu
X3aHk77b+H2io+D39yz9uoqKyNJMTj+X9WDEiGaT75dGnynLDXiMQ4xLWTt87dAG
TgbgrR28bI5a6hgrqjQvRf+paERMuMLQlUU61bzGwUF9F0ZmX6w1BI=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=Emrhra0rEqwzzcFvVhdi4jAL2j8=; b=ZDfjPWlth8FSFW5pOM92k1yPUkAS
nPeWIwpj8dcTRV5ji9usy774TBEQaXhklCnKynXIlA9byWyrU3jPD8efwJV2SqXV
UfTMd6vXIsyKMdqqyKubHDs/UZ76XXj0eU2YK/NzMP6fUv7m0M4kPz9p9fMGWiKJ
y+doLrhhp2kr2qg=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-96.3 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_PBL,RCVD_IN_SORBS_DUL,RDNS_DYNAMIC autolearn=ham version=3.3.2 spammy=H*i:D388F238.929F, H*f:D388F238.929F, transparent, H*MI:D388F238.929F
X-HELO: calimero.vinschen.de
Date: Fri, 17 Jun 2016 10:42:53 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: FUSE for Cygwin - was: Re: Fork and Windows Heap
Message-ID: <20160617084253.GH27295@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <D388F238.929F%billziss AT navimatics DOT com>
MIME-Version: 1.0
In-Reply-To: <D388F238.929F%billziss@navimatics.com>
User-Agent: Mutt/1.6.1 (2016-04-27)

--u65IjBhB3TIa72Vp
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Bill,

On Jun 17 07:25, Bill Zissimopoulos wrote:
> > How are you dealing with limitations of the Windows file system as seen
> > from a POSIX perspective? You say you can't support hard links.
>=20
> Windows hard links are rather un-POSIX like and rarely used on Windows.
> After considering the required changes on the FSD for a feature that is
> so rarely used I opted against supporting them.

I disagree here.  Windows hardlinks work fine and pretty much as on
POSIX with the exception of DOS mode bits.  Those are not per file but
per file entry as far as my experiecen goes.  One of the reasons we try
to ignore them as much as possible.

Hardlinks are pretty essential I think.  The API from user space is
rather simple as well (NtSetInformationFile ([...], FileLinkInformation)
and supported in Cygwin for the link(2) call practically since the last
century :)

> > How will a Cygwin program see symlinks exported by the FUSE file system?
>=20
> WinFsp will present symlinks as reparse points. Cygwin already knows how
> to deal with NTFS reparse points and it will present them as POSIX
> symlinks.
> I may even relax the whole =E2=80=9Cyou have to be admin to create a syml=
ink=E2=80=9D
> nonsense.

Full ACK!

> Please note that WinFsp does (not) yet support reparse points. There is no
> big obstacle in the way, just a question of time.
>=20
> > And pipes?
>=20
> Pipes in Windows are not stored in the file system, rather they are
> implemented by a special Windows file system called NPFS. OTOH POSIX
> FIFO's are special files. I am unsure at this time how Cygwin represents
> FIFO's.
>=20
> [Quick experiment:
>=20
> $ mkfifo foo; cmd /c dir 'foo*' | grep foo; rm foo
> 06/16/2016  11:02 PM               130 foo.lnk
> ]
>=20
> Ok, so they are shortcuts. Naturally they are supported.

...just the FIFO implementation itself... let's just say, it could be
improved.

> > You write that you are mapping
> >  - characters not supported by Win32 but by POSIX via the Unicode
> >    private use page
> >  - Security apspects (SID vs. uid/gid, ACL)
> > between POSIX and Windows and that you do it like Cygwin/SFU/SFM is
> > doing it.
> >
> > But if that's done by your code, a Cygwin process may see slightly
> > different mappings through WinFsp and through Cygwin. Won't that be a
> > potential for Bugs (misbehaving apps) or even for security issues?
>=20
> I agree that the potential is there. But I did not want WinFsp to depend
> on Cygwin so reimplementation was the best option for me. Additionally
> Cygwin does not expose this functionality to third party apps AFAIK.

Uhm... I don't understand.  Cygwin is using the private unicode range as
well to map characters invalid in a Windows filename (e.g. colon 0x3a is
mapped to 0xf03a).  This is how such filenames are given to the OS function=
s.

This means, WinFsp would get these filenames from a Cygwin process
already in the transposed form, with invalid FS chars transposed into the
private area.

If WinFsp would support that, it would be transparent to applications
with very minor effort.

> Try this from a cmd.exe prompt:
>     type \\?\GLOBALROOT\Device\HarddiskVolume2\Cygwin64\Cygwin.bat

Or thhis from Cygwin:

  /proc/sys/Device/HarddiskVolume2/Cygwin64/Cygwin.bat

:)

> For this reason alone, I expect that most user mode file systems
> will be packaged to work as network file systems.

That would make a lot of sense, I think.


Thanks,
Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--u65IjBhB3TIa72Vp
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXY7gNAAoJEPU2Bp2uRE+gCW8P+wSfbIJyAQU94JcPHU51oVQB
zg1a4CJL4J7pEsgwwfc5d/cLAUkJUpZIFSwm7LuR1VebuMceKedwCHodCx7Ryloz
3CGy9xqj/6/XA/o/gtMX5WO6QxIdqGf5py58UOso33KXEg7Gm3DpAe/bHdmMPiSy
yRR66C+ITJl8TNNLRRi4paZqRhBBvuux+4kwC51IMLA2cCmck50aBQjjanlmOoG9
6M6MjHUGmDCxZ0NEUHTr0TELj37qdjrRwGzfrO6LwplPuXycqdXZvbB5wEjJspKH
h9MdAu8fXXJ1/gw0ap9qGJcl42y+QhG3baebnhiOmRbx3U+EK/mecDySWnHvRwB0
o5XcNxroro0vOgYjd2b7KrTkRlCVWbQnkJ53dQ+QSLzm7X7RoXeBTE+x3kqJWQVa
dbUKIZOXM9yPJ1DxL3Q0YS5SlqafKesYXWejyOSfLsMTe0Css2EL7+IlVcjjaZ2V
wyyKqUETfhaIzwjNNH+44kCcsVMo3LYaJk9lSNnQ5kin85KtPkMDksssbOlOGXFH
wtWWrV2pvXw01mmHW0ioawDPQww05qS590EhEXVEbzlHcSHkYyPHLKfbbRF3u9gL
Q/7e7paSTUYgCEnHr6/BQCMoo1kORl9mctzHJSnQIPi1wGNU3qZOArIpBKPEc7PJ
3+GjnQRMtcE7cY+5BoFX
=wU/E
-----END PGP SIGNATURE-----

--u65IjBhB3TIa72Vp--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019