diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-06-14 01:53:42 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-06-14 01:53:42 +0300 |
commit | 11698e551ce0590af6d7ce1f5b683eca27e68ab3 (patch) | |
tree | 12296178753060a876dbf5105c7a258ebf7afdb4 /t/t5601-clone.sh | |
parent | eef985e17af956b341b08ed7ad47f3941cb7da94 (diff) | |
parent | 6dcbdc0d6616d7fbd2445aa2237b22e3c172ea85 (diff) |
Merge branch 'ds/credentials-in-url'
The "fetch.credentialsInUrl" configuration variable controls what
happens when a URL with embedded login credential is used.
* ds/credentials-in-url:
remote: create fetch.credentialsInUrl config
Diffstat (limited to 't/t5601-clone.sh')
-rwxr-xr-x | t/t5601-clone.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh index 4a61f2c901..d2f046b4b9 100755 --- a/t/t5601-clone.sh +++ b/t/t5601-clone.sh @@ -71,6 +71,29 @@ test_expect_success 'clone respects GIT_WORK_TREE' ' ' +test_expect_success 'clone warns or fails when using username:password' ' + message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" && + test_must_fail git -c fetch.credentialsInUrl=allow clone https://username:password@localhost attempt1 2>err && + ! grep "$message" err && + + test_must_fail git -c fetch.credentialsInUrl=warn clone https://username:password@localhost attempt2 2>err && + grep "warning: $message" err >warnings && + test_line_count = 2 warnings && + + test_must_fail git -c fetch.credentialsInUrl=die clone https://username:password@localhost attempt3 2>err && + grep "fatal: $message" err >warnings && + test_line_count = 1 warnings && + + test_must_fail git -c fetch.credentialsInUrl=die clone https://username:@localhost attempt3 2>err && + grep "fatal: $message" err >warnings && + test_line_count = 1 warnings +' + +test_expect_success 'clone does not detect username:password when it is https://username@domain:port/' ' + test_must_fail git -c fetch.credentialsInUrl=warn clone https://username@localhost:8080 attempt3 2>err && + ! grep "uses plaintext credentials" err +' + test_expect_success 'clone from hooks' ' test_create_repo r0 && |