From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by sourceware.org (Postfix) with ESMTPS id 1B0E9385E006 for ; Thu, 26 Mar 2020 19:56:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1B0E9385E006 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1N4Qbu-1jQ3L40loE-011S5n for ; Thu, 26 Mar 2020 20:56:16 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id B1C41A80FA2; Thu, 26 Mar 2020 20:56:15 +0100 (CET) Date: Thu, 26 Mar 2020 20:56:15 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: WSL symbolic links Message-ID: <20200326195615.GJ3261@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <294944bd-757e-4bb8-6bcc-ceb8d9190ef9@towo.net> <20200326110059.GG3261@calimero.vinschen.de> <901e1c08-46cb-555b-c0d0-5bf9c726b3ca@SystematicSw.ab.ca> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="GBuTPvBEOL0MYPgd" Content-Disposition: inline In-Reply-To: <901e1c08-46cb-555b-c0d0-5bf9c726b3ca@SystematicSw.ab.ca> X-Provags-ID: V03:K1:oEgihscAyieGQ1xLIKW1mu24WuENLBatHGRFsKLkQ0a+ymuVr+I asTbug/AVIYp2drJUnMwaeIZimR+WmzMuD0+45Be4wzh3QdUoiOny07LpyeMK2xwibPKLdU 2Ut+40o0dyBj/8d6b0LJCAIopxoI5WiQvuk2I6P7WtNSq0CWHwq6Hb/NO8ixNn5pXwDNkYm LkBpxCumdKFAhSEFppq8Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:MXGp308q1y4=:xcTvINxUUDA7Xz4Z6ywY1z jF7SNHoCJKrz/oM7PcBIPwY2FtZbxjKPE2RFubkXzWWIbvT/ylvpyb3ZdtEoApT0Xb9azzoVB rEIaELZvMOzhijUHzB3CEHZIyw5thDkOhqujjQyqkiTfV7Tk7mM8hfCZ5XQgmZvwYY1AjtGyU HXmnf83V2lYXm+PRk+PrS4JTdmOGYUnawhhTqhau2S9fdP8H4vUOIvXb7jvWefOUO/tS/dJvi byQIhGFTqfKICS+nf8KbB/gJb84exrg9Q3r1eBaSY2QW9pIG4SsSaIciJ9ZXhIqUp/Qqb9Yha OI554Sv0pey5tF/HAcHu7LB8oQunDmXT6/kDAFoeHSwayQmbYaTScAWUVlfsM+5yj8ST4fdVE x8oCT/pTi0QfRhTvfTlw6rwFV6oGWszcRICeERHe6bgRdE1xTrh4Zc46rqg1wiiZA2fLxu3+D C3aWjFvx8TqslE2DoBK6ouoILktt50pkm+P4TL8qYA7Euy4vbxnpV9EnzUom7dM+ShpHKlsX3 h17xjJAAaeAMbcGd3iX1V/fUfipT7n88ouJOsskYqiYXLNC0tXFeoUfRxAkTqgQPBF45v0amV ruEPrDyktM0Fe36Q2R5gCfg3DAupFC6/SnkWTJn9zeTJy0Giis132qFtXmqdtsUrJ+gzYaOxi MOJzWLNfnX6KNkhNTPKLgK9sQGrUbtx5vva+TuE3wL7L2Ln2F+kzQPssEQcEHcgUMtXFjSuV1 vM/Fx1iOx0egOxH/8Tiq1P3uPNlr+0gNtJ/EUeeHgv0V6slnS1/bPhWvTTU8OKUFJIOczhCfc Tu7Uqe1KFhUeh9OXLoWlkkycRGd42JkUzbAX5gJEKHwgdjeKtKQTTCXBEM8MicsxdWbNLCA X-Spam-Status: No, score=-81.9 required=5.0 tests=BAYES_00, BODY_8BITS, GARBLED_BODY, GIT_PATCH_2, GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Mar 2020 19:56:20 -0000 --GBuTPvBEOL0MYPgd Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Brian and Thomas, Thanks to both of you for providing this info. On Mar 26 13:12, Brian Inglis wrote: > On 2020-03-26 05:00, Corinna Vinschen wrote: > > On Mar 26 10:00, Thomas Wolff wrote: > >> A symbolic link created with WSL is neither interpreted in cygwin nor = can it > >> be deleted: > >>> touch file > >>> wsl ln -s file link > >>> wsl ls -l link > >> lrwxrwxrwx=C2=A0=C2=A0=C2=A0 1 towo=C2=A0=C2=A0=C2=A0=C2=A0 towo=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 Mar 26= 08:56 link -> file > >>> ls -l link > >> -rw-r----- 1 Unknown+User Unknown+Group 0 Mar 26 00:00 link > > What kind of file are they in the real world? Reparse points? If so, > > what content do they have? I attached a Q&D source from my vault > > of old test apps to check on reparse point content. Please compile with > > gcc -g ../src/rd-reparse.c -o rd-reparse -lntdll > > It takes a single native NT path as parameter, kind of like this: > > ./rd-reparse '\??\C:\cygwin64\home\corinna\link' >=20 > They should be WSL or Windows mklink (soft) links, and the reason why mkl= ink was > allowed unelevated in Windows 10 with Developer mode. >=20 > In an *elevated* shell: >=20 > $ ls -dln u > -rw-r----- 1 4294967295 4294967295 0 Nov 9 06:09 u > $ getfacl u > getfacl: u: Permission denied > $ icacls u > u NULL SID:(DENY)(Rc,S,REA,WEA,X,DC) > $HOSTNAME\$USER:(F) > $HOSTNAME\$USER:(RX,W,DC) > BUILTIN\Users:(Rc,S,RA) > BUILTIN\Administrators:(RX,W,DC) > BUILTIN\Users:(DENY)(S,RD,REA,X) > Everyone:(RX) > NT AUTHORITY\SYSTEM:(I)(F) > BUILTIN\Administrators:(I)(F) > $HOSTNAME\$USER:(I)(F) >=20 > Successfully processed 1 files; Failed processing 0 files > $ ./rd-reparse '\??\C:\...\u' > ReparseTag: 0xa000001d ^^^^^^^^^^ This is a reparse point tag different from the normal Windows symlink reparse point tag, 0xa000000c. Searching for this value shows this is defined in ntifs.h as IO_REPARSE_TAG_LX_SYMLINK. Unfortunately I don't see a definition of the reparse point data for that reparse point type. In your examples the data part looks like a 4 byte int value, being 2 in both of your examples, maybe a file type, followed by the path in multibyte, no trailing \0. Unfortunately, in both cases the path is relative, just the file name it points to. To get more information, could one of you two please create a few more symlinks? - A symlink pointing to a local path, given in absolute path syntax. I assume the path will be in POSIX syntax, contain slashes, but it would be helpful to see it. - A symlink with a target path pointing to a remote file (what syntax does this use?) - Last but not least, could you please create a symlink pointing to a target with a non-ASCII char, e. g., some german umlaut? It's questionable if supporting this new symlink type makes sense, but taking a closer look doesn't hurt, I guess. Thanks, Corinna --=20 Corinna Vinschen Cygwin Maintainer --GBuTPvBEOL0MYPgd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl59CN8ACgkQ9TYGna5E T6A2XQ//Qx2PraUcoTUm72IS3RAIVEigq9OxZ2ZRJcu+b/UUV6ntz/1JTNF8q73y O+xLPPk1HSW8+iCEnWSBufjbZHUvLsIqM4muwgZeyDiMBz8X5Z3l0FftvSAzlepX DM/x4CdQOY42zYZTgSw0GFKEFee70KkQ9s/rIkNT6Be9AYWidckuSZn1rtmLqxQ/ 0DYwsidNNoNWcBzCuhGlpa1fja4RvqdrHvn9TMOwzIX3a8fs14k2khRAJiJGWRYU OXH/UataPKBl2e7t+/EiWB0Q5SlSCmXZu76izjWgdghJtNJkPOfSNrskXty2+e9O i3/49izGCYO/WqiUp4GlmF7A4iiY9RqX9eAd5mbQWISrgLp63KBzLjA6AEt/+FLe hgoCutXwHvvQk5O5hOxtaAQ8/V/TejM3J3pQrPeo5fSQ+C/F+3uMl1TwfATBxPJl FiksnoDkrTqb5fX8klQrqagpV0sl7Bg/0dSUsHXbfpmKPaDSZmFcyvKmoSWX+xM6 sSCdGz/7viCSI1s2ksXl6r4y2WBg5gb3x+AjrmLI6deEGXm9NZMp6tMm5HpYN2nz 66eEeO5kvhIODI8V/+yQ6bfbNCWfgKaSaPSEFDmfo37+cb18E4m52Ixg/Y1VsxDZ qcULTBkc/EsESsfoV7X/D6uH9p1PE70eT/agmpVT2dPyNr9RtA4= =lGvk -----END PGP SIGNATURE----- --GBuTPvBEOL0MYPgd--