MCPcopy Create free account
hub / github.com/git/git / check_signature

Function check_signature

gpg-interface.c:661–688  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

659}
660
661int check_signature(struct signature_check *sigc,
662 const char *signature, size_t slen)
663{
664 struct gpg_format *fmt;
665 int status;
666
667 gpg_interface_lazy_init();
668
669 sigc->result = 'N';
670 sigc->trust_level = TRUST_UNDEFINED;
671
672 fmt = get_format_by_sig(signature);
673 if (!fmt)
674 die(_("bad/incompatible signature '%s'"), signature);
675
676 if (parse_payload_metadata(sigc))
677 return 1;
678
679 status = fmt->verify_signed_buffer(sigc, fmt, signature, slen);
680
681 if (status && !sigc->output)
682 return !!status;
683
684 status |= sigc->result != 'G' && sigc->result != 'Y';
685 status |= sigc->trust_level < configured_min_trust_level;
686
687 return !!status;
688}
689
690void print_signature_buffer(const struct signature_check *sigc, unsigned flags)
691{

Callers 7

run_gpg_verifyFunction · 0.85
fmt_merge_msg_sigsFunction · 0.85
show_signatureFunction · 0.85
show_one_mergetagFunction · 0.85
verify_commit_bufferFunction · 0.85
prepare_push_cert_sha1Function · 0.85

Calls 4

gpg_interface_lazy_initFunction · 0.85
get_format_by_sigFunction · 0.85
parse_payload_metadataFunction · 0.85
dieFunction · 0.70

Tested by

no test coverage detected