Victor Toni <victor.t...@gmail.com> writes:

> What's unexpected is that paths used for sslKey or sslCert are treated
> differently insofar as they are expected to be absolute.
> Relative paths (whether with or without "~") don't work.

Looking at http.c::http_options(), I see that "sslcapath" and
"sslcainfo" do use git_config_pathname() when grabbing their values,
but "sslcert" and "sslkey" treat the value as a plain vanilla string
without expecting "~[username]/" at all.

The modern http.c codestructure was introduced at 29508e1e ("Isolate
shared HTTP request functionality", 2005-11-18) and was corrected
for interation between the multiple configuration files in 7059cd99
("http_init(): Fix config file parsing", 2009-03-09), but back in
these versions, all of them including "sslcapath" and "sslcainfo"
were all treated as plain vanilla strings.

It appears that only two of these among four were made aware of the
"~[username]/" prefix in bf9acba2 ("http: treat config options
sslCAPath and sslCAInfo as paths", 2015-11-23), but "sslkey" and
"sslcert" were still left as plain vanilla strings.  I do not know
if that was an elaborate omission, or a mere oversight, as it seems
that it happened while I was away, so...

Reply via email to