MCPcopy Index your code
hub / github.com/git/git / validate_remote_url

Function validate_remote_url

remote.c:748–790  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

746}
747
748static void validate_remote_url(struct remote *remote)
749{
750 int i;
751 const char *value;
752 struct strbuf redacted = STRBUF_INIT;
753 int warn_not_die;
754
755 if (repo_config_get_string_tmp(the_repository, "transfer.credentialsinurl", &value))
756 return;
757
758 if (!strcmp("warn", value))
759 warn_not_die = 1;
760 else if (!strcmp("die", value))
761 warn_not_die = 0;
762 else if (!strcmp("allow", value))
763 return;
764 else
765 die(_("unrecognized value transfer.credentialsInUrl: '%s'"), value);
766
767 for (i = 0; i < remote->url.nr; i++) {
768 struct url_info url_info = { 0 };
769
770 if (!url_normalize(remote->url.v[i], &url_info) ||
771 !url_info.passwd_off)
772 goto loop_cleanup;
773
774 strbuf_reset(&redacted);
775 strbuf_add(&redacted, url_info.url, url_info.passwd_off);
776 strbuf_addstr(&redacted, "<redacted>");
777 strbuf_addstr(&redacted,
778 url_info.url + url_info.passwd_off + url_info.passwd_len);
779
780 if (warn_not_die)
781 warning(_("URL '%s' uses plaintext credentials"), redacted.buf);
782 else
783 die(_("URL '%s' uses plaintext credentials"), redacted.buf);
784
785loop_cleanup:
786 free(url_info.url);
787 }
788
789 strbuf_release(&redacted);
790}
791
792static struct remote *
793remotes_remote_get_1(struct repository *repo, const char *name,

Callers 1

remotes_remote_get_1Function · 0.85

Calls 7

url_normalizeFunction · 0.85
strbuf_addFunction · 0.85
strbuf_addstrFunction · 0.85
warningFunction · 0.85
strbuf_releaseFunction · 0.85
dieFunction · 0.70

Tested by

no test coverage detected