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:
parent
6bfcf96505
commit
02fd82b2cb
@ -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));
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user