http: support cookie redaction when tracing
When using GIT_TRACE_CURL, Git already redacts the "Authorization:" and "Proxy-Authorization:" HTTP headers. Extend this redaction to a user-specified list of cookies, specified through the "GIT_REDACT_COOKIES" environment variable. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
2512f15446
commit
83411783c3
@ -364,5 +364,26 @@ test_expect_success 'custom http headers' '
|
||||
submodule update sub
|
||||
'
|
||||
|
||||
test_expect_success 'GIT_REDACT_COOKIES redacts cookies' '
|
||||
rm -rf clone &&
|
||||
echo "Set-Cookie: Foo=1" >cookies &&
|
||||
echo "Set-Cookie: Bar=2" >>cookies &&
|
||||
GIT_TRACE_CURL=true GIT_REDACT_COOKIES=Bar,Baz \
|
||||
git -c "http.cookieFile=$(pwd)/cookies" clone \
|
||||
$HTTPD_URL/smart/repo.git clone 2>err &&
|
||||
grep "Cookie:.*Foo=1" err &&
|
||||
grep "Cookie:.*Bar=<redacted>" err &&
|
||||
! grep "Cookie:.*Bar=2" err
|
||||
'
|
||||
|
||||
test_expect_success 'GIT_REDACT_COOKIES handles empty values' '
|
||||
rm -rf clone &&
|
||||
echo "Set-Cookie: Foo=" >cookies &&
|
||||
GIT_TRACE_CURL=true GIT_REDACT_COOKIES=Foo \
|
||||
git -c "http.cookieFile=$(pwd)/cookies" clone \
|
||||
$HTTPD_URL/smart/repo.git clone 2>err &&
|
||||
grep "Cookie:.*Foo=<redacted>" err
|
||||
'
|
||||
|
||||
stop_httpd
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user