From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Daniel Stenberg <daniel@haxx.se>
Subject: Re: [PATCH] http: match headers case-insensitively when redacting
Date: Wed, 22 Sep 2021 13:51:39 -0700 [thread overview]
Message-ID: <xmqqk0j85o6c.fsf@gitster.g> (raw)
In-Reply-To: <YUuNXOb5blV7iN6P@coredump.intra.peff.net> (Jeff King's message of "Wed, 22 Sep 2021 16:09:00 -0400")
Jeff King <peff@peff.net> writes:
> On Wed, Sep 22, 2021 at 12:19:26PM -0700, Junio C Hamano wrote:
>
>> Jeff King <peff@peff.net> writes:
>>
>> > # Ensure that there is no "Basic" followed by a base64 string, but that
>> > # the auth details are redacted
>> > ! grep "Authorization: Basic [0-9a-zA-Z+/]" trace &&
>> > grep "Authorization: Basic <redacted>" trace
>> >
>> > gets confused. It sees the "<redacted>" one from the pre-upgrade
>> > HTTP/1.1 request, but fails to see the unredacted HTTP/2 one, because it
>> > does not match the lower-case "authorization".
>>
>> Neither pattern of the above two will not match the HTTP/2 one, so
>> the first one would report "there is no leakage of Auth with a
>> caplital letter"; the second one may see only one pre-upgrade Auth
>> with a capital letter, but as long as it does find one, it should be
>> happy, no?
>>
>> I am a bit puzzled how the test gets confused.
>
> The first one matches nothing, because the HTTP/2 one which fails to
> redact has a lower-case "A". The second one _does_ match, because ...
I thought we were talking about the original case sensitive test
getting confused when testing the software that is fixed,
i.e. HTTP/2 lowercase "authorization" line properly redacted.
> I get (with some extraneous headers omitted):
> ...
> => Send header: GET /auth/smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1
> => Send header: Authorization: Basic <redacted>
So, this is what we see in HTTP/1.1 (with capitalization). And then
...
> ...
> => Send header: POST /auth/smart/repo.git/git-upload-pack HTTP/2
> => Send header: authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==
this one, once the redaction code is fixed by applying this patch,
would show that we redacted it, too, no?
With or without the fix in the code, I agree that neither of the two
"grep" patterns without "grep -i" change will match this line. So
the end result is that the test finds no unredacted line, and one
redacted one (instead of two).
I agree that it is *not* testing what we want to test, and if you
said so, I wouldn't have been puzzled. I just wanted to know if
there is something _else_ (other than "gee, we are not testing the
HTTP/2 case at all") going on that I failed to read in your
"... gets confused".
Thanks.
next prev parent reply other threads:[~2021-09-22 20:51 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-21 18:41 [PATCH] http: match headers case-insensitively when redacting Jeff King
2021-09-21 18:47 ` Jeff King
2021-09-21 20:14 ` Carlo Arenas
2021-09-21 20:40 ` Jeff King
2021-09-21 22:00 ` Daniel Stenberg
2021-09-22 2:32 ` Jeff King
2021-09-21 19:06 ` Eric Sunshine
2021-09-21 19:14 ` Jeff King
2021-09-22 19:10 ` Junio C Hamano
2021-09-21 21:20 ` Taylor Blau
2021-09-22 2:30 ` Jeff King
2021-09-22 2:32 ` Bagas Sanjaya
2021-09-22 20:11 ` Jeff King
2021-09-23 1:22 ` Ævar Arnfjörð Bjarmason
2021-09-23 21:56 ` Jeff King
2021-09-22 19:19 ` Junio C Hamano
2021-09-22 20:09 ` Jeff King
2021-09-22 20:51 ` Junio C Hamano [this message]
2021-09-22 21:18 ` Jeff King
2021-09-22 21:42 ` Junio C Hamano
2021-09-22 22:11 ` [PATCH v2] " Jeff King
2021-09-22 22:14 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqk0j85o6c.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=daniel@haxx.se \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).