diff options
author | Michael J Gruber <git@drmicha.warpmail.net> | 2010-11-10 12:17:30 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-10 09:40:35 -0800 |
commit | 3d5854e765dedfaf2a942e8fa1e950a40f9dcee3 (patch) | |
tree | 1156a1b70da302be54cf5c5c44003d461551ba1d | |
parent | tag: factor out sig detection for tag display (diff) | |
download | tgif-3d5854e765dedfaf2a942e8fa1e950a40f9dcee3.tar.xz |
tag: recognize rfc1991 signatures
We have always been creating rfc1991 signatures for users with "rfc1991"
in their gpg config but failed to recognize them (tag -l -n largenumber)
and verify them (tag -v, verify-tag).
Make good use of the refactored signature detection and let us recognize
and verify those signatures also.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t7004-tag.sh | 12 | ||||
-rw-r--r-- | tag.c | 4 |
2 files changed, 9 insertions, 7 deletions
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index c7d49e1049..6841c23c0a 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -1048,19 +1048,19 @@ cp "$1" actual EOF chmod +x fakeeditor -test_expect_failure GPG \ +test_expect_success GPG \ 'reediting a signed tag body omits signature' ' echo "RFC1991 signed tag" >expect && GIT_EDITOR=./fakeeditor git tag -f -s rfc1991-signed-tag $commit && test_cmp expect actual ' -test_expect_failure GPG \ +test_expect_success GPG \ 'verifying rfc1991 signature' ' git tag -v rfc1991-signed-tag ' -test_expect_failure GPG \ +test_expect_success GPG \ 'list tag with rfc1991 signature' ' echo "rfc1991-signed-tag RFC1991 signed tag" >expect && git tag -l -n1 rfc1991-signed-tag >actual && @@ -1073,12 +1073,12 @@ test_expect_failure GPG \ rm -f gpghome/gpg.conf -test_expect_failure GPG \ +test_expect_success GPG \ 'verifying rfc1991 signature without --rfc1991' ' git tag -v rfc1991-signed-tag ' -test_expect_failure GPG \ +test_expect_success GPG \ 'list tag with rfc1991 signature without --rfc1991' ' echo "rfc1991-signed-tag RFC1991 signed tag" >expect && git tag -l -n1 rfc1991-signed-tag >actual && @@ -1089,7 +1089,7 @@ test_expect_failure GPG \ test_cmp expect actual ' -test_expect_failure GPG \ +test_expect_success GPG \ 'reediting a signed tag body omits signature' ' echo "RFC1991 signed tag" >expect && GIT_EDITOR=./fakeeditor git tag -f -s rfc1991-signed-tag $commit && @@ -5,6 +5,7 @@ #include "blob.h" #define PGP_SIGNATURE "-----BEGIN PGP SIGNATURE-----" +#define PGP_MESSAGE "-----BEGIN PGP MESSAGE-----" const char *tag_type = "tag"; @@ -140,7 +141,8 @@ size_t parse_signature(const char *buf, unsigned long size) { char *eol; size_t len = 0; - while (len < size && prefixcmp(buf + len, PGP_SIGNATURE)) { + while (len < size && prefixcmp(buf + len, PGP_SIGNATURE) && + prefixcmp(buf + len, PGP_MESSAGE)) { eol = memchr(buf + len, '\n', size - len); len += eol ? eol - (buf + len) + 1 : size - len; } |