From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24635 invoked by alias); 19 Nov 2015 18:53:31 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 24618 invoked by uid 89); 19 Nov 2015 18:53:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_05,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wm0-f50.google.com Received: from mail-wm0-f50.google.com (HELO mail-wm0-f50.google.com) (74.125.82.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 19 Nov 2015 18:53:29 +0000 Received: by wmdw130 with SMTP id w130so252703136wmd.0 for ; Thu, 19 Nov 2015 10:53:26 -0800 (PST) X-Received: by 10.194.203.106 with SMTP id kp10mr9710770wjc.86.1447959206616; Thu, 19 Nov 2015 10:53:26 -0800 (PST) Received: from [192.168.168.136] ([193.165.236.16]) by smtp.gmail.com with ESMTPSA id jz1sm1476869wjc.27.2015.11.19.10.53.25 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 19 Nov 2015 10:53:25 -0800 (PST) Subject: Re: Symlink targets dereferenced when winsymlinks:native To: cygwin@cygwin.com References: <564BAA1A.8000703@gmail.com> <20151118175503.GT6402@calimero.vinschen.de> <564CBFCC.4020605@gmail.com> <20151118194819.GV6402@calimero.vinschen.de> From: David Macek X-Enigmail-Draft-Status: N1110 Message-ID: <564E1AA0.6070001@gmail.com> Date: Thu, 19 Nov 2015 18:53:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151118194819.GV6402@calimero.vinschen.de> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms000803000505030104040508" X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg00277.txt.bz2 --------------ms000803000505030104040508 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 2169 On 18. 11. 2015 20:48, Corinna Vinschen wrote: > On Nov 18 19:13, David Macek wrote: >> On 18. 11. 2015 18:55, Corinna Vinschen wrote: >>> On Nov 17 23:28, David Macek wrote: >>>> I went through the UG looking for differences between regular Cygwin >>>> symlinks and NTFS symlinks, but couldn't find this documented. It >>>> seems that when using winsymlinks:native, the target path is first >>>> dereferenced before storing it in the link. >>> >>> It's a result of the native symlink being a Windows path. The >>> ultimate conversion from POSIX to Windows path dereferences all >>> symlinks. Hmm. I just performed a test on my Cygwin installation and it doesn't seem = to match the described behavior. /cygdrive/w/temp $ export CYGWIN=3Dwinsymlinks:nativestrict /cygdrive/w/temp $ touch XXX /cygdrive/w/temp $ ln -s XXX YYY /cygdrive/w/temp $ ln -s YYY ZZZ /cygdrive/w/temp $ ls -l ... -rwxrwxr--+ ... XXX lrwxrwxrwx ... YYY -> /cygdrive/w/temp/XXX lrwxrwxrwx ... ZZZ -> /cygdrive/w/temp/YYY What's interesting though, is that the paths are converted to absolute ones= . This again only happens for winsymlinks:native, but NTFS symlinks have no= such restriction and `mklink` happily creates relative links. >> Should that behaviour stay? >=20 > Yes. Consider that neither Cygwin or Interix symlinks with SYSTEM bit > set, nor symlinks using WIndows shortcuts make any sense as part of a > native symlink. As a result, Cygwin does a full path conversion from > POSIX to symlink-less Windows path to crate native symlinks. I'm sorry, but I'm not sure I understand. What does "to be as part of a sym= link" mean in this context and how did non-NTFS symlinks get into the discu= ssion? *** After thinking about this for some time, I began to assume that "part of a = symlink" was meant as "a symlink target". In that case, it seems that Cygwi= n is pretty intelligent about this, as the dereferencing only happens when = targetting a non-NTFS symlink, at least in trivial cases. If that's the cas= e, then I'm okay with that (and I'll try to document it), and the only ques= tion that remains is the one about relative paths (see above). --=20 David Macek --------------ms000803000505030104040508 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature Content-length: 5767 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG 9w0BBwEAAKCCDG8wggYzMIIFG6ADAgECAgMMb3owDQYJKoZIhvcNAQELBQAw gYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYD VQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYD VQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs aWVudCBDQTAeFw0xNDEyMzEwNDA5MDRaFw0xNjAxMDExNTQ4NTNaMEoxIDAe BgNVBAMMF2RhdmlkLm1hY2VrLjBAZ21haWwuY29tMSYwJAYJKoZIhvcNAQkB FhdkYXZpZC5tYWNlay4wQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAKbpPNd+Pp5CEiIO1+wAcCp1S4GbGIuZHV3nlqVKxdWC 3S7GS6T43FAN7JNUEaTDEVW1pwrwI8FiPOo7PFd7L/MQ3w/Qz3/n9tjQ0PZw vIM7BlSZAq+Nvr3ZcAALhvoWfNX7kbrMHbIDCVr8+7sFMDMNv1A6HsyEu0n/ XeQbF4dlcj49ZISLjK719quaFVUPzFeUH6hbU+8wgT37qoQETgDv54TbMak8 YxKaSvEodRbiE+9YQDVh2E8rwMGzdzDMyXkpgwHAL5cjVH46qy8Ajzm6op2R Zaske2uDRtx21aNyMJ6y0nGGbO8RP+oe+7BVl0iVfXau4ElYzsB3nPjoIo0C AwEAAaOCAt0wggLZMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQW MBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUBL8Kj4Gx090YO2Pq G6VWrPmPuvowHwYDVR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwIgYD VR0RBBswGYEXZGF2aWQubWFjZWsuMEBnbWFpbC5jb20wggFMBgNVHSAEggFD MIIBPzCCATsGCysGAQQBgbU3AQIDMIIBKjAuBggrBgEFBQcCARYiaHR0cDov L3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjCB9wYIKwYBBQUHAgIwgeow JxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBARqBvlRo aXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBhY2NvcmRpbmcgdG8gdGhlIENs YXNzIDEgVmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0YXJ0Q29t IENBIHBvbGljeSwgcmVsaWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1 cnBvc2UgaW4gY29tcGxpYW5jZSBvZiB0aGUgcmVseWluZyBwYXJ0eSBvYmxp Z2F0aW9ucy4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5zdGFydHNz bC5jb20vY3J0dTEtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5BggrBgEF BQcwAYYtaHR0cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczEvY2xp ZW50L2NhMEIGCCsGAQUFBzAChjZodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9j ZXJ0cy9zdWIuY2xhc3MxLmNsaWVudC5jYS5jcnQwIwYDVR0SBBwwGoYYaHR0 cDovL3d3dy5zdGFydHNzbC5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQAvpl7Y byib9IPXw8Sy+DhrFSv7DLbKrjWrLeUWJp4MMUc8WoPW4oXLr5cW5d2OGTIS 3HVYh5LtD/+2i8Res811qCA1pn5ojH0tEmpJHe9qHWXrcg7Z/qsTsjHytszW oHYfG94vIdYSxVGxl/xC1phdpPBX3sEnIVbaLBInKKbhSHkGhHoWJ7lG2S6q vNeYK8BjTBVAUPRpK1sKzfuzMdgpKkr+QOAa/rmP1ATXlhmxPTYa1DNCxYl0 JCogJi8yzXPOO+ba1ckoUlb/icBTw0tl1rREHmuWHdTU5KfAi62Z1oonB/vd dXtt2OgR+C2H/c1Er7xRKjk3AVshLcPWtvdyMIIGNDCCBBygAwIBAgIBHzAN BgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg U2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNMDcxMDI0MjEwMTU1WhcNMTcxMDI0MjEwMTU1WjCBjDELMAkG A1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNl Y3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0 YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxwmDzM4t2BqxKaQu E6uWvooyg4ymiEGWVUet1G8SD+rqvyNH4QrvnEIaFHxOhESip7vMz39ScLpN LbL1QpOlPW/tFIzNHS3qd2XRNYG5Sv9RcGE+T4qbLtsjjJbi6sL7Ls/f/X9f tTyhxvxWkf8KW37iKrueKsxw2HqolH7GM6FX5UfNAwAu4ZifkpmZzU1slBhy WwaQPEPPZRsWoTb7q8hmgv6Nv3Hg9rmA1/VPBIOQ6SKRkHXG0Hhmq1dOFoAF I411+a/9nWm5rcVjGcIWZ2v/43Yksq60jExipA4l5uv9/+Hm33mbgmCszdj/ Dthf13tgAv2O83hLJ0exTqfrlwIDAQABo4IBrTCCAakwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFFNy7ZKc4NrLAVx8fpY1 TvLUuFGCMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQQa7yMGYGCCsG AQUFBwEBBFowWDAnBggrBgEFBQcwAYYbaHR0cDovL29jc3Auc3RhcnRzc2wu Y29tL2NhMC0GCCsGAQUFBzAChiFodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9z ZnNjYS5jcnQwWwYDVR0fBFQwUjAnoCWgI4YhaHR0cDovL3d3dy5zdGFydHNz bC5jb20vc2ZzY2EuY3JsMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0c3NsLmNv bS9zZnNjYS5jcmwwgYAGA1UdIAR5MHcwdQYLKwYBBAGBtTcBAgEwZjAuBggr BgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0 BggrBgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRp YXRlLnBkZjANBgkqhkiG9w0BAQsFAAOCAgEAjoHKsyWLGrmmIFvWbclENF8g 1dAgjk5PxNap5nPzOx72+3t9Rkdo9UsV5ZiWPwH0EDa4eEZ/Jm0+3J/Sdi2c U8qDvGJJdf9qkTXpsV9h20eRreq6kyCBmnX45ma0B1E79NGKPkLZtXaj6Qh/ 7nct9Zq/a3DqkgLF8k70euOXsdtijf6Xe6X1hUHlJUobxYuYwKSmbu2LVngs 5gXRjkAbd3wCphLf/lpRZA39lA3gEyu5dIkYVgVgEPG7uNMFsFb2Xabi7+zz R76OQn0/1cNd46xyUKx0C1jgXYL+Q4fvqPp/CIAEovHjngGRMy26S2z88u3O sjLfuhXRROLKSZwUJdKZzWBCT7HPbm8az8PfpV7wv7YD4nuJ1Rg/zcDXBLgk uBvhDskXOX+Wos74gMz4AYf1y6Oh+Ds+OXYd3IOrcU6ft4DPZk837MbN6zn8 TysrVCdOyT20iyLtBEg90AFOeELwiY5o2NWQH0kZQnYEBfBUsHkOr1IR2caL JZ1Ltr19v5N/LwPbC44D2Z61XSFSWs8wcKYm1lFsVkCM6VCsqEwzmETfVBqX YcXo6R9WG0TSe+qCPp0u3fzvXLFJiHXdzQ4EXqRk9H1KCKPcZmEDAQ2wRIjT rlaDQFFKgK1YHpHEBPPAjIgaAP8aby4+n5y/061KsNHA2MamE34xDzWhWHkx ggPtMIID6QIBATCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0 Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRl IFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJ bnRlcm1lZGlhdGUgQ2xpZW50IENBAgMMb3owDQYJYIZIAWUDBAIBBQCgggIp MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE1 MTExOTE4NTMyMFowLwYJKoZIhvcNAQkEMSIEILBQKo9lybtSZfYqKYSc1aWO BWtxrnZfXxph82Wf7aebMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEq MAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYI KoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgaUGCSsGAQQB gjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp Z25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRl cm1lZGlhdGUgQ2xpZW50IENBAgMMb3owgacGCyqGSIb3DQEJEAILMYGXoIGU MIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkG A1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAwxvejANBgkqhkiG9w0BAQEFAASCAQBoahT8gBznIgczOqIN LkXFNBTzp0wVQOS5u6K549o9ObndYigsRS4zOOvsODXRGquSwXPbO5iV4NMq O5MXsFpkqU4vLBD7n3mSu1DUnyoBErJIdbjPoV9M+CxEcaZqSQVKwtf7K8Vi 6EO5yTDVkjOnokpXv5ZppmJpY32f8DV9rWCBiRJwiISQ7XNKHquUqf2D1FfS 6hXbKGr8IV+X9NQm+BZOsaD0Yu5rOz+PmHTvl8v2CnvfUsHsHeQwABkEQce/ METfKHFYRc36Oz7LP0hHN8omrUPGUO5uiKXiQz2xF8OlaY5S6HdsbKw0/bPi IMFKGvN8bNh8NgKYurtjjCreAAAAAAAA --------------ms000803000505030104040508--