diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-05-01 13:39:59 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-01 13:39:59 -0700 |
commit | 2c42fb76531f4565b5434e46102e6d85a0861738 (patch) | |
tree | b5ec6cc230feb7c2b2a78ac22281d477d9c430ee | |
parent | Merge branch 'es/bugreport' (diff) | |
parent | push: anonymize URLs in error messages and warnings (diff) | |
download | tgif-2c42fb76531f4565b5434e46102e6d85a0861738.tar.xz |
Merge branch 'js/anonymise-push-url-in-errors'
Error and verbose trace messages from "git push" did not redact
credential material embedded in URLs.
* js/anonymise-push-url-in-errors:
push: anonymize URLs in error messages and warnings
-rw-r--r-- | builtin/push.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/push.c b/builtin/push.c index 6dbf0f0bb7..59c8acb556 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -340,6 +340,7 @@ static int push_with_options(struct transport *transport, struct refspec *rs, { int err; unsigned int reject_reasons; + char *anon_url = transport_anonymize_url(transport->url); transport_set_verbosity(transport, verbosity, progress); transport->family = family; @@ -357,18 +358,19 @@ static int push_with_options(struct transport *transport, struct refspec *rs, } if (verbosity > 0) - fprintf(stderr, _("Pushing to %s\n"), transport->url); + fprintf(stderr, _("Pushing to %s\n"), anon_url); trace2_region_enter("push", "transport_push", the_repository); err = transport_push(the_repository, transport, rs, flags, &reject_reasons); trace2_region_leave("push", "transport_push", the_repository); if (err != 0) { fprintf(stderr, "%s", push_get_color(PUSH_COLOR_ERROR)); - error(_("failed to push some refs to '%s'"), transport->url); + error(_("failed to push some refs to '%s'"), anon_url); fprintf(stderr, "%s", push_get_color(PUSH_COLOR_RESET)); } err |= transport_disconnect(transport); + free(anon_url); if (!err) return 0; |