Re: [PATCH 0/3] credential: handle partial URLs in config settings again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 22, 2020 at 08:51:02PM +0000, Johannes Schindelin via GitGitGadget wrote:

> This fixes the problem illustrated by Peff's example
> [https://lore.kernel.org/git/20200422040644.GC3559880@xxxxxxxxxxxxxxxxxxxxxxx/]
> , in maint-2.17:
> 
>   $ echo url=https://example.com |
>     git -c credential.example.com.username=foo credential fill
>   warning: url has no scheme: example.com
>   fatal: credential url cannot be parsed: example.com
> 
> The fix is necessarily different than what was proposed by brian
> [https://lore.kernel.org/git/20200422012344.2051103-1-sandals@xxxxxxxxxxxxxxxxxxxx/] 
> because that fix targets v2.26.x which has 46fd7b390034 (credential: allow
> wildcard patterns when matching config, 2020-02-20).
> 
> This patch series targets maint-2.17 instead (and might actually not be able
> to fix maint due to that wildcard pattern patch; I haven't had the time to
> check yet).

Yes, this will remove the die() in all versions, but in v2.26.0 and up,
that config would be silently ignored (and your new test will fail).

> Please note that Git v2.17.4 will not do what we would expect here: if any
> host name (without protocol) is specified, e.g. -c
> credential.golli.wog.username = boo, it will actually ignore the host name.
> That is, this will populate the username:
> 
>   $ echo url=https://example.com |
>     git -c credential.totally.bog.us.username=foo credential fill

That seems scary. What if it is not .username, but:

  [credential "example.com"]
  username = foo
  helper = "!echo password=bar"

? (Or you can imagine a helper that is pulling from a read-only store,
like "pass"). That would send the credential to the wrong host.

I think any fix we do here needs to make sure we are not any
reintroducing wrong-host problems (though I do admit that the usage like
my example above is probably way less common than vanilla helpers that
do the host-selection themselves).

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux