netpgpverify: bring over changes in 20160615 from pkgsrc

+ perform check for start of ascii-armoured signature in a more efficient
way
This commit is contained in:
agc 2016-06-15 03:37:50 +00:00
parent 6bfcf96505
commit 02fd82b2cb
2 changed files with 10 additions and 14 deletions

View File

@ -2021,18 +2021,14 @@ read_ascii_armor(pgpv_cursor_t *cursor, pgpv_mem_t *mem, const char *filename)
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));

View File

@ -1,5 +1,5 @@
/*-
* Copyright (c) 2012,2013,2014,2015 Alistair Crooks <agc@NetBSD.org>
* Copyright (c) 2012,2013,2014,2015,2016 Alistair Crooks <agc@NetBSD.org>
* 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>