gpg-interface: improve interface for parsing tags
We have a function which parses a buffer with a signature at the end, parse_signature, and this function is used for signed tags. However, we'll need to store values for multiple algorithms, and we'll do this by using a header for the non-default algorithm. Adjust the parse_signature interface to store the parsed data in two strbufs and turn the existing function into parse_signed_buffer. The latter is still used in places where we know we always have a signed buffer, such as push certs. Adjust all the callers to deal with this new interface. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
1fb5cf0da6
commit
482c119186
@ -764,7 +764,7 @@ static void prepare_push_cert_sha1(struct child_process *proc)
|
||||
|
||||
memset(&sigcheck, '\0', sizeof(sigcheck));
|
||||
|
||||
bogs = parse_signature(push_cert.buf, push_cert.len);
|
||||
bogs = parse_signed_buffer(push_cert.buf, push_cert.len);
|
||||
check_signature(push_cert.buf, bogs, push_cert.buf + bogs,
|
||||
push_cert.len - bogs, &sigcheck);
|
||||
|
||||
@ -2050,7 +2050,7 @@ static void queue_commands_from_cert(struct command **tail,
|
||||
die("malformed push certificate %.*s", 100, push_cert->buf);
|
||||
else
|
||||
boc += 2;
|
||||
eoc = push_cert->buf + parse_signature(push_cert->buf, push_cert->len);
|
||||
eoc = push_cert->buf + parse_signed_buffer(push_cert->buf, push_cert->len);
|
||||
|
||||
while (boc < eoc) {
|
||||
const char *eol = memchr(boc, '\n', eoc - boc);
|
||||
|
Reference in New Issue
Block a user