Re: [PATCH] http: match headers case-insensitively when redacting
On Tue, Sep 21, 2021 at 03:06:20PM -0400, Eric Sunshine wrote:
Show 17 quoted lines
> On Tue, Sep 21, 2021 at 2:41 PM Jeff King <peff@peff.net> wrote:
> > When HTTP/2 is in use, we fail to correctly redact "Authorization" (and
> > other) headers in our GIT_TRACE_CURL output.
> >
> > We get the headers in our CURLOPT_DEBUGFUNCTION callback, curl_trace().
> > It passes them along to curl_dump_header(), which in turn checks
> > redact_sensitive_header(). We see the headers as a text buffer like:
> >
> > Host: ...
> > Authorization: Basic ...
> >
> > After breaking it into lines, we match each header using skip_prefix().
> > This is case-insensitive, even though HTTP headers are case-insensitive.
> > This has worked reliably in the past because these headers are generated
> > by curl itself, which is predictable in what it sends.
>
> Did you mean "This is case-sensitive..."?
Whoops, yes. It probably makes a lot more sense with that fix. :)
-Peff