git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv2 5/5] tag: recognize rfc1991 signatures

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Nov 10, 2010, 11:17 UTC
Message-ID
<052734203b66fea86fda1b9aee0cf1975a3a6f9c.1289387142.git.git@drmicha.warpmail.net>
In-Reply-To
<cover.1289041051.git.git@drmicha.warpmail.net>

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>
---
 t/t7004-tag.sh |   12 ++++++------
 tag.c          |    4 +++-
 2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index c7d49e1..6841c23 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 &&
diff --git a/tag.c b/tag.c
index d4f3080..f789744 100644
--- a/tag.c
+++ b/tag.c
@@ -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;
 	}
-- 
1.7.3.2.193.g78bbb
Previous: Michael J GruberNext: Michael J Gruber
Message 23 of 39 in “Error when verifying tags signed using 1.7.3.1”
  1. Stephan HugelOct 4, 2010
  2. Daniel JohnsonOct 4, 2010
  3. Stephan HugelOct 4, 2010
  4. Daniel JohnsonOct 4, 2010
  5. Stephan HugelOct 5, 2010
  6. Michael J GruberOct 5, 2010
  7. Stephan HugelOct 5, 2010
  8. Michael J GruberOct 5, 2010
  9. Stephan HugelOct 5, 2010
  10. Michael J GruberOct 5, 2010
  11. tag,verify-tag: do not trip over rfc1991 signaturesMichael J Gruber, Oct 5, 2010
  12. Junio C HamanoOct 5, 2010
  13. Michael J GruberOct 5, 2010
  14. Stephan HugelOct 5, 2010
  15. Michael J GruberOct 5, 2010
  16. 0/5 Handling of rfc1991 signaturesMichael J Gruber, Nov 6, 2010
  17. 0/5 Handling of rfc1991 signaturesMichael J Gruber, Nov 10, 2010
  18. Junio C HamanoNov 10, 2010
  19. 1/5 t/t7004-tag: test handling of rfc1991 signaturesMichael J Gruber, Nov 10, 2010
  20. 2/5 verify-tag: factor out signature detectionMichael J Gruber, Nov 10, 2010
  21. 3/5 tag: factor out sig detection for body editsMichael J Gruber, Nov 10, 2010
  22. 4/5 tag: factor out sig detection for tag displayMichael J Gruber, Nov 10, 2010
  23. 5/5 tag: recognize rfc1991 signaturesMichael J Gruber, Nov 10, 2010
  24. 1/5 t/t7004-tag: test handling of rfc1991 signaturesMichael J Gruber, Nov 6, 2010
  25. Junio C HamanoNov 9, 2010
  26. Michael J GruberNov 9, 2010
  27. Junio C HamanoNov 10, 2010
  28. Michael J GruberNov 10, 2010
  29. 2/5 verify-tag: factor out signature detectionMichael J Gruber, Nov 6, 2010
  30. Thiago FarinaNov 6, 2010
  31. 3/5 tag: factor out sig detection for body editsMichael J Gruber, Nov 6, 2010
  32. 4/5 tag: factor out sig detection for tag displayMichael J Gruber, Nov 6, 2010
  33. 5/5 tag: recognize rfc1991 signaturesMichael J Gruber, Nov 6, 2010
  34. Thiago FarinaNov 6, 2010
  35. Junio C HamanoNov 8, 2010
  36. Todd ZullingerOct 5, 2010
  37. Michael J GruberOct 5, 2010
  38. Stephan HugelOct 5, 2010
  39. Pat ThoytsOct 5, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.