Module Name:    src
Committed By:   agc
Date:           Wed Jun 15 03:37:50 UTC 2016

Modified Files:
        src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c
            verify.h

Log Message:
netpgpverify: bring over changes in 20160615 from pkgsrc

+ perform check for start of ascii-armoured signature in a more efficient
way


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
    src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c
cvs rdiff -u -r1.6 -r1.7 \
    src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.8 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.9
--- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.8	Tue Jun 14 20:47:08 2016
+++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c	Wed Jun 15 03:37:50 2016
@@ -2021,18 +2021,14 @@ read_ascii_armor(pgpv_cursor_t *cursor, 
 		return 0;
 	}
 	litdata.u.litdata.len = litdata.s.size = (size_t)(p - datastart);
-	p += strlen(SIGSTART);
-	/* Work out whther there's a version line */
-	if (memcmp(p, "Version:", 8) == 0) {
-		if ((p = find_bin_string(p, mem->size, "\n\n",  2)) == NULL) {
-			snprintf(cursor->why, sizeof(cursor->why),
-				"malformed armed signature at %zu", (size_t)(p - mem->mem));
-			return 0;
-		}
-		p += 2;
-	} else {
-		p += 1;
+	/* this puts p at the newline character, so it will find \n\n if no version */
+	p += strlen(SIGSTART) - 1;
+	if ((p = find_bin_string(p, mem->size, "\n\n",  2)) == NULL) {
+		snprintf(cursor->why, sizeof(cursor->why),
+			"malformed armed signature at %zu", (size_t)(p - mem->mem));
+		return 0;
 	}
+	p += 2;
 	sigend = find_bin_string(p, mem->size, SIGEND, strlen(SIGEND));
 	binsigsize = b64decode((char *)p, (size_t)(sigend - p), binsig, sizeof(binsig));
 

Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.6 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.7
--- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.6	Tue Jun 14 20:47:08 2016
+++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h	Wed Jun 15 03:37:50 2016
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2012,2013,2014,2015 Alistair Crooks <[email protected]>
+ * Copyright (c) 2012,2013,2014,2015,2016 Alistair Crooks <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -23,9 +23,9 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #ifndef NETPGP_VERIFY_H_
-#define NETPGP_VERIFY_H_	20160614
+#define NETPGP_VERIFY_H_	20160615
 
-#define NETPGPVERIFY_VERSION	"netpgpverify portable 20160614"
+#define NETPGPVERIFY_VERSION	"netpgpverify portable 20160615"
 
 #include <sys/types.h>
 

Reply via email to