4 ms·
Certainly better to avoid it if at all possible, and I'll be eliminating them specifically to improve Windows compatibility. It's not that unusual, though, a q
by slimsag 4y ago
Certainly better to avoid it if at all possible, and I'll be eliminating them specifically to improve Windows compatibility.
It's not that unusual, though, a quick search turns up 1.1k GitHub repositories with `git config core.symlinks true` in their documentation or CI pipelines - including quite popular projects like Ava, Apache Arrow, Solana, Chrome Devtools, adobe-fonts, IBM/houdinID, travis-ci, RabbitMQ, various Google projects & more.
- colejohnson66 4y agoI agree that Windows could do more to support the developers on other platforms. Symlinks just seem like a petty thing to complain about IMHO. Didn’t realize how common they were though. NTFS does support them, however. Is Git just not supporting them properly?
- fortran77 4y agoThat's exactly it. Windows developers know NTFS has Symbolic Links https://docs.microsoft.com/en-us/windows/win32/fileio/creating-symbolic-links?redirectedfrom=MSDN https://docs.microsoft.com/en-us/windows/win32/fileio/creati...
- bilekas 4y agoMaybe I missed something on this discussion but symlinks and NTFS are not really related.. They have them yes, how they're handled is different.
- fragmede 4y agoHow are they not related? If NTFS didn't have symlinks we wouldn't be having this discussion. Critically, the modern standard for removable drives, exFAT does not support symlinks, so you can't count on Windows' support for symlinks if the user is git cloning on a drive that's using exFAT.
- pjmlp 4y agohttps://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink https://docs.microsoft.com/en-us/windows-server/administrati...
- forgotpwd16 4y agoPointing to this page is meaningless. `mklink /d` only works on NTFS but errors out ("The device does not support symbolic links.") on exFAT. GP acknowledges NTFS has symlinks and remarks that exFAT doesn't.
- pjmlp 4y agoNTFS is the only filesystem that matters for Windows developers.
- CoastalCoder 4y agoWhat's the standard for being an "actual Windows user"? Asking because I doubt e.g. my mom knows that NTFS has symlinks.
- pjmlp 4y agoIs she a Windows developer? https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink https://docs.microsoft.com/en-us/windows-server/administrati...
- Dylan16807 4y ago> What's the standard for being an "actual Windows user"? I think you misread that line.
- slimsag 4y agoTheir message originally read "Actual Windows developers know NTFS has Symbolic Links"
- Dylan16807 4y agoSo it did say "developers" and not "users"? I think they misread the line. (Whether it was right or not, so you don't need to tell me anything about that.)
- slimsag 4y agoWell, it feels 'petty' and simple until: 1. You run into it, go "AH, wow, okay, I'll enable Developer Mode" 2. It still doesn't work, you're confused, you Google around a bit more and find out actually you also need to use a Git config option 3. You retry, now the symlinks work, but your compiler fails because "Destination Path Too Long", huh, that's weird 4. You google a bit more, and discover you need to set a registry option. So you do it, but you still get that error.. 5. You discover there's another Git option you need to set And then you're like, hey, what was I doing again? Where did the last hour of my time go? It's death by a thousand paper cuts.
- deleted 4y ago[deleted]
- giantrobot 4y agoYak shaving.
- pjmlp 4y agoIt does support them, mklink. https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink https://docs.microsoft.com/en-us/windows-server/administrati...
- colejohnson66 4y agoYes, Windows does, but this post is complaining about support. Which led me to ask if Git is the problem. Cause Git also supports symlinks, but is clearly having issues on Windows.
- bogwog 4y agoI would assume the issue is that they need to disable symlink support by default on Windows because symlink support is disabled by default on Windows.
- Pathogen-David 4y agoNTFS has supported them for ages. The main issue is that they're locked behind elevated permissions or having developer mode enabled (as of Windows 10.) My understanding is Microsoft's concern is that applications and OS components not expecting them could lead to security issues. Not sure how real that concern is, but that's the excuse I've heard.
- nemothekid 4y ago>Not sure how real that concern is, but that's the excuse I've heard. Bufferoverun I guess? I haven't programmed Windows in years, but there's plenty of code I've seen that is pretty much char path[MAX_PATH]; res = some_func(&path); from there you put in a large path and then you get your RCE.
- MereInterest 4y agoThat would be for removing the 260 character limit, not for enabling of symlinks.
- MereInterest 4y agoI've looked before, and have never found a definitive answer from Microsoft. I've heard some speculation that it the nebulous security issues would be from a program that checks the permissions of a symlink's target, then opens the symlink. An attacker could then modify the symlink after the permission check but before the file is opened, escalating access by pointing to a restricted file.
- pxc 4y agoIt's a kind of attack called a symlink race, which is also possible on other operating systems. There are kernel parameters for hardening against symlink races on Linux, and they just disable symlinking into world-writable locations. I'm not sure why Windows can't use a less invasive mitigation like that, but I guess there must be one.
- 4y ago
- deleted 4y ago[deleted]