]> git.ipfire.org Git - thirdparty/git.git/commit - fsck.c
fsck: detect gitmodules URLs with embedded newlines
authorJeff King <peff@peff.net>
Wed, 11 Mar 2020 22:48:24 +0000 (18:48 -0400)
committerJeff King <peff@peff.net>
Thu, 12 Mar 2020 06:56:50 +0000 (02:56 -0400)
commit07259e74ec1237c836874342c65650bdee8a3993
tree5cc2be3aa1dd29e8bee5c2625026b91f2a91555e
parentc716fe4bd917e013bf376a678b3a924447777b2d
fsck: detect gitmodules URLs with embedded newlines

The credential protocol can't handle values with newlines. We already
detect and block any such URLs from being used with credential helpers,
but let's also add an fsck check to detect and block gitmodules files
with such URLs. That will let us notice the problem earlier when
transfer.fsckObjects is turned on. And in particular it will prevent bad
objects from spreading, which may protect downstream users running older
versions of Git.

We'll file this under the existing gitmodulesUrl flag, which covers URLs
with option injection. There's really no need to distinguish the exact
flaw in the URL in this context. Likewise, I've expanded the description
of t7416 to cover all types of bogus URLs.
fsck.c
t/t7416-submodule-dash-url.sh