git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] t/Makefile: make sure that file names are truly platform-independent

From
Jeff King <peff@peff.net>
Date
Aug 16, 2016, 14:55 UTC
Message-ID
<20160816145532.nfooqmkaostc2e7t@sigill.intra.peff.net>
In-Reply-To
<alpine.DEB.2.20.1608161502240.4924@virtualbox>
On Tue, Aug 16, 2016 at 03:10:46PM +0200, Johannes Schindelin wrote:
Show 16 quoted lines
> > I am not convinced this mechanism needs to be built into git. Because it
> > happens to be about filenames, git at least has a hope of making sense
> > of the various project rules.
> 
> Both of you gentle people may recall a conversation in December 2014 when
> we scrambled to plug a hole where maliciously-chosen file names would have
> allowed to wreak havoc with a local Git repository's config (among other
> things).
> 
> We did plug it, but not before I proposed to exclude many more file names
> than just maliciously-chosen ones. For example, I wanted to exclude all
> file names that are illegal on Windows when core.protectNTFS was set to
> true.
> 
> If we were to implement this "let's help cross-platform projects"
> functionality, it would be at that same level.

Hrm. I am not sure I agree. At GitHub, for instance, we turn on core.protectNTFS for all repositories because we do want to be a vector for attacks. So the tradeoff is a good one: the restrictions on filenames are not that big, and we gain a lot of safety (i.e., a known remote code execution bug).

Whereas if core.protectNTFS started disallowing trees with both "foo" and "FOO", that is a much different tradeoff. It is much more likely to come up, and it is protecting a much less valuable thing (it's an annoyance, not a security hole). Projects which do not care about people on case-insensitive filesystems will be annoyed to have their commits rejected (whether they are right to be so uncaring or not can be debated, but I am not sure that GitHub wants to enforce a hard policy at the fsck layer).

So even if we wanted a similar mechanism, I think it has to be triggered by a separate config option. And I do not think general hosting sites would turn it on. It's really a project decision, not a hosting-site one.

There may be some rules that are in between. I.e., names that are illegal on some common platform but are extremely unlikely to be chosen in general. I'd have to see the rules to give an opinion.

-Peff
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 6 of 17 in “t/Makefile: make sure that file names are truly platform-independent”
  1. t/Makefile: make sure that file names are truly platform-independentJohannes Schindelin, Aug 15, 2016
  2. Junio C HamanoAug 15, 2016
  3. Junio C HamanoAug 15, 2016
  4. Jeff KingAug 15, 2016
  5. Johannes SchindelinAug 16, 2016
  6. Jeff KingAug 16, 2016
  7. Johannes SchindelinAug 16, 2016
  8. Jeff KingAug 16, 2016
  9. Junio C HamanoAug 15, 2016
  10. Johannes SchindelinAug 16, 2016
  11. Johannes SchindelinAug 16, 2016
  12. Junio C HamanoAug 16, 2016
  13. Junio C HamanoAug 16, 2016
  14. Johannes SchindelinAug 16, 2016
  15. Johannes SixtAug 16, 2016
  16. t/Makefile: make sure that paths can be checked out on platforms we careJohannes Schindelin, Aug 16, 2016
  17. t/Makefile: ensure that paths are valid on platforms we careJohannes Schindelin, Aug 16, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.