{"thread":{"id":"59854","subject":"Test failures with cURL-8.1.2 (when building git-2.41.0)","startedAt":"2023-06-12T17:06:43Z","lastAt":"2023-06-12T20:28:43Z","messageCount":2,"participants":["Douglas R. Reno","rsbecker@nexbridge.com"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"478283","messageId":"3843d97f-0073-e2d4-b98d-5a38c33b25f3@linuxfromscratch.org","threadId":"59854","inReplyTo":null,"subject":"Test failures with cURL-8.1.2 (when building git-2.41.0)","fromName":"Douglas R. Reno","fromEmail":"renodr@linuxfromscratch.org","sentAt":"2023-06-12T16:58:45Z","receivedAt":"2023-06-12T17:06:43Z","isPatch":false,"sender":{"key":"renodr@linuxfromscratch.org","avatar":null},"body":"Good afternoon,\n\nWhile building git-2.41.0 with curl-8.1.2 installed, I've noticed three \ntest failures. They appear to be coming from \nt5559-http-fetch-smart-http2.sh. Here are the details from the tests:\n\nnot ok 17 - GIT_TRACE_CURL redacts auth details\n#\n#               rm -rf redact-auth trace &&\n#               set_askpass user@host pass@host &&\n#               GIT_TRACE_CURL=\"$(pwd)/trace\" git clone --bare \n\"$HTTPD_URL/auth/smart/repo.git\" redact-auth &&\n#               expect_askpass both user@host &&\n#\n#               # Ensure that there is no \"Basic\" followed by a base64 \nstring, but that\n#               # the auth details are redacted\n#               ! grep -i \"Authorization: Basic [0-9a-zA-Z+/]\" trace &&\n#               grep -i \"Authorization: Basic <redacted>\" trace\n#\nnot ok 18 - GIT_CURL_VERBOSE redacts auth details\n#\n#               rm -rf redact-auth trace &&\n#               set_askpass user@host pass@host &&\n#               GIT_CURL_VERBOSE=1 git clone --bare \n\"$HTTPD_URL/auth/smart/repo.git\" redact-auth 2>trace &&\n#               expect_askpass both user@host &&\n#\n#               # Ensure that there is no \"Basic\" followed by a base64 \nstring, but that\n#               # the auth details are redacted\n#               ! grep -i \"Authorization: Basic [0-9a-zA-Z+/]\" trace &&\n#               grep -i \"Authorization: Basic <redacted>\" trace\n#\n\nok 19 - GIT_TRACE_CURL does not redact auth details if GIT_TRACE_REDACT=0\nok 20 - disable dumb http on server\nok 21 - GIT_SMART_HTTP can disable smart http\nok 22 - invalid Content-Type rejected\nok 23 - create namespaced refs\nok 24 - smart clone respects namespace\nok 25 - dumb clone via http-backend respects namespace\nok 26 - cookies stored in http.cookiefile when http.savecookies set\nok 27 - transfer.hiderefs works over smart-http\nok 28 - create 2,000 tags in the repo\nok 29 - clone the 2,000 tag repo to check OS command line overflow\nok 30 - large fetch-pack requests can be sent using chunked encoding\nok 31 - test allowreachablesha1inwant\nok 32 - test allowreachablesha1inwant with unreachable\nok 33 - test allowanysha1inwant with unreachable\nok 34 # skip http can handle enormous ref negotiation (missing EXPENSIVE)\nok 35 - custom http headers\nok 36 - using fetch command in remote-curl updates refs\nok 37 - fetch by SHA-1 without tag following\nnot ok 38 - cookies are redacted by default\n#\n#               rm -rf clone &&\n#               echo \"Set-Cookie: Foo=1\" >cookies &&\n#               echo \"Set-Cookie: Bar=2\" >>cookies &&\n#               GIT_TRACE_CURL=true \\\n#                       git -c \"http.cookieFile=$(pwd)/cookies\" clone \\\n#                       $HTTPD_URL/smart/repo.git clone 2>err &&\n#               grep -i \"Cookie:.*Foo=<redacted>\" err &&\n#               grep -i \"Cookie:.*Bar=<redacted>\" err &&\n#               ! grep -i \"Cookie:.*Foo=1\" err &&\n#               ! grep -i \"Cookie:.*Bar=2\" err\n#\n\n\nI've done a bit of investigation and found the directory where it's \nsaving the results to, \"trash directory.t5559-http-fetch-smart-http2\". \nAfter changing to that directory and running 'grep -i \"Authorization: \nBasic\"' trace, I get:\n\nrenodr [ /sources/git-2.41.0/git-2.41.0/t/trash \ndirectory.t5559-http-fetch-smart-http2 ]$ grep -i \"Authorization: Basic\" \ntrace\n== Info: h2 [authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==]\n=> Send header: Authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==\n== Info: h2 [authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==]\n=> Send header: Authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==\n== Info: h2 [authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==]\n=> Send header: Authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==\n\nChecking the 'err' file where the cookies test was supposed to be \nlooking in results in:\n\nrenodr [ /sources/git-2.41.0/git-2.41.0/t/trash \ndirectory.t5559-http-fetch-smart-http2 ]$ cat err\nfatal: URL \n'https://user%40host:<redacted>@127.0.0.1:5559/auth/smart/repo.git' uses \nplaintext credentials\n\nPlease let me know if there's any way that I can help diagnose this further!\n\nThank you,\n\n- Doug\n\n"},{"id":"478298","messageId":"00b801d99d6c$74670e40$5d352ac0$@nexbridge.com","threadId":"59854","inReplyTo":"3843d97f-0073-e2d4-b98d-5a38c33b25f3@linuxfromscratch.org","subject":"RE: Test failures with cURL-8.1.2 (when building git-2.41.0)","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2023-06-12T20:28:26Z","receivedAt":"2023-06-12T20:28:43Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On Monday, June 12, 2023 12:59 PM, Douglas R. Reno wrote:\n>While building git-2.41.0 with curl-8.1.2 installed, I've noticed three test failures.\n>They appear to be coming from t5559-http-fetch-smart-http2.sh. Here are the details\n>from the tests:\n>\n>not ok 17 - GIT_TRACE_CURL redacts auth details # #               rm -rf redact-auth\n>trace && #               set_askpass user@host pass@host &&\n>#               GIT_TRACE_CURL=\"$(pwd)/trace\" git clone --bare\n>\"$HTTPD_URL/auth/smart/repo.git\" redact-auth && #               expect_askpass both\n>user@host && # #               # Ensure that there is no \"Basic\" followed by a base64\n>string, but that #               # the auth details are redacted #               ! grep -i\n>\"Authorization: Basic [0-9a-zA-Z+/]\" trace && #               grep -i \"Authorization: Basic\n><redacted>\" trace # not ok 18 - GIT_CURL_VERBOSE redacts auth details #\n>#               rm -rf redact-auth trace && #               set_askpass user@host pass@host\n>&& #               GIT_CURL_VERBOSE=1 git clone --bare\n>\"$HTTPD_URL/auth/smart/repo.git\" redact-auth 2>trace &&\n>#               expect_askpass both user@host && # #               # Ensure that there is no\n>\"Basic\" followed by a base64 string, but that #               # the auth details are\n>redacted #               ! grep -i \"Authorization: Basic [0-9a-zA-Z+/]\" trace &&\n>#               grep -i \"Authorization: Basic <redacted>\" trace #\n>\n>ok 19 - GIT_TRACE_CURL does not redact auth details if GIT_TRACE_REDACT=0 ok 20\n>- disable dumb http on server ok 21 - GIT_SMART_HTTP can disable smart http ok 22\n>- invalid Content-Type rejected ok 23 - create namespaced refs ok 24 - smart clone\n>respects namespace ok 25 - dumb clone via http-backend respects namespace ok 26 -\n>cookies stored in http.cookiefile when http.savecookies set ok 27 - transfer.hiderefs\n>works over smart-http ok 28 - create 2,000 tags in the repo ok 29 - clone the 2,000\n>tag repo to check OS command line overflow ok 30 - large fetch-pack requests can be\n>sent using chunked encoding ok 31 - test allowreachablesha1inwant ok 32 - test\n>allowreachablesha1inwant with unreachable ok 33 - test allowanysha1inwant with\n>unreachable ok 34 # skip http can handle enormous ref negotiation (missing\n>EXPENSIVE) ok 35 - custom http headers ok 36 - using fetch command in remote-curl\n>updates refs ok 37 - fetch by SHA-1 without tag following not ok 38 - cookies are\n>redacted by default # #               rm -rf clone && #               echo \"Set-Cookie: Foo=1\"\n>>cookies && #               echo \"Set-Cookie: Bar=2\" >>cookies &&\n>#               GIT_TRACE_CURL=true \\ #                       git -c\n>\"http.cookieFile=$(pwd)/cookies\" clone \\ #                       $HTTPD_URL/smart/repo.git\n>clone 2>err && #               grep -i \"Cookie:.*Foo=<redacted>\" err && #               grep\n>-i \"Cookie:.*Bar=<redacted>\" err && #               ! grep -i \"Cookie:.*Foo=1\" err &&\n>#               ! grep -i \"Cookie:.*Bar=2\" err #\n>\n>\n>I've done a bit of investigation and found the directory where it's saving the results to,\n>\"trash directory.t5559-http-fetch-smart-http2\".\n>After changing to that directory and running 'grep -i \"Authorization:\n>Basic\"' trace, I get:\n>\n>renodr [ /sources/git-2.41.0/git-2.41.0/t/trash\n>directory.t5559-http-fetch-smart-http2 ]$ grep -i \"Authorization: Basic\"\n>trace\n>== Info: h2 [authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA==] => Send header:\n>Authorization: Basic dXNlckBob3N0OnBhc3NAaG9zdA== == Info: h2 [authorization:\n>Basic dXNlckBob3N0OnBhc3NAaG9zdA==] => Send header: Authorization: Basic\n>dXNlckBob3N0OnBhc3NAaG9zdA== == Info: h2 [authorization: Basic\n>dXNlckBob3N0OnBhc3NAaG9zdA==] => Send header: Authorization: Basic\n>dXNlckBob3N0OnBhc3NAaG9zdA==\n>\n>Checking the 'err' file where the cookies test was supposed to be looking in results in:\n>\n>renodr [ /sources/git-2.41.0/git-2.41.0/t/trash\n>directory.t5559-http-fetch-smart-http2 ]$ cat err\n>fatal: URL\n>'https://user%40host:<redacted>@127.0.0.1:5559/auth/smart/repo.git' uses plaintext\n>credentials\n>\n>Please let me know if there's any way that I can help diagnose this further!\n\nCurl, for at least a year (Curl issue #8654), does not support blanks in URLs of any kind. Have you found any of these?\n\n-Randall\n\n"}]}