diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2021-01-19 00:49:11 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-01-19 02:38:20 +0100 |
commit | 1fb5cf0da657ef046c4eb4d0de6f2defb2fb09c6 (patch) | |
tree | 345b28b8ed678c73cc97d7438707b05d6f327ea5 /commit.h | |
parent | ref-filter: switch some uses of unsigned long to size_t (diff) | |
download | git-1fb5cf0da657ef046c4eb4d0de6f2defb2fb09c6.tar.xz git-1fb5cf0da657ef046c4eb4d0de6f2defb2fb09c6.zip |
commit: ignore additional signatures when parsing signed commits
When we create a commit with multiple signatures, neither of these
signatures includes the other. Consequently, when we produce the
payload which has been signed so we can verify the commit, we must strip
off any other signatures, or the payload will differ from what was
signed. Do so, and in preparation for verifying with multiple
algorithms, pass the algorithm we want to verify into
parse_signed_commit.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.h')
-rw-r--r-- | commit.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -317,7 +317,8 @@ void set_merge_remote_desc(struct commit *commit, struct commit *get_merge_parent(const char *name); int parse_signed_commit(const struct commit *commit, - struct strbuf *message, struct strbuf *signature); + struct strbuf *message, struct strbuf *signature, + const struct git_hash_algo *algop); int remove_signature(struct strbuf *buf); /* |