CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Jul 28 22:31:45 UTC 2021 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: packet-print.c packet-show.c Log Message: print Issuer Fingerprint subpacket 33 (rfc4880bis-08:5.2.3.28) rather than Unknown To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c 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/lib/packet-print.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.42 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.43 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.42 Wed Feb 22 06:29:40 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Wed Jul 28 22:31:45 2021 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-print.c,v 1.42 2012/02/22 06:29:40 agc Exp $"); +__RCSID("$NetBSD: packet-print.c,v 1.43 2021/07/28 22:31:45 jhigh Exp $"); #endif #include @@ -1090,6 +1090,14 @@ pgp_print_packet(pgp_printstate_t *print end_subpacket(&print->indent); break; + case PGP_PTAG_SS_ISSUER_FINGERPRINT: + start_subpacket(&print->indent, pkt->tag); + print_hexdump(print->indent, "Issuer Fingerprint", + content->ss_issuer_fingerprint.fingerprint, + content->ss_issuer_fingerprint.len); + end_subpacket(&print->indent); + break; + case PGP_PTAG_SS_PREFERRED_SKA: start_subpacket(&print->indent, pkt->tag); print_data(print->indent, "Preferred Symmetric Algorithms", Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.21 src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.22 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.21 Sun Aug 14 11:19:51 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c Wed Jul 28 22:31:45 2021 @@ -60,7 +60,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-show.c,v 1.21 2011/08/14 11:19:51 christos Exp $"); +__RCSID("$NetBSD: packet-show.c,v 1.22 2021/07/28 22:31:45 jhigh Exp $"); #endif #include @@ -115,6 +115,7 @@ static pgp_map_t packet_tag_map[] = {PGP_PTAG_SS_PREFERRED_SKA, "SS: Preferred Secret Key Algorithm"}, {PGP_PTAG_SS_REVOCATION_KEY, "SS: Revocation Key"}, {PGP_PTAG_SS_ISSUER_KEY_ID, "SS: Issuer Key Id"}, + {PGP_PTAG_SS_ISSUER_FINGERPRINT, "SS: Issuer Fingerprint"}, {PGP_PTAG_SS_NOTATION_DATA, "SS: Notation Data"}, {PGP_PTAG_SS_PREFERRED_HASH, "SS: Preferred Hash Algorithm"}, {PGP_PTAG_SS_PREF_COMPRESS, "SS: Preferred Compression Algorithm"}, @@ -164,6 +165,7 @@ static pgp_map_t ss_type_map[] = {PGP_PTAG_SS_PREFERRED_SKA, "Preferred Symmetric Algorithms"}, {PGP_PTAG_SS_REVOCATION_KEY, "Revocation Key"}, {PGP_PTAG_SS_ISSUER_KEY_ID, "Issuer key ID"}, + {PGP_PTAG_SS_ISSUER_FINGERPRINT, "Issuer Fingerprint"}, {PGP_PTAG_SS_NOTATION_DATA, "Notation Data"}, {PGP_PTAG_SS_PREFERRED_HASH, "Preferred Hash Algorithms"}, {PGP_PTAG_SS_PREF_COMPRESS, "Preferred Compression Algorithms"},
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: wiz Date: Sun Nov 1 11:29:17 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.in bzlib_private.h libverify.c verify.h Added Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: HOWTO dash-escaped-text dash-escaped-text.asc netpgpv-bzlib.h verify.map Removed Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: bzlib.h Log Message: Sync with netpgpverify-20201101 from pkgsrc (the master for this). No effective change except for version bump. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/dash-escaped-text \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/dash-escaped-text.asc \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpv-bzlib.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.map cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r1.2 -r0 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.h cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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/Makefile.in diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.11 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in Sun Nov 1 11:29:17 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.in,v 1.11 2017/04/17 19:50:28 agc Exp $ +# $NetBSD: Makefile.in,v 1.12 2020/11/01 11:29:17 wiz Exp $ PROG=netpgpverify @@ -16,7 +16,7 @@ MANDIR=@MANDIR@ all: ${PROG} ${PROG}: ${OBJS} - ${CC} ${OBJS} -o ${PROG} + ${CC} ${LDFLAGS} ${CFLAGS} ${OBJS} -o ${PROG} install: install -c -s ${PROG} ${DESTDIR}${PREFIX}/bin Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.11 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Sun Nov 1 11:29:17 2020 @@ -23,9 +23,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef NETPGP_VERIFY_H_ -#define NETPGP_VERIFY_H_ 20200503 +#define NETPGP_VERIFY_H_ 20201101 -#define NETPGPVERIFY_VERSION "netpgpverify portable 20200503" +#define NETPGPVERIFY_VERSION "netpgpverify portable 20201101" #include Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.4 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.5 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.4 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h Sun Nov 1 11:29:17 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bzlib_private.h,v 1.4 2020/05/04 00:18:34 agc Exp $ */ +/* $NetBSD: bzlib_private.h,v 1.5 2020/11/01 11:29:17 wiz Exp $ */ /*-*/ @@ -32,7 +32,7 @@ #include #endif -#include "bzlib.h" +#include "netpgpv-bzlib.h" Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.17 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 Sat Oct 17 23:08:57 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sun Nov 1 11:29:17 2020 @@ -40,7 +40,7 @@ #include #include -#include "bzlib.h" +#include "netpgpv-bzlib.h" #include "zlib.h" #include "array.h" Added files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO diff -u /dev/null src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO:1.1 --- /dev/null Sun Nov 1 11:29:17 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO Sun Nov 1 11:29:17 2020 @@ -0,0 +1,55 @@ +How to use ssh keys in PGP signatures += + +1. generate a new ssh key pair + + % ssh-keygen -t rsa -b 4096 -f sshtest-20140202 + Generating public/private rsa key pair. + Enter passphrase (empty for no passphrase): + Enter same passphrase again: +
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: jhigh Date: Sat Oct 17 23:08:57 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: absorb issuer fingerprint (RFC4880bis 5.2.3.28) in libverify.c To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.15 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.15 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sat Oct 17 23:08:57 2020 @@ -151,6 +151,8 @@ typedef struct pgpv_signature_t { char *features; char *why_revoked; uint8_t *revoke_fingerprint; + uint8_t *issuer_fingerprint; + uint8_t ifver; uint8_t revoke_alg; uint8_t revoke_sensitive; uint8_t trustsig; @@ -925,6 +927,7 @@ str_to_keyid(const char *s, uint8_t *key #define SUBPKT_FEATURES 30 #define SUBPKT_SIGNATURE_TARGET 31 #define SUBPKT_EMBEDDED_SIGNATURE 32 +#define SUBPKT_ISSUER_FINGERPRINT 33 #define UNCOMPRESSED 0 #define ZIP_COMPRESSION 1 @@ -1180,6 +1183,10 @@ read_sig_subpackets(pgpv_t *pgp, pgpv_si sigpkt->sig.revoked = *p++ + 1; sigpkt->sig.why_revoked = (char *)(void *)p; break; + case SUBPKT_ISSUER_FINGERPRINT: + sigpkt->sig.ifver = *p; + sigpkt->sig.issuer_fingerprint = &p[1]; + break; default: printf("Ignoring unusual/reserved signature subpacket %d\n", subpkt.tag); break;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Oct 14 05:19:41 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c packet-parse.c packet.h Log Message: allow netpgp to absorb gpg2 subpkt 33 for list/enc/decrypt rsa keys To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.31 -r1.32 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.57 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Wed Oct 14 05:19:41 2020 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.56 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.57 2020/10/14 05:19:41 jhigh Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -620,8 +620,12 @@ cb_keyring_read(const pgp_packet_t *pkt, key->subsigc += 1; break; case PGP_PTAG_CT_TRUST: - key->subsigs[key->subsigc - 1].trustlevel = pkt->u.ss_trust.level; - key->subsigs[key->subsigc - 1].trustamount = pkt->u.ss_trust.amount; + EXPAND_ARRAY(key, subsig); + key->subsigs[key->subsigc].trustlevel = pkt->u.ss_trust.level; + key->subsigs[key->subsigc].trustamount = pkt->u.ss_trust.amount; + + key->subsigc += 1; + break; case PGP_PTAG_SS_KEY_EXPIRY: EXPAND_ARRAY(keyring, key); @@ -667,7 +671,6 @@ cb_keyring_read(const pgp_packet_t *pkt, default: break; } - return PGP_RELEASE_MEMORY; } Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.53 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c Wed Oct 14 05:19:41 2020 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-parse.c,v 1.52 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: packet-parse.c,v 1.53 2020/10/14 05:19:41 jhigh Exp $"); #endif #include @@ -984,6 +984,7 @@ pgp_parser_content_free(pgp_packet_t *c) case PGP_PTAG_SS_PRIMARY_USER_ID: case PGP_PTAG_SS_REVOCABLE: case PGP_PTAG_SS_REVOCATION_KEY: + case PGP_PTAG_SS_ISSUER_FINGERPRINT: case PGP_PTAG_CT_LITDATA_HEADER: case PGP_PTAG_CT_LITDATA_BODY: case PGP_PTAG_CT_SIGNED_CLEARTEXT_BODY: @@ -1554,6 +1555,7 @@ parse_one_sig_subpacket(pgp_sig_t *sig, pgp_packet_t pkt; uint8_t bools = 0x0; uint8_t c = 0x0; + uint8_t temp = 0x0; unsigned doread = 1; unsignedt8; unsignedt7; @@ -1764,6 +1766,26 @@ parse_one_sig_subpacket(pgp_sig_t *sig, } break; + case PGP_PTAG_SS_ISSUER_FINGERPRINT: + /* octet 0: version */ + /* 0x04:20 bytes, 0x05:32 bytes */ + if (!limread(&temp, 1, &subregion, stream)) { + return 0; + } + + switch (temp) { + case 0x04: pkt.u.ss_issuer_fingerprint.len = 20; break; + case 0x05: pkt.u.ss_issuer_fingerprint.len = 32; break; + default: +return 0; + } + + if (!limread(pkt.u.ss_issuer_fingerprint.fingerprint, + pkt.u.ss_issuer_fingerprint.len, &subregion, stream)) { + return 0; + } + break; + case PGP_PTAG_SS_REVOCATION_KEY: /* octet 0 = class. Bit 0x80 must be set */ if (!limread(&pkt.u.ss_revocation_key.class, 1, Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.31 src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.32 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.31 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Wed Oct 14 05:19:41 2020 @@ -251,7 +251,7 @@ typedef enum { PGP_PTAG_SS_FEATURES = 0x200 + 30, /* features */ PGP_PTAG_SS_SIGNATURE_TARGET = 0x200 + 31, /* signature target */ PGP_PTAG_SS_EMBEDDED_SIGNATURE = 0x200 + 32, /* embedded signature */ - + PGP_PTAG_SS_ISSUER_FINGERPRINT = 0x200 + 33, /* issuer fingerprint */ PGP_PTAG_SS_USERDEFINED00 = 0x200 + 100, /* internal or * user-defined */ PGP_PTAG_SS_USERDEFINED01 = 0x200 + 101, @@ -659,6 +659,11 @@ typedef struct pgp_ss_trust_t { uint8_t amount; /* Amount */ } pgp_ss_trust_t; +typedef struct pgp_ss_issuer_fingerprint { + uint8_t len; /* 20 or 32 */ + uint8_t fingerprint[32]; /* max 32 */ +} pgp_ss_issuer_fingerprint
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Mon May 4 00:18:34 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd b64.c b64.h bignum.c bn.h bzlib.c bzlib.h bzlib_private.h libverify.c rsa.c rsa.h verify.h zlib.c zlib.h Log Message: Bring over changes from source of truth in pkgsrc - bump version to 20200503 Update netpgpverify and libnetpgpverify to version 20200503 ensure all exported functions use a unique prfix, so that they don't conflict with symbols (both data and text) in libcrypto. this works for statically linked binaries and libraries, rather then the version map which only works for dynalically-linked. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.h cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bn.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.c cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c cvs rdiff -u -r1.14 -r1.15 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.c cvs rdiff -u -r1.10 -r1.11 \ 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/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.7 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.8 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.7 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Mon May 4 00:18:34 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.7 2017/04/17 19:50:28 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.8 2020/05/04 00:18:34 agc Exp $ PROG=netpgpverify @@ -12,6 +12,11 @@ SRCS+= md5c.c rmd160.c sha1.c sha2.c CPPFLAGS+=-I. +CPPFLAGS.bzlib.c+= -Wno-error=implicit-fallthrough +CPPFLAGS.zlib.c+= -Wno-error=implicit-fallthrough + +LDFLAGS+=-Wl,--version-script=${.CURDIR}/verify.map + .ifndef PRODUCTION CPPFLAGS+=-g -O0 LDFLAGS+=-g -O0 Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c Mon May 4 00:18:34 2020 @@ -235,7 +235,7 @@ encodeblock(uint8_t *wordin, uint8_t *wo ** base64 encode a stream adding padding and line breaks as per spec. */ int -b64encode(const char *in, const size_t insize, void *vp, size_t outsize, int linesize) +netpgpv_b64encode(const char *in, const size_t insize, void *vp, size_t outsize, int linesize) { const char *inp; unsigned i; @@ -299,7 +299,7 @@ decodeblock(uint8_t wordin[4], uint8_t w ** decode a base64 encoded stream discarding padding, line breaks and noise */ int -b64decode(const char *in, const size_t insize, void *vp, size_t outsize) +netpgpv_b64decode(const char *in, const size_t insize, void *vp, size_t outsize) { const char *inp; unsigned wordlen; @@ -349,7 +349,7 @@ b64decode(const char *in, const size_t i /* return the encoded size for n bytes input */ int -b64_encsize(unsigned n) +netpgpv_b64_encsize(unsigned n) { return ((4 * n) / 3) + 4; } Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h Mon May 4 00:18:34 2020 @@ -25,8 +25,8 @@ #ifndef B64_H_ #define B64_H_ 20091223 -int b64encode(const char */*in*/, const size_t /*insize*/, void */*vp*/, size_t /*outsize*/, int /*linesize*/); -int b64decode(const char */*in*/, const size_t /*insize*/, void */*vp*/, size_t /*outsize*/); -int b64_encsize(unsigned /*n*/); +int netpgpv_b64encode(const char */*in*/, const size_t /*insize*/, void */*vp*/, si
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Sat Mar 21 01:07:21 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: cleanly fail initialization on empty keyring To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.102 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.103 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.102 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Mar 21 01:07:21 2020 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.102 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.103 2020/03/21 01:07:21 jhigh Exp $"); #endif #include @@ -429,7 +429,7 @@ get_first_ring(pgp_keyring_t *ring, char int i; int n; - if (ring == NULL) { + if (ring == NULL || ring->keyc == 0) { return 0; } (void) memset(id, 0x0, len);
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: mlelstv Date: Tue Nov 13 14:52:31 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h misc.c netpgp.c packet-parse.c packet.h src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 mj.c src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c Log Message: Fix some error handling, json support, keyring handling. To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h cvs rdiff -u -r1.41 -r1.42 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c cvs rdiff -u -r1.101 -r1.102 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.30 -r1.31 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.5 -r1.6 src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c cvs rdiff -u -r1.26 -r1.27 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c 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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 Mon Mar 27 21:19:12 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Tue Nov 13 14:52:30 2018 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.55 2017/03/27 21:19:12 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.56 2018/11/13 14:52:30 mlelstv Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -456,10 +456,12 @@ copy_packet(pgp_subpacket_t *dst, const } if ((dst->raw = calloc(1, src->length)) == NULL) { (void) fprintf(stderr, "copy_packet: bad alloc\n"); + dst->length = 0; } else { dst->length = src->length; (void) memcpy(dst->raw, src->raw, src->length); } + dst->tag = src->tag; return dst; } @@ -500,7 +502,6 @@ pgp_add_subpacket(pgp_key_t *keydata, co EXPAND_ARRAY(keydata, packet); /* initialise new entry in array */ subpktp = &keydata->packets[keydata->packetc++]; - subpktp->length = 0; subpktp->raw = NULL; /* now copy it */ return copy_packet(subpktp, packet); @@ -545,6 +546,7 @@ pgp_add_selfsigned_userid(pgp_key_t *key /* add this packet to key */ sigpacket.length = pgp_mem_len(mem_sig); sigpacket.raw = pgp_mem_data(mem_sig); + sigpacket.tag = PGP_PTAG_CT_SIGNATURE; /* add userid to key */ (void) pgp_add_userid(key, userid); @@ -596,13 +598,14 @@ cb_keyring_read(const pgp_packet_t *pkt, cb = pgp_callback_arg(cbinfo); keyring = cb->keyring; + key = keyring->keyc > 0 ? &keyring->keys[keyring->keyc - 1] : NULL; + switch (pkt->tag) { case PGP_PARSER_PTAG: case PGP_PTAG_CT_ENCRYPTED_SECRET_KEY: /* we get these because we didn't prompt */ break; case PGP_PTAG_CT_SIGNATURE_HEADER: - key = &keyring->keys[keyring->keyc - 1]; EXPAND_ARRAY(key, subsig); key->subsigs[key->subsigc].uid = key->uidc - 1; (void) memcpy(&key->subsigs[key->subsigc].sig, &pkt->u.sig, @@ -610,7 +613,6 @@ cb_keyring_read(const pgp_packet_t *pkt, key->subsigc += 1; break; case PGP_PTAG_CT_SIGNATURE: - key = &keyring->keys[keyring->keyc - 1]; EXPAND_ARRAY(key, subsig); key->subsigs[key->subsigc].uid = key->uidc - 1; (void) memcpy(&key->subsigs[key->subsigc].sig, &pkt->u.sig, @@ -618,7 +620,6 @@ cb_keyring_read(const pgp_packet_t *pkt, key->subsigc += 1; break; case PGP_PTAG_CT_TRUST: - key = &keyring->keys[keyring->keyc - 1]; key->subsigs[key->subsigc - 1].trustlevel = pkt->u.ss_trust.level; key->subsigs[key->subsigc - 1].trustamount = pkt->u.ss_trust.amount; break; @@ -629,28 +630,23 @@ cb_keyring_read(const pgp_packet_t *pkt, } break; case PGP_PTAG_SS_ISSUER_KEY_ID: - key = &keyring->keys[keyring->keyc - 1]; (void) memcpy(&key->subsigs[key->subsigc - 1].sig.info.signer_id, pkt->u.ss_issuer, sizeof(pkt->u.ss_issuer)); key->subsigs[key->subsigc - 1].sig.info.signer_id_set = 1; break; case PGP_PTAG_SS_CREATION_TIME: - key = &keyring->keys[keyring->keyc - 1]; key->subsigs[key->subsigc - 1].sig.info.birthtime = pkt->u.ss_time; key->subsigs[key->subsigc - 1].sig.info.birthtime_set = 1; break; case PGP_PTAG_SS_EXPIRATION_TIME: - key = &keyring->keys[keyring->keyc - 1]; key->subsigs[key->subsigc - 1].sig.info.duration = pkt->u.ss_time; key->subsigs[key->subsigc - 1].sig.info.duration_set = 1; break; case PGP_PTAG_SS_PRIMARY_USER_ID: - key =
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Mon Aug 13 09:54:19 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: sha2.c Log Message: avoid redefinition To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c 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/sha2.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 Wed Jul 25 20:31:13 2018 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Mon Aug 13 05:54:19 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: sha2.c,v 1.3 2018/07/26 00:31:13 kamil Exp $ */ +/* $NetBSD: sha2.c,v 1.4 2018/08/13 09:54:19 christos Exp $ */ /* $KAME: sha2.c,v 1.9 2003/07/20 00:28:38 itojun Exp $ */ /* @@ -48,7 +48,9 @@ # undef be32toh # undef be64toh +#ifndef __CAST #define __CAST(__dt, __st) ((__dt)(__st)) /* srsly? */ +#endif static __inline void be32encode(void *buf, uint32_t u)
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: christos Date: Mon Aug 13 09:53:51 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c Log Message: sprinke const To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c 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/libbn/bignum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.5 src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.6 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.5 Mon Mar 18 21:00:16 2013 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Mon Aug 13 05:53:51 2018 @@ -575,7 +575,7 @@ mp_init_size (mp_int * a, int size) } /* creates "a" then copies b into it */ -static int mp_init_copy (mp_int * a, mp_int * b) +static int mp_init_copy (mp_int * a, const mp_int * b) { int res; @@ -587,9 +587,9 @@ static int mp_init_copy (mp_int * a, mp_ /* low level addition, based on HAC pp.594, Algorithm 14.7 */ static int -s_mp_add (mp_int * a, mp_int * b, mp_int * c) +s_mp_add (const mp_int * a, const mp_int * b, mp_int * c) { - mp_int *x; + const mp_int *x; int olduse, res, min, max; /* find sizes, we let |a| <= |b| which means we have to sort @@ -617,7 +617,8 @@ s_mp_add (mp_int * a, mp_int * b, mp_int c->used = max + 1; { -mp_digit u, *tmpa, *tmpb, *tmpc; +const mp_digit *tmpa, *tmpb; +mp_digit u, *tmpc; int i; /* alias for digit pointers */ @@ -675,7 +676,7 @@ s_mp_add (mp_int * a, mp_int * b, mp_int /* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ static int -s_mp_sub (mp_int * a, mp_int * b, mp_int * c) +s_mp_sub (const mp_int * a, const mp_int * b, mp_int * c) { int olduse, res, min, max; @@ -693,7 +694,8 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int c->used = max; { -mp_digit u, *tmpa, *tmpb, *tmpc; +const mp_digit *tmpa, *tmpb; +mp_digit u, *tmpc; int i; /* alias for digit pointers */ @@ -742,7 +744,7 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int /* high level subtraction (handles signs) */ static int -mp_sub (mp_int * a, mp_int * b, mp_int * c) +mp_sub (const mp_int * a, const mp_int * b, mp_int * c) { int sa, sb, res; @@ -831,9 +833,10 @@ static int mp_rshd (mp_int * a, int b) /* multiply by a digit */ static int -mp_mul_d (mp_int * a, mp_digit b, mp_int * c) +mp_mul_d (const mp_int * a, mp_digit b, mp_int * c) { - mp_digit u, *tmpa, *tmpc; + const mp_digit *tmpa; + mp_digit u, *tmpc; mp_word r; int ix, res, olduse; @@ -888,7 +891,7 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int } /* high level addition (handles signs) */ -static int mp_add (mp_int * a, mp_int * b, mp_int * c) +static int mp_add (const mp_int * a, const mp_int * b, mp_int * c) { int sa, sb, res; @@ -933,7 +936,7 @@ mp_exch(mp_int *a, mp_int *b) /* calc a value mod 2**b */ static int -mp_mod_2d (mp_int * a, int b, mp_int * c) +mp_mod_2d (const mp_int * a, int b, mp_int * c) { int x, res; @@ -966,7 +969,7 @@ mp_mod_2d (mp_int * a, int b, mp_int * c } /* shift right by a certain bit count (store quotient in c, optional remainder in d) */ -static int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) +static int mp_div_2d (const mp_int * a, int b, mp_int * c, mp_int * d) { mp_digit D, r, rr; int x, res; @@ -1055,7 +1058,7 @@ static int mp_div_2d (mp_int * a, int b, * 14.20 from HAC but fixed to treat these cases. */ static int -mp_div(mp_int *c, mp_int *d, mp_int *a, mp_int *b) +mp_div(mp_int *c, mp_int *d, const mp_int *a, const mp_int *b) { mp_int q, x, y, t1, t2; int res, n, t, i, norm, neg; @@ -1240,7 +1243,7 @@ LBL_Q:mp_clear (&q); /* c = a mod b, 0 <= c < b */ static int -mp_mod (mp_int * a, mp_int * b, mp_int * c) +mp_mod (const mp_int * a, const mp_int * b, mp_int * c) { mp_int t; int res; @@ -1274,7 +1277,7 @@ static void mp_set (mp_int * a, mp_digit } /* b = a/2 */ -static int mp_div_2(mp_int * a, mp_int * b) +static int mp_div_2(const mp_int * a, mp_int * b) { int x, res, oldused; @@ -1321,7 +1324,7 @@ static int mp_div_2(mp_int * a, mp_int * } /* compare a digit */ -static int mp_cmp_d(mp_int * a, mp_digit b) +static int mp_cmp_d(const mp_int * a, mp_digit b) { /* compare based on sign */ if (a->sign == MP_NEG) { @@ -1362,7 +1365,7 @@ static void mp_clear_multi(mp_int *mp, . * odd as per HAC Note 14.64 on pp. 610 */ static int -fast_mp_invmod (mp_int * a, mp_int * b, mp_int * c) +fast_mp_invmod (const mp_int * a, const mp_int * b, mp_int * c) { mp_int x, y, u, v, B, D; int res, neg; @@ -1485,7 +1488,7 @@ LBL_ERR:mp_clear_multi (&x, &y, &u, &v, /* hac 14.61, pp608 */ static int -mp_invmod_slow (mp_int * a, mp_int *
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: kamil Date: Thu Jul 26 00:31:13 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: sha2.c Log Message: Avoid undefined behavior in netpgpverify/sha2.c Do not change the signedness bit with a left shift operation. Cast to unsigned integer to prevent this. sha2.c:79:16, left shift of 154 by 24 places cannot be represented in type 'int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c 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/sha2.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.2 Tue Jun 14 20:47:08 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Thu Jul 26 00:31:13 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: sha2.c,v 1.2 2016/06/14 20:47:08 agc Exp $ */ +/* $NetBSD: sha2.c,v 1.3 2018/07/26 00:31:13 kamil Exp $ */ /* $KAME: sha2.c,v 1.9 2003/07/20 00:28:38 itojun Exp $ */ /* @@ -76,7 +76,7 @@ htobe32(uint32_t x) uint8_t p[4]; memcpy(p, &x, 4); - return ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); + return (((uint32_t)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); } static uint64_t @@ -86,8 +86,8 @@ htobe64(uint64_t x) uint32_t u, v; memcpy(p, &x, 8); - u = ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); - v = ((p[4] << 24) | (p[5] << 16) | (p[6] << 8) | p[7]); + u = (((uint32_t)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); + v = (((uint32_t)p[4] << 24) | (p[5] << 16) | (p[6] << 8) | p[7]); return uint64_t)u) << 32) | v); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: kamil Date: Thu Jul 26 00:26:45 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: pgpsum.c Log Message: Avoid undefined behavior in netpgpverify Do not change the signedness bit with a left shift operation. Cast to unsigned integer to prevent this. pgpsum.c:187:18, left shift of 130 by 24 places cannot be represented in type 'int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c 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/pgpsum.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.3 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c Thu Jul 26 00:26:45 2018 @@ -175,7 +175,7 @@ swap16(uint16_t in) u16 u; u.i16 = in; - return (u.i8[0] << 8) | u.i8[1]; + return ((uint16_t)u.i8[0] << 8) | u.i8[1]; } static inline uint32_t @@ -184,7 +184,7 @@ swap32(uint32_t in) u32 u; u.i32 = in; - return (u.i8[0] << 24) | (u.i8[1] << 16) | (u.i8[2] << 8) | u.i8[3]; + return ((uint32_t)u.i8[0] << 24) | (u.i8[1] << 16) | (u.i8[2] << 8) | u.i8[3]; } static inline int
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Thu May 10 15:00:36 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add descriptions for netpgp_match_keys() netpgp_match_keys_json() netpgp_match_pubkeys() netpgp_validate_sigs() netpgp_format_json() To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.27 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 Wed May 9 23:34:25 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Thu May 10 15:00:36 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.26 2018/05/09 23:34:25 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.27 2018/05/10 15:00:36 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -233,6 +233,17 @@ function is used. To list all the keys in a keyring as a JSON encoded string, the .Fn netpgp_list_keys_json function is used. +To find and list keys in a keyring, the +.Fn netpgp_match_keys +function is used. +To find and list keys in a keyring, output as a JSON encoded string, +the +.Fn netpgp_match_keys_json +function is used. +To find and list keys in a better suited machine-readble format, such as for +redirection to other parsing engines, the +.Fn netpgp_match_pubkeys +function is used. The signature subkey fields can also be displayed using this function. .Pp @@ -246,6 +257,14 @@ If the subdirectory argument is provided is appended to the home directory in order to search for the keyrings. .Pp +To print key information from a JSON encoded string, stored in a file, the +.Fn netpgp_format_json +function is used. +.Pp +To validate the signature of keys in a public key keyring, the +.Fn netpgp_validate_sigs +function is used. +.Pp To export a key, the .Fn netpgp_export_key function is used.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Wed May 9 23:34:25 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add a description of netpgp_unsetvar and netpgp_list_keys_json. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 Wed May 9 07:59:38 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 23:34:25 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.25 2018/05/09 07:59:38 wiz Exp $ +.\" $NetBSD: libnetpgp.3,v 1.26 2018/05/09 23:34:25 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 9, 2018 +.Dd May 10, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -204,6 +204,8 @@ member of the structure. These are set using the .Fn netpgp_setvar +function and unset using the +.Fn netpgp_unsetvar function. If no public key ring file is set, initial values will be taken from those in the @@ -228,6 +230,9 @@ function returns 1 on success, 0 on fail To list all the keys in a keyring, the .Fn netpgp_list_keys function is used. +To list all the keys in a keyring as a JSON encoded string, the +.Fn netpgp_list_keys_json +function is used. The signature subkey fields can also be displayed using this function. .Pp
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: wiz Date: Wed May 9 07:59:38 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Fix typo, add 'and' in list. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 Wed May 9 00:24:50 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 07:59:38 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.24 2018/05/09 00:24:50 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.25 2018/05/09 07:59:38 wiz Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -342,8 +342,8 @@ At the present time, two types are defin .Dq version and .Dq maintainer . -The mantainer information returned contains the name, email address, PGP short -key id. +The maintainer information returned contains the name, email address, +and PGP short key id. A failure to present a known .Ar type argument to
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Wed May 9 00:24:50 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the type of information returned about maintainer. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 Sun Apr 29 14:21:16 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 00:24:50 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.23 2018/04/29 14:21:16 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.24 2018/05/09 00:24:50 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 29, 2018 +.Dd May 9, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -342,6 +342,8 @@ At the present time, two types are defin .Dq version and .Dq maintainer . +The mantainer information returned contains the name, email address, PGP short +key id. A failure to present a known .Ar type argument to
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 29 14:21:16 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the following functions to the list (TODO - add descriptions) netpgp_unsetvar netpgp_list_keys_json netpgp_match_keys netpgp_match_keys_json netpgp_match_pubkeys netpgp_validate_sigs netpgp_format_json Remove netpgp_match_list_keys() as function does not exist Add missing output file to netpgp_verify_file() argument list Sprinkle const to arguments To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 Mon Apr 16 08:17:18 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 29 14:21:16 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.22 2018/04/16 08:17:18 wiz Exp $ +.\" $NetBSD: libnetpgp.3,v 1.23 2018/04/29 14:21:16 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 15, 2018 +.Dd April 29, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -79,6 +79,10 @@ The following functions are for variable .Fo netpgp_incvar .Fa "netpgp_t *netpgp" "const char *name" "const int delta" .Fc +.Ft int +.Fo netpgp_unsetvar +.Fa "netpgp_t *netpgp" "const char *name" +.Fc .Pp The following function sets the home directory: .Ft int @@ -92,8 +96,20 @@ The following functions are used for key .Fa "netpgp_t *netpgp" "const int printsigs" .Fc .Ft int -.Fo netpgp_match_list_keys -.Fa "netpgp_t *netpgp" "char *pattern" +.Fo netpgp_list_keys_json +.Fa "netpgp_t *netpgp" "char **json" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_keys +.Fa "netpgp_t *netpgp" "char *name" "const char *fmt" "void *vp" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_keys_json +.Fa "netpgp_t *netpgp" "char **json" "char *name" "const char *fmt" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_pubkeys +.Fa "netpgp_t *netpgp" "char *name" "void *vp" .Fc .Ft int .Fo netpgp_find_key @@ -101,7 +117,7 @@ The following functions are used for key .Fc .Ft char * .Fo netpgp_get_key -.Fa "netpgp_t *netpgp" "const char *id" +.Fa "netpgp_t *netpgp" "const char *name" "const char *fmt" .Fc .Ft int .Fo netpgp_export_key @@ -115,31 +131,39 @@ The following functions are used for key .Fo netpgp_generate_key .Fa "netpgp_t *netpgp" "char *userid" "int numbits" .Fc +.Ft int +.Fo netpgp_validate_sigs +.Fa "netpgp_t *netpgp" +.Fc +.Ft int +.Fo netpgp_format_json +.Fa "void *vp" "const char *json" "const int psigs" +.Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "const char *userid" "const char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "netpgp_t *netpgp" "const char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "const char *userid" "const char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "netpgp_t *netpgp" "char *f" "int armored" +.Fa "netpgp_t *netpgp" "const char *in" "const char *out" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "netpgp_t *netpgp" "const char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int @@ -206,13 +230,6 @@ To list all the keys in a keyring, the function is used. The signature subkey fields can also be displayed using this function. -The -.Fn netpgp_match_list_keys -function is used to match (via regular expression) -a subset of the keys in the keyring. -If the expression to match is NULL, -the search will degenerate into a -listing of all keys in the keyring. .Pp The home directory is specified as an internal variable, and its existence is checked using the
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: wiz Date: Mon Apr 16 08:17:18 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Remove trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 Sun Apr 15 23:00:36 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Mon Apr 16 08:17:18 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.21 2018/04/15 23:00:36 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.22 2018/04/16 08:17:18 wiz Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -173,7 +173,7 @@ Normal operation sees the process be initialised using the .Fn netpgp_init function, which will set up the public and private keyrings, as well as set the -user identity in the +user identity in the .Ar userid member of the .Dv netpgp_t
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 15 23:00:36 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Break down explanation of netpgp_init to make it easier to extend. Document how the userid is obtained. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 Wed Apr 4 21:39:35 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 15 23:00:36 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.20 2018/04/04 21:39:35 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.21 2018/04/15 23:00:36 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 3, 2018 +.Dd April 15, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -172,12 +172,13 @@ Normal operation sees the .Nm process be initialised using the .Fn netpgp_init -function, which will set up the public and private keyrings, and set the -user identity to the +function, which will set up the public and private keyrings, as well as set the +user identity in the .Ar userid -argument passed stored in the +member of the .Dv netpgp_t -structure, and set using the +structure. +These are set using the .Fn netpgp_setvar function. If no public key ring file is set, initial values will be taken from those @@ -189,6 +190,13 @@ initial values will be taken from those in the .Pa .gnupg/secring.gpg file in the user's home directory. +The user identity is obtained from the +.Ev userid +environment variable, or failing that, the value of the +.Dq default-key +setting from +.Pa .gnupg/gpg.conf +file in the user's home directory is used. The .Fn netpgp_init function returns 1 on success, 0 on failure.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Wed Apr 4 21:39:35 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Drop superfluous zero prefix for single digit number days. heads up by wiz To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.12 -r1.13 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.19 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.20 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.6 --- src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgpbn.3,v 1.5 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libnetpgpbn.3,v 1.6 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBNETPGPBN 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.9 --- src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libmj.3,v 1.8 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libmj.3,v 1.9 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBMJ 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.13 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.12 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: netpgpverify.1,v 1.13 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2013,2014,2015 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt NETPGPVERIFY 1 .Os .Sh NAME
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Tue Apr 3 21:57:15 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Some further changes from PR bin/48395. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 Mon Apr 2 10:30:06 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.18 2018/04/02 10:30:06 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.19 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -223,13 +223,13 @@ Output is sent to the standard output. .Pp To import a key onto the public keyring, the .Fn netpgp_import_key -is used. +function is used. The name of the file containing the key to be imported is provided as the filename argument. .Pp To generate a key, the .Fn netpgp_generate_key -is used. +function is used. It takes an argument of the number of bits to use in the key. At the time that this manual page was created (April 2009), the recommendations are that the bare minimum key size Index: src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.4 src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 --- src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.4 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgpbn.3,v 1.4 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libnetpgpbn.3,v 1.5 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBNETPGPBN 3 .Os .Sh NAME @@ -257,7 +257,7 @@ in the buffer called .Va buf where -.Dq USERNAME +.Dq USER is the name of the user taken from the runtime environment. The encoded text will be in an allocated buffer called .Va s . Index: src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.7 src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 --- src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.7 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libmj.3,v 1.7 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libmj.3,v 1.8 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBMJ 3 .Os .Sh NAME @@ -227,10 +227,10 @@ in the buffer called .Va buf where -.Dq USERNAME +.Dq USER is the name of the user taken from the runtime environment. The encoded text will be in an allocated buffer called -.Va s +.Va s . .Bd -literal -offset indent mj_t atom; char buf[BUFSIZ]; Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.11 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.11 2017/04/17 19:50:28 agc Exp $ +.\" $NetBSD: netpgpverify.1,v 1.12 2018/04/0
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Mon Apr 2 10:30:07 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Revert previous change as the typedef should now work as intended. Thanks christos, martin To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 Sun Apr 1 23:25:27 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Mon Apr 2 10:30:06 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.17 2018/04/01 23:25:27 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.18 2018/04/02 10:30:06 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 02, 2018 +.Dd February 16, 2014 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -41,11 +41,11 @@ The following functions relate to initialisations and finalisations: .Ft int .Fo netpgp_init -.Fa "struct netpgp_t *netpgp" +.Fa "netpgp_t *netpgp" .Fc .Ft int .Fo netpgp_end -.Fa "struct netpgp_t *netpgp" +.Fa "netpgp_t *netpgp" .Fc .Pp The following functions are for debugging, reflection and information: @@ -63,99 +63,99 @@ The following functions are for debuggin .Fc .Ft int .Fo netpgp_list_packets -.Fa "struct netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" +.Fa "netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" .Fc .Pp The following functions are for variable management: .Ft int .Fo netpgp_setvar -.Fa "struct netpgp_t *netpgp" "const char *name" "const char *value" +.Fa "netpgp_t *netpgp" "const char *name" "const char *value" .Fc .Ft char * .Fo netpgp_getvar -.Fa "struct netpgp_t *netpgp" "const char *name" +.Fa "netpgp_t *netpgp" "const char *name" .Fc .Ft int .Fo netpgp_incvar -.Fa "struct netpgp_t *netpgp" "const char *name" "const int delta" +.Fa "netpgp_t *netpgp" "const char *name" "const int delta" .Fc .Pp The following function sets the home directory: .Ft int .Fo netpgp_set_homedir -.Fa "struct netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" +.Fa "netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" .Fc .Pp The following functions are used for key management: .Ft int .Fo netpgp_list_keys -.Fa "struct netpgp_t *netpgp" "const int printsigs" +.Fa "netpgp_t *netpgp" "const int printsigs" .Fc .Ft int .Fo netpgp_match_list_keys -.Fa "struct netpgp_t *netpgp" "char *pattern" +.Fa "netpgp_t *netpgp" "char *pattern" .Fc .Ft int .Fo netpgp_find_key -.Fa "struct netpgp_t *netpgp" "char *userid" +.Fa "netpgp_t *netpgp" "char *userid" .Fc .Ft char * .Fo netpgp_get_key -.Fa "struct netpgp_t *netpgp" "const char *id" +.Fa "netpgp_t *netpgp" "const char *id" .Fc .Ft int .Fo netpgp_export_key -.Fa "struct netpgp_t *netpgp" "char *userid" +.Fa "netpgp_t *netpgp" "char *userid" .Fc .Ft int .Fo netpgp_import_key -.Fa "struct netpgp_t *netpgp" "char *file" +.Fa "netpgp_t *netpgp" "char *file" .Fc .Ft int .Fo netpgp_generate_key -.Fa "struct netpgp_t *netpgp" "char *userid" "int numbits" +.Fa "netpgp_t *netpgp" "char *userid" "int numbits" .Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "struct netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "struct netpgp_t *netpgp" "char *f" "int armored" +.Fa "netpgp_t *netpgp" "char *f" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "struct netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int .Fo netpgp_decrypt_memory -.Fa "struct netpgp_t *netpgp" "const void *input" "const size_t insize" +.Fa "netpgp_t *netpgp" "const void *input" "const size_t insize" .Fa "char *out" "size_t outsize" "c
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 1 23:25:28 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: netpgp_t is a structure To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 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/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.16 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.16 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 1 23:25:27 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.16 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libnetpgp.3,v 1.17 2018/04/01 23:25:27 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 02, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -41,11 +41,11 @@ The following functions relate to initialisations and finalisations: .Ft int .Fo netpgp_init -.Fa "netpgp_t *netpgp" +.Fa "struct netpgp_t *netpgp" .Fc .Ft int .Fo netpgp_end -.Fa "netpgp_t *netpgp" +.Fa "struct netpgp_t *netpgp" .Fc .Pp The following functions are for debugging, reflection and information: @@ -63,99 +63,99 @@ The following functions are for debuggin .Fc .Ft int .Fo netpgp_list_packets -.Fa "netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" +.Fa "struct netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" .Fc .Pp The following functions are for variable management: .Ft int .Fo netpgp_setvar -.Fa "netpgp_t *netpgp" "const char *name" "const char *value" +.Fa "struct netpgp_t *netpgp" "const char *name" "const char *value" .Fc .Ft char * .Fo netpgp_getvar -.Fa "netpgp_t *netpgp" "const char *name" +.Fa "struct netpgp_t *netpgp" "const char *name" .Fc .Ft int .Fo netpgp_incvar -.Fa "netpgp_t *netpgp" "const char *name" "const int delta" +.Fa "struct netpgp_t *netpgp" "const char *name" "const int delta" .Fc .Pp The following function sets the home directory: .Ft int .Fo netpgp_set_homedir -.Fa "netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" +.Fa "struct netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" .Fc .Pp The following functions are used for key management: .Ft int .Fo netpgp_list_keys -.Fa "netpgp_t *netpgp" "const int printsigs" +.Fa "struct netpgp_t *netpgp" "const int printsigs" .Fc .Ft int .Fo netpgp_match_list_keys -.Fa "netpgp_t *netpgp" "char *pattern" +.Fa "struct netpgp_t *netpgp" "char *pattern" .Fc .Ft int .Fo netpgp_find_key -.Fa "netpgp_t *netpgp" "char *userid" +.Fa "struct netpgp_t *netpgp" "char *userid" .Fc .Ft char * .Fo netpgp_get_key -.Fa "netpgp_t *netpgp" "const char *id" +.Fa "struct netpgp_t *netpgp" "const char *id" .Fc .Ft int .Fo netpgp_export_key -.Fa "netpgp_t *netpgp" "char *userid" +.Fa "struct netpgp_t *netpgp" "char *userid" .Fc .Ft int .Fo netpgp_import_key -.Fa "netpgp_t *netpgp" "char *file" +.Fa "struct netpgp_t *netpgp" "char *file" .Fc .Ft int .Fo netpgp_generate_key -.Fa "netpgp_t *netpgp" "char *userid" "int numbits" +.Fa "struct netpgp_t *netpgp" "char *userid" "int numbits" .Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "struct netpgp_t *netpgp" "char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "netpgp_t *netpgp" "char *f" "int armored" +.Fa "struct netpgp_t *netpgp" "char *f" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "struct netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int .Fo netpgp_decrypt_memory -.Fa "netpgp_t *netpgp" "const void *input" "const size_t insize" +.Fa "struct netpgp_t *netpgp" "const void *input" "const size_t insize" .Fa "char *out" "size_t outsize" "const int armored" .Fc .Ft int .Fo netpgp_sign_memory -.Fa "netpgp_
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: christos Date: Mon Feb 5 23:56:01 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: openssl_crypto.c signature.c src/crypto/external/bsd/netpgp/dist/src/netpgp: Makefile Log Message: centralize the conversion functions and make this work with both openssl-1.0 and 1.1 To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c cvs rdiff -u -r1.37 -r1.38 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile 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/lib/openssl_crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.33 src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.34 --- src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.33 Sun Nov 7 03:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c Mon Feb 5 18:56:01 2018 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: openssl_crypto.c,v 1.33 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: openssl_crypto.c,v 1.34 2018/02/05 23:56:01 christos Exp $"); #endif #ifdef HAVE_OPENSSL_DSA_H @@ -89,18 +89,144 @@ __RCSID("$NetBSD: openssl_crypto.c,v 1.3 #include "netpgpdigest.h" #include "packet.h" +static void +takeRSA(const RSA *orsa, pgp_rsa_pubkey_t *pk, pgp_rsa_seckey_t *sk) +{ + const BIGNUM *n, *e, *d, *q, *p; +#if OPENSSL_VERSION_NUMBER >= 0x1010L + RSA_get0_key(orsa, &n, &e, &d); + RSA_get0_factors(orsa, &q, &p); +#else + n = orsa->n; + e = orsa->e; + d = orsa->d; + p = orsa->p; + q = orsa->q; +#endif + if (sk) { + sk->d = BN_dup(d); + sk->p = BN_dup(p); + sk->q = BN_dup(q); + } + if (pk) { + pk->n = BN_dup(n); + pk->e = BN_dup(e); + } +} -static void -test_seckey(const pgp_seckey_t *seckey) +static RSA * +makeRSA(const pgp_rsa_pubkey_t *pubkey, const pgp_rsa_seckey_t *seckey) +{ + BIGNUM *n, *e, *d, *p, *q; + RSA *orsa; + + orsa = RSA_new(); + n = BN_dup(pubkey->n); + e = BN_dup(pubkey->e); + + if (seckey) { + d = BN_dup(seckey->d); + p = BN_dup(seckey->p); + q = BN_dup(seckey->q); + } else { + d = p = q = NULL; + } + +#if OPENSSL_VERSION_NUMBER >= 0x1010L + RSA_set0_key(orsa, n, e, d); + RSA_set0_factors(orsa, p, q); +#else + BN_free(orsa->n); + BN_free(orsa->e); + orsa->n = n; + orsa->e = e; + if (d) { + BN_free(orsa->d); + orsa->d = d; + } + if (p) { + BN_free(orsa->p); + orsa->p = p; + } + if (q) { + BN_free(orsa->q); + orsa->q = q; + } +#endif + return orsa; +} + +static DSA_SIG * +makeDSA_SIG(const pgp_dsa_sig_t *sig) +{ + DSA_SIG*osig; + BIGNUM *r, *s; + + osig = DSA_SIG_new(); + r = BN_dup(sig->r); + s = BN_dup(sig->s); + +#if OPENSSL_VERSION_NUMBER >= 0x1010L + DSA_SIG_set0(osig, r, s); +#else + BN_free(osig->r); + BN_free(osig->s); + osig->r = r; + osig->s = s; +#endif + + return osig; +} + +static DSA * +makeDSA(const pgp_dsa_pubkey_t *dsa, const pgp_dsa_seckey_t *secdsa) { - RSA*test = RSA_new(); + DSA*odsa; + BIGNUM *p, *q, *g, *y, *x; - test->n = BN_dup(seckey->pubkey.key.rsa.n); - test->e = BN_dup(seckey->pubkey.key.rsa.e); + odsa = DSA_new(); - test->d = BN_dup(seckey->key.rsa.d); - test->p = BN_dup(seckey->key.rsa.p); - test->q = BN_dup(seckey->key.rsa.q); + p = BN_dup(dsa->p); + q = BN_dup(dsa->q); + g = BN_dup(dsa->g); + y = BN_dup(dsa->y); + x = secdsa ? secdsa->x : NULL; + +#if OPENSSL_VERSION_NUMBER >= 0x1010L + DSA_set0_key(odsa, y, x); +#else + BN_free(odsa->p); + BN_free(odsa->q); + BN_free(odsa->g); + BN_free(odsa->pub_key); + odsa->p = p; + odsa->q = q; + odsa->g = g; + odsa->pub_key = y; + if (x) { + BN_free(odsa->priv_key); + odsa->priv_key = x; + } +#endif + return odsa; +} + +static void +takeDSA(const DSA *odsa, pgp_dsa_seckey_t *sk) +{ + const BIGNUM *x; +#if OPENSSL_VERSION_NUMBER >= 0x1010L + DSA_get0_key(odsa, NULL, &x); +#else + x = odsa->priv_key; +#endif + sk->x = BN_dup(x); +} + +static void +test_seckey(const pgp_seckey_t *seckey) +{ + RSA *test = makeRSA(&seckey->pubkey.key.rsa, &seckey->key.rsa); if (RSA_check_key(test) != 1) { (void) fprintf(stderr, @@ -435,25 +561,15 @@ pgp_dsa_verify(const uint8_t *hash, size const pgp_dsa_pubkey_t *dsa) { unsigned qlen; - DSA_SIG*osig; - DSA*odsa; + DSA_SIG*osig = makeDSA_SIG(sig); + DSA *odsa = makeDSA(dsa, NULL); int ret; - osig = DSA_SIG_new(); - osig->r = sig->r; - osig->s = sig->s; - - odsa = DSA_new(); - odsa->p = dsa->p; - odsa->q = dsa->q; - odsa->g = dsa->g; - odsa->pub_key = dsa->y; - if (pgp_get_debug_level(__FILE__)) { hexdump(st
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 23:03:51 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: No longer hard-code the suffix length This will avoid a buffer overflow if the suffix changes; it is currently hard-coded as either "asc" or "sig". Submitted on tech-pkg@ as: [PATCH 10/11] No longer hard-code the suffix length To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c 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/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.37 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 Sun Apr 9 22:48:39 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 23:03:50 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.36 2017/04/09 22:48:39 khorben Exp $"); +__RCSID("$NetBSD: signature.c,v 1.37 2017/04/09 23:03:50 khorben Exp $"); #endif #include @@ -909,7 +909,7 @@ open_output_file(pgp_output_t **output, fd = pgp_setup_file_write(output, outname, overwrite); } } else { - size_t flen = strlen(inname) + 4 + 1; + size_t flen = strlen(inname) + 1 + strlen(suffix) + 1; char *f = NULL; if ((f = calloc(1, flen)) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22:48:39 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: Output signatures to the standard output for "-" This is to reflect the behaviour documented in netpgp(1). Submitted on tech-pkg@ as: [PATCH 09/11] Output signatures to the standard output for "-" Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c 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/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 Sun Apr 9 22:44:34 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 22:48:39 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.35 2017/04/09 22:44:34 khorben Exp $"); +__RCSID("$NetBSD: signature.c,v 1.36 2017/04/09 22:48:39 khorben Exp $"); #endif #include @@ -903,7 +903,11 @@ open_output_file(pgp_output_t **output, /* setup output file */ if (outname) { - fd = pgp_setup_file_write(output, outname, overwrite); + if (strcmp(outname, "-") == 0) { + fd = pgp_setup_file_write(output, NULL, overwrite); + } else { + fd = pgp_setup_file_write(output, outname, overwrite); + } } else { size_t flen = strlen(inname) + 4 + 1; char *f = NULL;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22:44:34 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: Avoid a type cast No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c 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/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.34 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.34 Mon Mar 5 02:20:18 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 22:44:34 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.34 2012/03/05 02:20:18 christos Exp $"); +__RCSID("$NetBSD: signature.c,v 1.35 2017/04/09 22:44:34 khorben Exp $"); #endif #include @@ -905,7 +905,7 @@ open_output_file(pgp_output_t **output, if (outname) { fd = pgp_setup_file_write(output, outname, overwrite); } else { - unsignedflen = (unsigned)(strlen(inname) + 4 + 1); + size_t flen = strlen(inname) + 4 + 1; char *f = NULL; if ((f = calloc(1, flen)) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21:34:32 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 Log Message: Also document alternate option "--detach" Submitted on tech-pkg@ as: [PATCH 08/11] Also document alternate option "--detach" To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 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/netpgp/netpgp.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.21 --- src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 Mon Mar 27 21:30:23 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Mon Mar 27 21:34:32 2017 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgp.1,v 1.20 2017/03/27 21:30:23 khorben Exp $ +.\" $NetBSD: netpgp.1,v 1.21 2017/03/27 21:34:32 khorben Exp $ .\" .\" Copyright (c) 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -216,7 +216,7 @@ access to the cipher used. The default cipher algorithm is the .Dq CAST5 algorithm. -.It Fl Fl detached +.It Fl Fl detach , Fl Fl detached When signing a file, place the resulting signature in a separate file from the one being signed. .It Fl Fl hash-alg Ar hash-algorithm
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21:30:23 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 Log Message: Correct option "--armor" Submitted on tech-pkg@ as: [PATCH 07/11] Correct option "--armor" To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 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/netpgp/netpgp.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.19 src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 --- src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.19 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Mon Mar 27 21:30:23 2017 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgp.1,v 1.19 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: netpgp.1,v 1.20 2017/03/27 21:30:23 khorben Exp $ .\" .\" Copyright (c) 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -203,7 +203,7 @@ library. In addition to one of the preceding commands, a number of qualifiers or options may be given. .Bl -tag -width Ar -.It Fl Fl armour , Fl armor +.It Fl Fl armour , Fl Fl armor This option, however it is spelled, wraps the signature as an ASCII-encoded piece of text, for ease of use. .It Fl Fl cipher Ar ciphername
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:19:12 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not ask for a passphrase when empty Submitted on tech-pkg@ as: [PATCH 06/11] Do not ask for a passphrase when empty Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c 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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 Mon Mar 27 21:06:50 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:19:12 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.54 2017/03/27 21:06:50 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.55 2017/03/27 21:19:12 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -226,7 +226,7 @@ typedef struct { pgp_seckey_t *seckey; } decrypt_t; -static pgp_cb_ret_t +static pgp_cb_ret_t decrypt_cb(const pgp_packet_t *pkt, pgp_cbdata_t *cbinfo) { const pgp_contents_t *content = &pkt->u; @@ -294,6 +294,20 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ return PGP_RELEASE_MEMORY; } +static pgp_cb_ret_t +decrypt_cb_empty(const pgp_packet_t *pkt, pgp_cbdata_t *cbinfo) +{ + const pgp_contents_t *content = &pkt->u; + + switch (pkt->tag) { + case PGP_GET_PASSPHRASE: + *content->skey_passphrase.passphrase = netpgp_strdup(""); + return PGP_KEEP_MEMORY; + default: + return decrypt_cb(pkt, cbinfo); + } +} + /** \ingroup Core_Keys \brief Decrypts secret key from given keydata with given passphrase @@ -308,8 +322,18 @@ pgp_decrypt_seckey(const pgp_key_t *key, const int printerrors = 1; decrypt_t decrypt; + /* XXX first try with an empty passphrase */ (void) memset(&decrypt, 0x0, sizeof(decrypt)); decrypt.key = key; + stream = pgp_new(sizeof(*stream)); + pgp_keydata_reader_set(stream, key); + pgp_set_callback(stream, decrypt_cb_empty, &decrypt); + stream->readinfo.accumulate = 1; + pgp_parse(stream, !printerrors); + if (decrypt.seckey != NULL) { + return decrypt.seckey; + } + /* ask for a passphrase */ decrypt.passfp = passfp; stream = pgp_new(sizeof(*stream)); pgp_keydata_reader_set(stream, key);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:06:50 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h Log Message: Expect a FILE * for pgp_decrypt_seckey() Submitted on tech-pkg@ as: [PATCH 05/11] Expect a FILE * for pgp_decrypt_seckey() No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 Mon Mar 27 21:00:43 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:06:50 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.53 2017/03/27 21:00:43 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.54 2017/03/27 21:06:50 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -302,7 +302,7 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ \return secret key */ pgp_seckey_t * -pgp_decrypt_seckey(const pgp_key_t *key, void *passfp) +pgp_decrypt_seckey(const pgp_key_t *key, FILE *passfp) { pgp_stream_t *stream; const int printerrors = 1; Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.34 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 Mon Mar 27 20:55:13 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Mon Mar 27 21:06:50 2017 @@ -53,6 +53,7 @@ #ifndef KEYRING_H_ #define KEYRING_H_ +#include #include "packet.h" #include "packet-parse.h" #include "mj.h" @@ -91,7 +92,7 @@ const pgp_pubkey_t *pgp_get_pubkey(const unsigned pgp_is_key_secret(const pgp_key_t *); const pgp_seckey_t *pgp_get_seckey(const pgp_key_t *); pgp_seckey_t *pgp_get_writable_seckey(pgp_key_t *); -pgp_seckey_t *pgp_decrypt_seckey(const pgp_key_t *, void *); +pgp_seckey_t *pgp_decrypt_seckey(const pgp_key_t *, FILE *); unsigned pgp_keyring_fileread(pgp_keyring_t *, const unsigned, const char *);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:00:43 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not use random data for pass-phrases on EOF Submitted on tech-pkg@ as: [PATCH 04/11] Do not use random data for pass-phrases on EOF Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c 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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 Mon Mar 27 20:55:13 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:00:43 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.52 2017/03/27 20:55:13 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.53 2017/03/27 21:00:43 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -244,7 +244,9 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ break; case PGP_GET_PASSPHRASE: - (void) pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)); + if (pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)) == 0) { + pass[0] = '\0'; + } *content->skey_passphrase.passphrase = netpgp_strdup(pass); pgp_forget(pass, sizeof(pass)); return PGP_KEEP_MEMORY;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20:55:13 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h netpgp.c Log Message: Avoid some type casts Submitted on tech-pkg@ as: [PATCH 03/11] Avoid some type casts No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h cvs rdiff -u -r1.100 -r1.101 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 Mon Feb 20 00:51:08 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 20:55:13 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.51 2017/02/20 00:51:08 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.52 2017/03/27 20:55:13 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -214,7 +214,7 @@ pgp_get_writable_seckey(pgp_key_t *data) /* utility function to zero out memory */ void -pgp_forget(void *vp, unsigned size) +pgp_forget(void *vp, size_t size) { (void) memset(vp, 0x0, size); } @@ -246,7 +246,7 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ case PGP_GET_PASSPHRASE: (void) pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)); *content->skey_passphrase.passphrase = netpgp_strdup(pass); - pgp_forget(pass, (unsigned)sizeof(pass)); + pgp_forget(pass, sizeof(pass)); return PGP_KEEP_MEMORY; case PGP_PARSER_ERRCODE: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.32 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.32 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Mon Mar 27 20:55:13 2017 @@ -100,7 +100,7 @@ int pgp_keyring_list(pgp_io_t *, const p int pgp_keyring_json(pgp_io_t *, const pgp_keyring_t *, mj_t *, const int); void pgp_set_seckey(pgp_contents_t *, const pgp_key_t *); -void pgp_forget(void *, unsigned); +void pgp_forget(void *, size_t); const uint8_t *pgp_get_key_id(const pgp_key_t *); unsigned pgp_get_userid_count(const pgp_key_t *); Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.101 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 Fri Feb 24 01:26:17 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Mar 27 20:55:13 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.100 2017/02/24 01:26:17 khorben Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.101 2017/03/27 20:55:13 khorben Exp $"); #endif #include @@ -1411,7 +1411,7 @@ netpgp_sign_file(netpgp_t *netpgp, (unsigned)armored, (unsigned)cleartext, overwrite); } - pgp_forget(seckey, (unsigned)sizeof(*seckey)); + pgp_forget(seckey, sizeof(*seckey)); return ret; } @@ -1542,7 +1542,7 @@ netpgp_sign_memory(netpgp_t *netpgp, } else { ret = 0; } - pgp_forget(seckey, (unsigned)sizeof(*seckey)); + pgp_forget(seckey, sizeof(*seckey)); return ret; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20:50:19 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Do not truncate pass-phrases without a newline character This also fixes a crash when the pass-phrase entered is empty. Submitted on tech-pkg@ as: [PATCH 02/11] Do not truncate pass-phrases without a newline character Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c 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/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.52 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 Fri Feb 24 01:27:14 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Mon Mar 27 20:50:19 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.51 2017/02/24 01:27:14 khorben Exp $"); +__RCSID("$NetBSD: reader.c,v 1.52 2017/03/27 20:50:19 khorben Exp $"); #endif #include @@ -160,6 +160,7 @@ int pgp_getpassphrase(void *in, char *phrase, size_t size) { char *p; + size_t len; if (in == NULL) { while ((p = getpass("netpgp passphrase: ")) == NULL) { @@ -169,7 +170,10 @@ pgp_getpassphrase(void *in, char *phrase if (fgets(phrase, (int)size, in) == NULL) { return 0; } - phrase[strlen(phrase) - 1] = 0x0; + len = strlen(phrase); + if (len >= 1 && phrase[len - 1] == '\n') { + phrase[len - 1] = '\0'; + } } return 1; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Fri Feb 24 01:27:14 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Revert "Remove a useless loop around getpass()" getpass(3) may return NULL upon failures on Linux, and netpgp should remain portable to other systems. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c 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/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 Mon Feb 20 01:33:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Fri Feb 24 01:27:14 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.50 2017/02/20 01:33:28 khorben Exp $"); +__RCSID("$NetBSD: reader.c,v 1.51 2017/02/24 01:27:14 khorben Exp $"); #endif #include @@ -162,7 +162,8 @@ pgp_getpassphrase(void *in, char *phrase char *p; if (in == NULL) { - p = getpass("netpgp passphrase: "); + while ((p = getpass("netpgp passphrase: ")) == NULL) { + } (void) snprintf(phrase, size, "%s", p); } else { if (fgets(phrase, (int)size, in) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: khorben Date: Fri Feb 24 01:26:17 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c src/crypto/external/bsd/netpgp/dist/src/librsa: rsastubs.c Log Message: Revert "Remove a useless loop around getpass()" getpass(3) may return NULL upon failures on Linux, and netpgp should remain portable to other systems. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.100 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 Mon Feb 20 01:38:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Fri Feb 24 01:26:17 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.99 2017/02/20 01:38:28 khorben Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.100 2017/02/24 01:26:17 khorben Exp $"); #endif #include @@ -740,10 +740,14 @@ find_passphrase(FILE *passfp, const char } for (i = 0 ; i < attempts ; i++) { (void) snprintf(prompt, sizeof(prompt), "Enter passphrase for %.16s: ", id); - cp = getpass(prompt); + if ((cp = getpass(prompt)) == NULL) { + break; + } cc = snprintf(buf, sizeof(buf), "%s", cp); (void) snprintf(prompt, sizeof(prompt), "Repeat passphrase for %.16s: ", id); - cp = getpass(prompt); + if ((cp = getpass(prompt)) == NULL) { + break; + } cc = snprintf(passphrase, size, "%s", cp); if (strcmp(buf, passphrase) == 0) { (void) memset(buf, 0x0, sizeof(buf)); Index: src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c diff -u src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 Mon Feb 20 01:38:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Fri Feb 24 01:26:17 2017 @@ -43,7 +43,9 @@ pass_cb(char *buf, int size, int rwflag, USE_ARG(rwflag); snprintf(prompt, sizeof(prompt), "\"%s\" passphrase: ", (char *)u); - passphrase = getpass(prompt); + if ((passphrase = getpass(prompt)) == NULL) { + return -1; + } (void) memcpy(buf, passphrase, (size_t)size); return (int)strlen(passphrase); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: khorben Date: Mon Feb 20 01:38:28 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c src/crypto/external/bsd/netpgp/dist/src/librsa: rsastubs.c Log Message: Remove a useless loop around getpass() According to getpass(3), this library function cannot return NULL. Verified with a source code inspection. To generate a diff of this commit: cvs rdiff -u -r1.98 -r1.99 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 Tue Jun 28 16:34:40 2016 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Feb 20 01:38:28 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.98 2016/06/28 16:34:40 christos Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.99 2017/02/20 01:38:28 khorben Exp $"); #endif #include @@ -740,14 +740,10 @@ find_passphrase(FILE *passfp, const char } for (i = 0 ; i < attempts ; i++) { (void) snprintf(prompt, sizeof(prompt), "Enter passphrase for %.16s: ", id); - if ((cp = getpass(prompt)) == NULL) { - break; - } + cp = getpass(prompt); cc = snprintf(buf, sizeof(buf), "%s", cp); (void) snprintf(prompt, sizeof(prompt), "Repeat passphrase for %.16s: ", id); - if ((cp = getpass(prompt)) == NULL) { - break; - } + cp = getpass(prompt); cc = snprintf(passphrase, size, "%s", cp); if (strcmp(buf, passphrase) == 0) { (void) memset(buf, 0x0, sizeof(buf)); Index: src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c diff -u src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.2 src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Mon Feb 20 01:38:28 2017 @@ -43,9 +43,7 @@ pass_cb(char *buf, int size, int rwflag, USE_ARG(rwflag); snprintf(prompt, sizeof(prompt), "\"%s\" passphrase: ", (char *)u); - if ((passphrase = getpass(prompt)) == NULL) { - return -1; - } + passphrase = getpass(prompt); (void) memcpy(buf, passphrase, (size_t)size); return (int)strlen(passphrase); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 01:33:28 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Remove a useless loop around getpass() According to getpass(3), this library function cannot return NULL. Verified with a source code inspection. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c 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/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.49 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.49 Mon Mar 5 02:20:18 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Mon Feb 20 01:33:28 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.49 2012/03/05 02:20:18 christos Exp $"); +__RCSID("$NetBSD: reader.c,v 1.50 2017/02/20 01:33:28 khorben Exp $"); #endif #include @@ -162,8 +162,7 @@ pgp_getpassphrase(void *in, char *phrase char *p; if (in == NULL) { - while ((p = getpass("netpgp passphrase: ")) == NULL) { - } + p = getpass("netpgp passphrase: "); (void) snprintf(phrase, size, "%s", p); } else { if (fgets(phrase, (int)size, in) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 00:51:08 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not crash when listing keys without a keyring To test: (with an empty ~/.gnupg) $ netpgpkeys --import-key /dev/null Submitted on tech-pkg@ as: [PATCH 01/11] Do not crash when listing keys without a keyring Different patch for the same issue. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c 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/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.50 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.50 Sat Jun 25 00:37:44 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Feb 20 00:51:08 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.50 2011/06/25 00:37:44 agc Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.51 2017/02/20 00:51:08 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -993,9 +993,12 @@ pgp_keyring_list(pgp_io_t *io, const pgp { pgp_key_t *key; unsigned n; + unsigned keyc = (keyring != NULL) ? keyring->keyc : 0; - (void) fprintf(io->res, "%u key%s\n", keyring->keyc, - (keyring->keyc == 1) ? "" : "s"); + (void) fprintf(io->res, "%u key%s\n", keyc, (keyc == 1) ? "" : "s"); + if (keyring == NULL) { + return 1; + } for (n = 0, key = keyring->keys; n < keyring->keyc; ++n, ++key) { if (pgp_is_key_secret(key)) { pgp_print_keydata(io, keyring, key, "sec",
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: abhinav Date: Mon Sep 12 16:54:32 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Add section number to the Xrefs Remove a blank space at the end of the line 130 (makes mandoc -Tlint happy) To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.9 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.10 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.9 Fri Jan 30 18:58:59 2015 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Mon Sep 12 16:54:31 2016 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.9 2015/01/30 18:58:59 agc Exp $ +.\" $NetBSD: netpgpverify.1,v 1.10 2016/09/12 16:54:31 abhinav Exp $ .\" .\" Copyright (c) 2013,2014,2015 Alistair Crooks .\" All rights reserved. @@ -42,9 +42,9 @@ The implements digital signature verification. It is designed to be simple and standalone; no external libraries, except for -.Xr libz +.Xr libz 3 and -.Xr libbz2 +.Xr libbz2 3 are used, in order to ensure maximum portability. .Pp It is completely rewritten from the version of the program that appeared in @@ -128,7 +128,7 @@ Verification of a file's signature is be % netpgpverify -k pubring.gpg NetBSD-6.0_RC1_hashes.asc Good signature for NetBSD-6.0_RC1_hashes.asc made Thu Aug 23 11:47:50 2012 signature 4096/RSA (Encrypt or Sign) 064973ac4c4a706e 2009-06-23 -fingerprint ddee 2bdb 9c98 a0d1 d4fb dbf7 0649 73ac 4c4a 706e +fingerprint ddee 2bdb 9c98 a0d1 d4fb dbf7 0649 73ac 4c4a 706e uid NetBSD Security Officer % .Ed
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sat Sep 3 09:31:22 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Fix the error handling so that we print the earliest error message. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.11 Sun Aug 28 11:52:22 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sat Sep 3 05:31:22 2016 @@ -2085,8 +2085,10 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t { FILE *fp; char buf[BUFSIZ]; + int rv; if (cursor == NULL || pgp == NULL || p == NULL) { + snprintf(cursor->why, sizeof(cursor->why), "No input data"); return 0; } memset(cursor, 0x0, sizeof(*cursor)); @@ -2104,19 +2106,19 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t return 0; } if (is_armored(buf, sizeof(buf))) { - read_ascii_armor_file(cursor, p); + rv = read_ascii_armor_file(cursor, p); } else { - read_binary_file(pgp, "signature", "%s", (const char *)p); + rv = read_binary_file(pgp, "signature", "%s", (const char *)p); } fclose(fp); } else { if (is_armored(p, (size_t)size)) { - read_ascii_armor_memory(cursor, p, (size_t)size); + rv = read_ascii_armor_memory(cursor, p, (size_t)size); } else { - read_binary_memory(pgp, "signature", p, (size_t)size); + rv = read_binary_memory(pgp, "signature", p, (size_t)size); } } - return 1; + return rv; } /* get the data and size from litdata packet */ @@ -2780,7 +2782,6 @@ pgpv_verify(pgpv_cursor_t *cursor, pgpv_ return 0; } if (!setup_data(cursor, pgp, p, size)) { - snprintf(cursor->why, sizeof(cursor->why), "No input data"); return 0; } if (ARRAY_COUNT(cursor->pgp->pkts) == ARRAY_LAST(cursor->pgp->datastarts) + 1) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sun Aug 28 15:52:22 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Avoid segv when the end signature is not found! To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.10 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.11 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.10 Wed Jun 15 11:47:50 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sun Aug 28 11:52:22 2016 @@ -2016,7 +2016,7 @@ read_ascii_armor(pgpv_cursor_t *cursor, litdata.s.data = p; litdata.u.litdata.offset = (size_t)(p - mem->mem); litdata.u.litdata.filename = (uint8_t *)strdup(filename); - if ((p = find_bin_string(datastart = p, mem->size - litdata.offset, SIGSTART, strlen(SIGSTART))) == NULL) { + if ((p = find_bin_string(datastart = p, mem->size - litdata.offset, SIGSTART, sizeof(SIGSTART) - 1)) == NULL) { snprintf(cursor->why, sizeof(cursor->why), "malformed armor - no sig - at %zu", (size_t)(p - mem->mem)); return 0; @@ -2030,7 +2030,13 @@ read_ascii_armor(pgpv_cursor_t *cursor, return 0; } p += 2; - sigend = find_bin_string(p, mem->size, SIGEND, strlen(SIGEND)); + sigend = find_bin_string(p, mem->size, SIGEND, sizeof(SIGEND) - 1); + if (sigend == NULL) { + snprintf(cursor->why, sizeof(cursor->why), + "malformed armor - no end sig - at %zu", + (size_t)(p - mem->mem)); + return 0; + } binsigsize = b64decode((char *)p, (size_t)(sigend - p), binsig, sizeof(binsig)); read_binary_memory(cursor->pgp, "signature", cons_onepass, 15);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: christos Date: Tue Jun 28 16:34:40 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: CID 977755: Resource leaks. To generate a diff of this commit: cvs rdiff -u -r1.97 -r1.98 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.97 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.97 Sun Feb 7 00:03:36 2016 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Tue Jun 28 12:34:40 2016 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.97 2016/02/07 05:03:36 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.98 2016/06/28 16:34:40 christos Exp $"); #endif #include @@ -1186,6 +1186,7 @@ netpgp_generate_key(netpgp_t *netpgp, ch int passc; int fd; int cc; + int rv = 0; uid = NULL; io = netpgp->io; @@ -1212,13 +1213,13 @@ netpgp_generate_key(netpgp_t *netpgp, ch netpgp_setvar(netpgp, "generated userid", &dir[cc - 16]); if (mkdir(dir, 0700) < 0) { (void) fprintf(io->errs, "can't mkdir '%s'\n", dir); - return 0; + goto out; } (void) fprintf(io->errs, "netpgp: generated keys in directory %s\n", dir); (void) snprintf(ringfile = filename, sizeof(filename), "%s/pubring.gpg", dir); if (!appendkey(io, key, ringfile)) { (void) fprintf(io->errs, "Cannot write pubkey to '%s'\n", ringfile); - return 0; + goto out; } if (netpgp->pubring != NULL) { pgp_keyring_free(netpgp->pubring); @@ -1230,7 +1231,7 @@ netpgp_generate_key(netpgp_t *netpgp, ch } if (fd < 0) { (void) fprintf(io->errs, "can't append secring '%s'\n", ringfile); - return 0; + goto out; } /* get the passphrase */ if ((numtries = netpgp_getvar(netpgp, "numtries")) == NULL || @@ -1242,15 +1243,18 @@ netpgp_generate_key(netpgp_t *netpgp, ch passc = find_passphrase(netpgp->passfp, &cp[ID_OFFSET], passphrase, sizeof(passphrase), attempts); if (!pgp_write_xfer_seckey(create, key, (uint8_t *)passphrase, (const unsigned)passc, noarmor)) { (void) fprintf(io->errs, "Cannot write seckey\n"); - return 0; + goto out1; } + rv = 1; +out1: pgp_teardown_file_write(create, fd); if (netpgp->secring != NULL) { pgp_keyring_free(netpgp->secring); } +out: pgp_keydata_free(key); free(cp); - return 1; + return rv; } /* encrypt a file */
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Wed Jun 15 20:34:28 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: main.c verify.h Log Message: Update netpgpverify to 20160617 Sync with changes in pkgsrc + don't assume a string is NUL-terminated - use fwrite(3) with a specific size To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c cvs rdiff -u -r1.8 -r1.9 \ 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/main.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.6 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.7 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.6 Fri Jan 30 18:58:59 2015 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c Wed Jun 15 20:34:28 2016 @@ -49,10 +49,11 @@ ptime(int64_t secs) static void pentry(pgpv_t *pgp, int n, const char *modifiers) { + size_t cc; char *s; - pgpv_get_entry(pgp, (unsigned)n, &s, modifiers); - printf("%s", s); + cc = pgpv_get_entry(pgp, (unsigned)n, &s, modifiers); + fwrite(s, 1, cc, stdout); free(s); } Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.8 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.9 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.8 Wed Jun 15 16:51:46 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Wed Jun 15 20:34:28 2016 @@ -23,9 +23,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef NETPGP_VERIFY_H_ -#define NETPGP_VERIFY_H_ 20160616 +#define NETPGP_VERIFY_H_ 20160617 -#define NETPGPVERIFY_VERSION "netpgpverify portable 20160616" +#define NETPGPVERIFY_VERSION "netpgpverify portable 20160617" #include
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Wed Jun 15 16:51:46 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd Makefile.in verify.h Added Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: version.asc Log Message: Update netpgpverify to 20160616: + Bring over change from pkgsrc to add version.asc signature verification to complement the noversion.asc cleartext signatures + Update version to 20160616 To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/version.asc 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/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.5 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.6 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.5 Tue Jun 14 20:47:08 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Wed Jun 15 16:51:46 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.5 2016/06/14 20:47:08 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.6 2016/06/15 16:51:46 agc Exp $ PROG=netpgpverify @@ -43,5 +43,7 @@ tst: rm -f 1keytest.gpg @echo "testing signing with a subkey" ./chk.sh -k joyent-pubring.gpg digest-20121220.tgz + @echo "testing signatures with version" + ./${PROG} -k pubring.gpg version.asc @echo "testing signatures with no version" ./${PROG} -k pubring.gpg noversion.asc Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.9 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.10 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.9 Tue Jun 14 20:47:08 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in Wed Jun 15 16:51:46 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.in,v 1.9 2016/06/14 20:47:08 agc Exp $ +# $NetBSD: Makefile.in,v 1.10 2016/06/15 16:51:46 agc Exp $ PROG=netpgpverify @@ -43,6 +43,8 @@ tst: rm -f 1keytest.gpg @echo "testing signing with a subkey" ./chk.sh -k joyent-pubring.gpg digest-20121220.tgz + @echo "testing signatures with version" + ./${PROG} -k pubring.gpg version.asc @echo "testing signatures with no version" ./${PROG} -k pubring.gpg noversion.asc Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.7 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.8 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.7 Wed Jun 15 03:37:50 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Wed Jun 15 16:51:46 2016 @@ -23,9 +23,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef NETPGP_VERIFY_H_ -#define NETPGP_VERIFY_H_ 20160615 +#define NETPGP_VERIFY_H_ 20160616 -#define NETPGPVERIFY_VERSION "netpgpverify portable 20160615" +#define NETPGPVERIFY_VERSION "netpgpverify portable 20160616" #include Added files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/version.asc diff -u /dev/null src/crypto/external/bsd/netpgp/dist/src/netpgpverify/version.asc:1.1 --- /dev/null Wed Jun 15 16:51:46 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/version.asc Wed Jun 15 16:51:46 2016 @@ -0,0 +1,15 @@ +-BEGIN PGP SIGNED MESSAGE- +Hash: SHA1 + +bar +-BEGIN PGP SIGNATURE- +Version: GnuPG v1 + +iQEcBAEBAgAGBQJXYOg1AAoJEBto3PzAWWgjN7wIALbMScFoVnkE47+Hj1aLclRL +9Mb9bKWkPi9iq1SybDEeiK6G9hLXSm2ZbygHNoAwFVlMIxkV2lRKqLfquatW9GH/ +9W2LkKa3wYpHH84Uj2/3Atu7564+IvcvDVkuxp4oHiz4X3i4CvIOf6qPuPHC5fAb +xmjRLJRh71pJ8zBdtLQV3hnzjuUk5qZvKt109/WARQL5lL5jGIe504TnzHEBSgNa +Ez1vxN2RngVh4QhDApx05EYfmZnBChXalCCh+noo6gpjUN/xhfq/KkLWrLaRWIL6 +IHBS3MgqDP6ToaJ7R2w1hytCoKlbXGyJGsUn29QBoQBwWGGM3Z5pbFBPcmBx/mg= +=KXon +-END PGP SIGNATURE-
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: joerg Date: Wed Jun 15 15:47:50 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Mark obuf_printf as printf-like. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.9 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.10 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.9 Wed Jun 15 03:37:50 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Wed Jun 15 15:47:50 2016 @@ -211,6 +211,7 @@ obuf_add_mem(obuf_t *obuf, const char *s } /* varargs-based printf to string */ +__printflike(2, 3) static bool obuf_printf(obuf_t *obuf, const char *fmt, ...) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
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 + * Copyright (c) 2012,2013,2014,2015,2016 Alistair Crooks * 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
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Tue Jun 14 20:55:00 UTC 2016 Added Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: noversion.asc Log Message: add file used for testing gpg --emit-no-version case To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/noversion.asc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/noversion.asc diff -u /dev/null src/crypto/external/bsd/netpgp/dist/src/netpgpverify/noversion.asc:1.1 --- /dev/null Tue Jun 14 20:55:00 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/noversion.asc Tue Jun 14 20:55:00 2016 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNED MESSAGE- +Hash: SHA1 + +bar +-BEGIN PGP SIGNATURE- + +iQEcBAEBAgAGBQJXYEJcAAoJEBto3PzAWWgjk5cH/03A4/a+ywsnzZMncQ7H7rtu +QiIWwyiJo28Xf5z3fL5WG6VKNJdPpx0TIthcxu0O1YgF6lvqqQbnNpfNbD+1h88+ +JCcqJfyVk38vsFPxdFTIOWjbEtHs9yyjUVk5tJQrxtTaSJbGtQIMHQXXfWAyKCn4 +0Zl+E2iWb6tXxxMaAkrCOipjC9knuTJJbG6oVZpujp7jOt+2bOWY+89+FhoGJ5tv +XiOvqIUUSW5Iua+wBOmhb/iuNFUVrO8rS/7BpMLQmxbnLxWtwwSWIcyyg6BwiIvm +8K5NmD3WKN97tPA1HYjk76SlLj254OVLDmTZua7ljqasl5PR9W+aUFIByDgQrGE= +=90+m +-END PGP SIGNATURE-
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Tue Jun 14 20:47:08 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd Makefile.in bignum.c bn.h bzlib.c digest.c digest.h libverify.c md5.h md5c.c misc.c pgpsum.c rmd160.c rmd160.h rsa.c rsa.h sha1.c sha1.h sha2.c sha2.h tiger.c tiger.h verify.h Log Message: Sync with pkgsrc sources as of version 20160614 + pick up renaming changes to internal routines + fix for issue verifying signatures created by gpg --no-emit-version + add test for same To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bn.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/digest.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/digest.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/md5.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/md5c.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rmd160.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rmd160.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha1.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha1.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.h cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c cvs rdiff -u -r1.5 -r1.6 \ 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/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.4 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.5 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.4 Thu Feb 5 01:26:54 2015 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Tue Jun 14 20:47:08 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.4 2015/02/05 01:26:54 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.5 2016/06/14 20:47:08 agc Exp $ PROG=netpgpverify @@ -43,3 +43,5 @@ tst: rm -f 1keytest.gpg @echo "testing signing with a subkey" ./chk.sh -k joyent-pubring.gpg digest-20121220.tgz + @echo "testing signatures with no version" + ./${PROG} -k pubring.gpg noversion.asc Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.8 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.9 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.8 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in Tue Jun 14 20:47:08 2016 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.in,v 1.8 2014/03/09 00:15:45 agc Exp $ +# $NetBSD: Makefile.in,v 1.9 2016/06/14 20:47:08 agc Exp $ PROG=netpgpverify @@ -26,8 +26,25 @@ tst: ./${PROG} -k pubring.gpg NetBSD-6.0_RC1_hashes.asc ./${PROG} -k pubring.gpg NetBSD-6.0_RC1_hashes.gpg ./${PROG} -v - ./${PROG} -S testkey.pub data.gpg - ./${PROG} -S testkey.pub data.sig + ./${PROG} -S sshtest-20140202.pub data.gpg + ./${PROG} -S sshtest-20140202.pub data.sig + @echo "expected failure, to check bad signatures fail to verify" + -sed -e 's|A|B|' data.gpg | ./${PROG} -S sshtest-20140202.pub + @echo "" + @echo "expected failure, no valid key for verification" + -./${PROG} -k /dev/null NetBSD-6.0_RC1_hashes.gpg + @echo "dumping now" + ./${PROG} -c dump -k pubring.gpg NetBSD-6.0_RC1_hashes.asc > /dev/null + @echo "dumping ssh now" + ./${PROG} -c dump -S sshtest-20140202.pub data.gpg + @echo "testing pubring with one key" + uudecode 1keytest.gpg.uu + ./${PROG} -k 1keypubring.gpg 1keytest.gpg + rm -f 1keytest.gpg + @echo "testing signing with a subkey" + ./chk.sh -k joyent-pubring.gpg digest-20121220.tgz + @echo "testing signatures with no version" + ./${PROG} -k pubring.gpg noversion.asc clean: rm -rf *.core ${OBJS} ${PROG} Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sun Feb 7 05:03:36 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: Fix signing of in-memory data with SSH keys To generate a diff of this commit: cvs rdiff -u -r1.96 -r1.97 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.96 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.97 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.96 Wed Feb 22 06:58:54 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sun Feb 7 05:03:36 2016 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.96 2012/02/22 06:58:54 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.97 2016/02/07 05:03:36 agc Exp $"); #endif #include @@ -1501,10 +1501,17 @@ netpgp_sign_memory(netpgp_t *netpgp, &pubkey->key.pubkey, 0); } } - /* now decrypt key */ - seckey = pgp_decrypt_seckey(keypair, netpgp->passfp); - if (seckey == NULL) { - (void) fprintf(io->errs, "Bad passphrase\n"); + if (netpgp_getvar(netpgp, "ssh keys") == NULL) { + /* now decrypt key */ + seckey = pgp_decrypt_seckey(keypair, netpgp->passfp); + if (seckey == NULL) { +(void) fprintf(io->errs, "Bad passphrase\n"); + } + } else { + pgp_keyring_t *secring; + + secring = netpgp->secring; + seckey = &secring->keys[0].key.seckey; } } if (seckey == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Thu Feb 5 01:26:54 UTC 2015 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd bzlib.c bzlib_private.h chk.sh libnetpgpverify.3 libverify.c verify.h zlib.c Added Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: 1keypubring.gpg 1keysecring.gpg 1keytest.gpg.uu digest-20121220.tgz joyent-pubring.gpg mkdist testit.sh Log Message: Sync the src version of netpgpverify with the version in pkgsrc > > revision 1.10 > date: 2015-02-04 16:58:02 -0800; author: agc; state: Exp; lines: +1 -0; > commitid: 0v3HoBPFTnhDSK8y; > appease compiler warning police - initialise a variable in case it's otherwise > "used uninitialised". ride previous version bump. > > revision 1.9 > date: 2015-02-04 16:21:57 -0800; author: agc; state: Exp; lines: +48 -21; > commitid: ElUADrlljB46GK8y; > Update netpgpverify (and libnetpgpverify) to version 20150205 > > + recognise signatures made by subkeys as well as by primary keys > > + print out the relevant key which signed the file, even if it's > a subkey and not the primary key itself. > > + keep the same API as before > > with many thanks to Jonathan Perkin > > revision 1.8 > date: 2015-02-03 13:34:57 -0800; author: agc; state: Exp; lines: +1 -3; > commitid: 6qTclEbv7hmZMB8y; > Update netpgpverify, and libnetpgpverify, to 20150204 > > + dump the huge output in testing script to /dev/null so that we can > see what's happening with the other tests in testit.sh > > + fix from jperkin@, don't try to be clever when selecting the only > key id in a keyring > > + add a test for single key (non-ssh) pubring > > revision 1.7 > date: 2015-02-03 13:13:17 -0800; author: agc; state: Exp; lines: +3 -0; > commitid: ztXbqAi9ocXGFB8y; > Update netpgpverify, and libnetpgpverify, to 20150203 > > + portability fixes to make netpgpverify build on freebsd 10.1 with WARNS=5 > > + fixed an oversight in the testit.sh script To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/1keypubring.gpg \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/1keysecring.gpg \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/1keytest.gpg.uu \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/digest-20121220.tgz \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/joyent-pubring.gpg \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/mkdist \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/testit.sh cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libnetpgpverify.3 cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.c 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/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.3 Fri Jan 30 18:58:59 2015 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Thu Feb 5 01:26:54 2015 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.3 2015/01/30 18:58:59 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.4 2015/02/05 01:26:54 agc Exp $ PROG=netpgpverify @@ -34,6 +34,12 @@ tst: @echo "expected failure, no valid key for verification" -./${PROG} -k /dev/null NetBSD-6.0_RC1_hashes.gpg @echo "dumping now" - ./${PROG} -c dump -k pubring.gpg NetBSD-6.0_RC1_hashes.asc + ./${PROG} -c dump -k pubring.gpg NetBSD-6.0_RC1_hashes.asc > /dev/null @echo "dumping ssh now" ./${PROG} -c dump -S sshtest-20140202.pub data.gpg + @echo "testing pubring with one key" + uudecode 1keytest.gpg.uu + ./${PROG} -k 1keypubring.gpg 1keytest.gpg + rm -f 1keytest.gpg + @echo "testing signing with a subkey" + ./chk.sh -k joyent-pubring.gpg digest-20121220.tgz Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.2 Sun Mar
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Fri Jan 30 18:58:59 UTC 2015 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd chk.sh libverify.c main.c misc.c misc.h netpgpverify.1 verify.h Log Message: catch up with pkgsrc, update netpgpverify to 20150115: + add '-c dump' command to do a packet dump of the input To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.2 Fri Dec 5 04:42:36 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Fri Jan 30 18:58:59 2015 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.2 2014/12/05 04:42:36 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.3 2015/01/30 18:58:59 agc Exp $ PROG=netpgpverify @@ -30,3 +30,10 @@ tst: ./${PROG} -S sshtest-20140202.pub data.sig @echo "expected failure, to check bad signatures fail to verify" -sed -e 's|A|B|' data.gpg | ./${PROG} -S sshtest-20140202.pub + @echo "" + @echo "expected failure, no valid key for verification" + -./${PROG} -k /dev/null NetBSD-6.0_RC1_hashes.gpg + @echo "dumping now" + ./${PROG} -c dump -k pubring.gpg NetBSD-6.0_RC1_hashes.asc + @echo "dumping ssh now" + ./${PROG} -c dump -S sshtest-20140202.pub data.gpg Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c:1.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c:1.2 Fri Dec 5 04:42:36 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.c Fri Jan 30 18:58:59 2015 @@ -65,3 +65,48 @@ netpgp_deallocate(void *ptr, size_t size free(ptr); #endif } + +#define HEXDUMP_LINELEN 16 + +#ifndef PRIsize +#define PRIsize "z" +#endif + +/* show hexadecimal/ascii dump */ +ssize_t +netpgp_hexdump(const void *vin, const size_t len, void *outvp, size_t size) +{ + const char *in = (const char *)vin; + size_t i; + char line[HEXDUMP_LINELEN + 1]; + char *out = (char *)outvp; + int o; + + for (i = 0, o = 0 ; i < len ; i++) { + if (i % HEXDUMP_LINELEN == 0) { + o += snprintf(&out[o], size - o, + "%.5" PRIsize "u | ", i); + } else if (i % (HEXDUMP_LINELEN / 2) == 0) { + o += snprintf(&out[o], size - o, " "); + } + o += snprintf(&out[o], size - o, "%.02x ", (uint8_t)in[i]); + line[i % HEXDUMP_LINELEN] = + (isprint((uint8_t)in[i])) ? in[i] : '.'; + if (i % HEXDUMP_LINELEN == HEXDUMP_LINELEN - 1) { + line[HEXDUMP_LINELEN] = 0x0; + o += snprintf(&out[o], size - o, " | %s\n", line); + } + } + if (i % HEXDUMP_LINELEN != 0) { + for ( ; i % HEXDUMP_LINELEN != 0 ; i++) { + o += snprintf(&out[o], size - o, " "); + if (i % (HEXDUMP_LINELEN / 2) == 0) { +o += snprintf(&out[o], size - o, " "); + } + line[i % HEXDUMP_LINELEN] = ' '; + } + line[HEXDUMP_LINELEN] = 0x0; + o += snprintf(&out[o], size - o, " | %s\n", line); + } + return (ssize_t)o; +} Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/chk.sh Fri Jan 30 18:58:59 2015 @@ -1,8 +1,8 @@ #! /bin/sh -# $NetBSD: chk.sh,v 1.1 2014/03/09 00:15:45 agc Exp $ +# $NetBSD: chk.sh,v 1.2 2015/01/30 18:58:59 agc Exp $ -# Copyright (c) 2013,2014 Alistair Crooks +# Copyright (c) 2013,2014,2015 Alistair Crooks # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,12 +34,10 @@ die() { os=EdgeBSD osrev=6 arch=amd64 -pkgsrc=pkgsrc-2013Q2 -keyring="" +pkgsrc=pkgsrc-2013Q1 while [ $# -gt 0 ]; do case "$1" in --arch|-a) arch=$2; shift ;; - --keyring|-k) keyring=$2; shift ;; --os|-o) os=$2; shift ;; --pkgsrc) pkgsrc=$2; shift ;; -v) set
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys
Module Name:src Committed By: agc Date: Wed Dec 17 16:50:52 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c Log Message: Fix bug report from Jared - actually print the key when exporting To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c 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/netpgpkeys/netpgpkeys.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.25 src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.26 --- src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.25 Wed Feb 22 06:58:55 2012 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c Wed Dec 17 16:50:52 2014 @@ -196,6 +196,7 @@ static int netpgp_cmd(netpgp_t *netpgp, prog_t *p, char *f) { char *key; + char *s; switch (p->cmd) { case LIST_KEYS: @@ -211,8 +212,10 @@ netpgp_cmd(netpgp_t *netpgp, prog_t *p, key = netpgp_getvar(netpgp, "userid"); } if (key) { - printf("%s", key); - return 1; + if ((s = netpgp_export_key(netpgp, key)) != NULL) { +printf("%s", s); +return 1; + } } (void) fprintf(stderr, "key '%s' not found\n", f); return 0;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Sat Nov 29 20:18:44 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: tiger.c verify.h Removed Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: verify.c Log Message: Update netpgpverify to version 20141129 + get rid of old libnetpgp-based source from /usr/src/crypto/external tree, it's not been used in a while + enhancement to tiger.c (from apb, IIRC) to use the union rather than dubious and probably unportable casts. + bump version number To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r1.15 -r0 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.c 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/tiger.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c Sat Nov 29 20:18:44 2014 @@ -819,7 +819,7 @@ TIGER_Update(TIGER_CTX *ctx, const void for (; j < 56; j++) { u.temp8[j] = 0; } - ((uint64_t *)(void *)(&(u.temp8[56])))[0] = ((uint64_t)length) << 3; + u.temp64[7] = ((uint64_t)length) << 3; tiger_compress(u.temp64, ctx->ctx); } Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Sat Nov 29 20:18:44 2014 @@ -25,7 +25,7 @@ #ifndef NETPGP_VERIFY_H_ #define NETPGP_VERIFY_H_ 20140304 -#define NETPGPVERIFY_VERSION "netpgpverify portable 20140304" +#define NETPGPVERIFY_VERSION "netpgpverify portable 20141129" #include
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Tue Mar 11 17:48:31 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Add portability definitions in case they're not already defined XXX - these need to be consolidated in one single header To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.3 Tue Mar 11 17:38:48 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Tue Mar 11 17:48:31 2014 @@ -56,6 +56,14 @@ #define USE_ARG(x) /*LINTED*/(void)&(x) #endif +#ifndef __dead +#define __dead__attribute__((__noreturn__)) +#endif + +#ifndef __printflike +#define __printflike(n, m) __attribute__((format(printf,n,m))) +#endif + #define BITS_TO_BYTES(b) (((b) + (CHAR_BIT - 1)) / CHAR_BIT) /* packet types */
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Tue Mar 11 17:38:48 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: cast arguments to the correct type for format strings To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c 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.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.2 Tue Mar 11 17:21:05 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Tue Mar 11 17:38:48 2014 @@ -1994,7 +1994,7 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t if (is_armored(buf, sizeof(buf))) { read_ascii_armor_file(cursor, p); } else { - read_binary_file(pgp, "signature", "%s", p); + read_binary_file(pgp, "signature", "%s", (const char *)p); } fclose(fp); } else { @@ -2672,7 +2672,7 @@ pgpv_read_pubring(pgpv_t *pgp, const voi if (keyring) { return (size > 0) ? read_binary_memory(pgp, "pubring", keyring, (size_t)size) : - read_binary_file(pgp, "pubring", "%s", keyring); + read_binary_file(pgp, "pubring", "%s", (const char *)keyring); } return read_binary_file(pgp, "pubring", "%s/%s", nonnull_getenv("HOME"), ".gnupg/pubring.gpg"); } @@ -2687,7 +2687,7 @@ pgpv_read_ssh_pubkeys(pgpv_t *pgp, const return 0; } if (keyring) { - if (!read_ssh_file(pgp, &primary, "%s", keyring)) { + if (!read_ssh_file(pgp, &primary, "%s", (const char *)keyring)) { return 0; } } else if (!read_ssh_file(pgp, &primary, "%s/%s", nonnull_getenv("HOME"), ".ssh/id_rsa.pub")) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: joerg Date: Tue Mar 11 17:21:05 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c misc.h Log Message: Annotate format strings. Remove string constant in front of real format string. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.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.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Tue Mar 11 17:21:05 2014 @@ -151,7 +151,7 @@ /* Forward declarations */ static int read_all_packets(pgpv_t */*pgp*/, pgpv_mem_t */*mem*/, const char */*op*/); -static int read_binary_file(pgpv_t */*pgp*/, const char */*op*/, const char */*fmt*/, ...); +static int read_binary_file(pgpv_t */*pgp*/, const char */*op*/, const char */*fmt*/, ...) __printflike(3, 4); static int read_binary_memory(pgpv_t */*pgp*/, const char */*op*/, const void */*memory*/, size_t /*size*/); /* read a file into the pgpv_mem_t struct */ @@ -2221,7 +2221,7 @@ findstr(str_t *array, const char *name) } /* read public key from the ssh pubkey file */ -static int +static __printflike(3, 4) int read_ssh_file(pgpv_t *pgp, pgpv_primarykey_t *primary, const char *fmt, ...) { pgpv_signed_userid_t userid; @@ -2690,7 +2690,7 @@ pgpv_read_ssh_pubkeys(pgpv_t *pgp, const if (!read_ssh_file(pgp, &primary, "%s", keyring)) { return 0; } - } else if (!read_ssh_file(pgp, &primary, "pubring", "%s/%s", nonnull_getenv("HOME"), ".ssh/id_rsa.pub")) { + } else if (!read_ssh_file(pgp, &primary, "%s/%s", nonnull_getenv("HOME"), ".ssh/id_rsa.pub")) { return 0; } ARRAY_APPEND(pgp->primaries, primary); Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/misc.h Tue Mar 11 17:21:05 2014 @@ -45,7 +45,7 @@ void *netpgp_allocate(size_t /*n*/, size void netpgp_deallocate(void */*ptr*/, size_t /*size*/); #ifndef _KERNEL -void logmessage(const int /*level*/, const char */*fmt*/, ...); +void logmessage(const int /*level*/, const char */*fmt*/, ...) __printflike(2, 3); #endif __END_DECLS
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: joerg Date: Tue Mar 11 17:20:23 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: bzlib_private.h Log Message: Mark assertion handler as dead. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.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/bzlib_private.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h Tue Mar 11 17:20:23 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bzlib_private.h,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib_private.h,v 1.2 2014/03/11 17:20:23 joerg Exp $ */ /*-*/ @@ -57,7 +57,7 @@ typedef unsigned short UInt16; #ifndef BZ_NO_STDIO -void BZ2_bz__AssertH__fail ( int errcode ); +void BZ2_bz__AssertH__fail ( int errcode ) __dead; #define AssertH(cond,errcode) \ { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sun Mar 9 07:01:42 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: bzlib.c main.c Log Message: fix unused To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c 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/bzlib.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c:1.1 Sat Mar 8 19:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c Sun Mar 9 03:01:42 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: bzlib.c,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib.c,v 1.2 2014/03/09 07:01:42 christos Exp $ */ /*-*/ @@ -35,7 +35,7 @@ #include "bzlib_private.h" -/* $NetBSD: bzlib.c,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib.c,v 1.2 2014/03/09 07:01:42 christos Exp $ */ /*-*/ @@ -930,6 +930,8 @@ BZFILE * bzopen_or_bzdopen intsmallMode = 0; intnUnused = 0; + __USE(blockSize100k); + if (mode == NULL) return NULL; while (*mode) { switch (*mode) { @@ -1080,7 +1082,7 @@ const char * BZ_API(BZ2_bzerror) (BZFILE /*-*/ /*--- end bzlib.c ---*/ /*-*/ -/* $NetBSD: bzlib.c,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib.c,v 1.2 2014/03/09 07:01:42 christos Exp $ */ /*-*/ @@ -1726,7 +1728,7 @@ Int32 BZ2_decompress ( DState* s ) /*-*/ /*--- end decompress.c ---*/ /*-*/ -/* $NetBSD: bzlib.c,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib.c,v 1.2 2014/03/09 07:01:42 christos Exp $ */ /*-*/ @@ -1830,7 +1832,7 @@ UInt32 BZ2_crc32Table[256] = { /*-*/ /*--- endcrctable.c ---*/ /*-*/ -/* $NetBSD: bzlib.c,v 1.1 2014/03/09 00:15:45 agc Exp $ */ +/* $NetBSD: bzlib.c,v 1.2 2014/03/09 07:01:42 christos Exp $ */ /*-*/ Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c:1.3 Sat Mar 8 19:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c Sun Mar 9 03:01:42 2014 @@ -122,7 +122,6 @@ verify_data(pgpv_t *pgp, const char *cmd int main(int argc, char **argv) { - const char *modifiers; const char *keyring; const char *cmd; ssize_t cc; @@ -138,7 +137,6 @@ main(int argc, char **argv) ssh = 0; ok = 1; cmd = "verify"; - modifiers = NULL; while ((i = getopt(argc, argv, "S:c:k:v")) != -1) { switch(i) { case 'S':
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: agc Date: Tue Mar 4 17:29:06 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: check the correct field in the structure in dsa_verify - pointed out by joerg - thanks! To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.8 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.9 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.8 Fri Feb 21 01:55:10 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Tue Mar 4 17:29:06 2014 @@ -1609,7 +1609,9 @@ verify_dsa_sig(uint8_t *calculated, unsi BIGNUM *t1; int ret; - if (pubkey[DSA_P].bn == NULL || pubkey[DSA_Q].bn == NULL || pubkey[DSA_G].bn == NULL) { + if (pubkey->bn[DSA_P].bn == NULL || + pubkey->bn[DSA_Q].bn == NULL || + pubkey->bn[DSA_G].bn == NULL) { return 0; } M = W = t1 = NULL;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Feb 17 07:39:20 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: crypto.c Log Message: Avoid a warning on Gentoo Linux about fwrite(3) -- their glibc declares fwrite(3) with the warn_unused_result attribute, from Razvan Cojocaru To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c 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/lib/crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.35 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.36 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.35 Sun Jan 2 18:13:10 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c Mon Feb 17 07:39:19 2014 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: crypto.c,v 1.35 2011/01/02 18:13:10 agc Exp $"); +__RCSID("$NetBSD: crypto.c,v 1.36 2014/02/17 07:39:19 agc Exp $"); #endif #include @@ -286,8 +286,11 @@ write_parsed_cb(const pgp_packet_t *pkt, puts("Skipping..."); cbinfo->printstate.skipping = 1; } - fwrite(content->unarmoured_text.data, 1, - content->unarmoured_text.length, stdout); + if (fwrite(content->unarmoured_text.data, 1, + content->unarmoured_text.length, stdout) != content->unarmoured_text.length) { + fprintf(stderr, "unable to write unarmoured text data\n"); + cbinfo->printstate.skipping = 1; + } break; case PGP_PTAG_CT_PK_SESSION_KEY:
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Tue Feb 4 01:46:39 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: ssh2pgp.c Log Message: When building up a PGP public key from an ssh key, do not use the key file's mtime as the birthtime of the signature - rather, just zero this value (the key birthtime is an inherent part of calculating the key id) This allows public key files to be copied to other file systems, machines or directories, and still produce the same key id. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c 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/lib/ssh2pgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.22 src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.23 --- src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.22 Sat Jan 1 19:53:53 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c Tue Feb 4 01:46:38 2014 @@ -276,7 +276,7 @@ pgp_ssh2pubkey(pgp_io_t *io, const char (void) memset(key, 0x0, sizeof(*key)); pubkey = &key->key.seckey.pubkey; pubkey->version = PGP_V4; - pubkey->birthtime = st.st_mtime; + pubkey->birthtime = 0; /* get key type */ ok = 1; switch (pubkey->alg = findstr(pkatypes, buf)) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: htodd Date: Mon Jan 6 23:23:10 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: Fix build (cast to const char *). To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.6 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.7 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.6 Mon Jan 6 22:59:10 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Mon Jan 6 23:23:10 2014 @@ -1880,7 +1880,7 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t if (is_armored(buf, sizeof(buf))) { read_ascii_armor_file(cursor, p); } else { - read_binary_file(pgp, "signature", "%s", p); + read_binary_file(pgp, "signature", "%s", (const char *)p); } fclose(fp); } else {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: joerg Date: Mon Jan 6 22:59:10 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: Move __printflike to the prototype. Add explicit cast for void * -> char * to make GCC happy. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.5 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.6 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.5 Mon Jan 6 21:15:15 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Mon Jan 6 22:59:10 2014 @@ -145,7 +145,8 @@ /* Forward declarations */ static int read_all_packets(pgpv_t */*pgp*/, pgpv_mem_t */*mem*/, const char */*op*/); -static int read_binary_file(pgpv_t */*pgp*/, const char */*op*/, const char */*fmt*/, ...); +static int read_binary_file(pgpv_t */*pgp*/, const char */*op*/, const char */*fmt*/, ...) +__printflike(3, 4); static int read_binary_memory(pgpv_t */*pgp*/, const char */*op*/, const void */*memory*/, size_t /*size*/); static int pgpv_find_keyid(pgpv_t */*pgp*/, const char */*strkeyid*/, uint8_t */*keyid*/); @@ -2046,7 +2047,7 @@ read_all_packets(pgpv_t *pgp, pgpv_mem_t } /* create a filename, read it, and then parse according to "op" */ -__printflike(3, 4) static int +static int read_binary_file(pgpv_t *pgp, const char *op, const char *fmt, ...) { va_list args; @@ -2335,7 +2336,7 @@ pgpv_read_pubring(pgpv_t *pgp, const voi if (keyring) { return (size > 0) ? read_binary_memory(pgp, "pubring", keyring, (size_t)size) : - read_binary_file(pgp, "pubring", "%s", keyring); + read_binary_file(pgp, "pubring", "%s", (const char *)keyring); } return read_binary_file(pgp, "pubring", "%s/%s", nonnull_getenv("HOME"), ".gnupg/pubring.gpg"); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: joerg Date: Mon Jan 6 21:15:15 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: misc.h src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: Add __printflike. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/crypto/external/bsd/netpgp/dist/src/libbn/misc.h cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libbn/misc.h diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/misc.h:1.2 src/crypto/external/bsd/netpgp/dist/src/libbn/misc.h:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libbn/misc.h:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/misc.h Mon Jan 6 21:15:15 2014 @@ -45,7 +45,8 @@ void *netpgp_allocate(size_t /*n*/, size void netpgp_deallocate(void */*ptr*/, size_t /*size*/); #ifndef _KERNEL -void logmessage(const int /*level*/, const char */*fmt*/, ...); +void logmessage(const int /*level*/, const char */*fmt*/, ...) +__printflike(2, 3); #endif __END_DECLS Index: src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.4 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.5 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.4 Thu Nov 22 11:26:28 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Mon Jan 6 21:15:15 2014 @@ -2046,7 +2046,7 @@ read_all_packets(pgpv_t *pgp, pgpv_mem_t } /* create a filename, read it, and then parse according to "op" */ -static int +__printflike(3, 4) static int read_binary_file(pgpv_t *pgp, const char *op, const char *fmt, ...) { va_list args;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: joerg Date: Mon Jan 6 21:12:19 UTC 2014 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: errors.h netpgpsdk.h Log Message: Add __printflike where necessary. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/crypto/external/bsd/netpgp/dist/src/lib/errors.h cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.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/lib/errors.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.7 src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.8 --- src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.7 Mon Mar 5 02:20:18 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/errors.h Mon Jan 6 21:12:19 2014 @@ -135,7 +135,7 @@ const char *pgp_errcode(const pgp_er void pgp_push_error(pgp_error_t **, pgp_errcode_t, int, - const char *, int, const char *,...); + const char *, int, const char *,...) __printflike(6, 7); void pgp_print_error(pgp_error_t *); void pgp_print_errors(pgp_error_t *); void pgp_free_errors(pgp_error_t *); Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.10 src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.11 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.10 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h Mon Jan 6 21:12:19 2014 @@ -63,9 +63,9 @@ unsigned pgp_check_sig(const uint8_t * const char *pgp_get_info(const char *type); -int pgp_asprintf(char **, const char *, ...); +int pgp_asprintf(char **, const char *, ...) __printflike(2, 3); -void netpgp_log(const char *, ...); +void netpgp_log(const char *, ...) __printflike(1, 2); int netpgp_strcasecmp(const char *, const char *); char *netpgp_strdup(const char *);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libdigest
Module Name:src Committed By: mrg Date: Sat Oct 19 22:54:44 UTC 2013 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libdigest: tiger.c Log Message: avoid casts when the necessary union member is already available. from apb. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/libdigest/tiger.c 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/libdigest/tiger.c diff -u src/crypto/external/bsd/netpgp/dist/src/libdigest/tiger.c:1.2 src/crypto/external/bsd/netpgp/dist/src/libdigest/tiger.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libdigest/tiger.c:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libdigest/tiger.c Sat Oct 19 22:54:44 2013 @@ -819,7 +819,7 @@ TIGER_Update(TIGER_CTX *ctx, const void for (; j < 56; j++) { u.temp8[j] = 0; } - ((uint64_t *)(void *)(&(u.temp8[56])))[0] = ((uint64_t)length) << 3; + u.temp64[7] = ((uint64_t)length) << 3; tiger_compress(u.temp64, ctx->ctx); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: agc Date: Tue Mar 19 01:00:17 UTC 2013 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c Log Message: fix some lint on i386, noticed by Greg Troxel, thanks! To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c 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/libbn/bignum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.4 src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.5 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.4 Thu Nov 22 00:37:55 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Tue Mar 19 01:00:16 2013 @@ -1394,7 +1394,7 @@ fast_mp_invmod (mp_int * a, mp_int * b, if ((res = mp_copy (&y, &v)) != MP_OKAY) { goto LBL_ERR; } - mp_set (&D, 1); + mp_set (&D, (unsigned long)1); top: /* 4. while u is even do */ @@ -1463,7 +1463,7 @@ top: /* now a = C, b = D, gcd == g*v */ /* if v != 1 then there is no inverse */ - if (mp_cmp_d (&v, 1) != MP_EQ) { + if (mp_cmp_d (&v, (unsigned long)1) != MP_EQ) { res = MP_VAL; goto LBL_ERR; } @@ -1522,8 +1522,8 @@ mp_invmod_slow (mp_int * a, mp_int * b, if ((res = mp_copy (&y, &v)) != MP_OKAY) { goto LBL_ERR; } - mp_set (&A, 1); - mp_set (&D, 1); + mp_set (&A, (unsigned long)1); + mp_set (&D, (unsigned long)1); top: /* 4. while u is even do */
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: agc Date: Mon Dec 3 18:02:22 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bn.h Log Message: Make the mp_digit type an "unsigned long" so that it works for ILP32 and LP64. Fixes problems showing up on regression tests on i386 (which work fine on amd64) i.e. turn: t_netpgpverify (1/1): 2 test cases netpgpverify_dsa: [0.309746s] Failed: atf-check failed; see the output of the test for details netpgpverify_rsa: [0.183148s] Passed. [0.495102s] Failed test cases: t_netpgpverify:netpgpverify_dsa Summary for 1 test programs: 1 passed test cases. 1 failed test cases. 0 expected failed test cases. 0 skipped test cases. into: t_netpgpverify (1/1): 2 test cases netpgpverify_dsa: [0.236076s] Passed. netpgpverify_rsa: [0.154680s] Passed. [0.393034s] Summary for 1 test programs: 2 passed test cases. 0 failed test cases. 0 expected failed test cases. 0 skipped test cases. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/crypto/external/bsd/netpgp/dist/src/libbn/bn.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/libbn/bn.h diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.3 src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.4 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.3 Tue Nov 20 17:57:40 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h Mon Dec 3 18:02:22 2012 @@ -44,7 +44,8 @@ __BEGIN_DECLS -typedef uint64_t mp_digit; +/* should be 32bit on ILP32, 64bit on LP64 */ +typedef unsigned long mp_digit; typedef uint64_t mp_word; /* multi-precision integer */
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: wiz Date: Wed Nov 28 09:23:15 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/librsa: libnetpgprsa.3 src/crypto/external/bsd/netpgp/dist/src/libverify: libnetpgpverify.3 Log Message: Remove trailing whitespace, sort SEE ALSO, comment out reference to non-existing libbz2(3). XXX: bn(3) references correct? (man page doesn't exist in NetBSD) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/librsa/libnetpgprsa.3 cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3 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/librsa/libnetpgprsa.3 diff -u src/crypto/external/bsd/netpgp/dist/src/librsa/libnetpgprsa.3:1.2 src/crypto/external/bsd/netpgp/dist/src/librsa/libnetpgprsa.3:1.3 --- src/crypto/external/bsd/netpgp/dist/src/librsa/libnetpgprsa.3:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/librsa/libnetpgprsa.3 Wed Nov 28 09:23:14 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgprsa.3,v 1.2 2012/11/20 05:26:25 agc Exp $ +.\" $NetBSD: libnetpgprsa.3,v 1.3 2012/11/28 09:23:14 wiz Exp $ .\" .\" Copyright (c) 2012 Alistair Crooks .\" All rights reserved. @@ -101,9 +101,8 @@ encryption and decryption, and DSA signi RSA and DSA verification are provided by the .Xr libnetpgpverify 3 library. -.Pp .Sh SEE ALSO -.Xr libnetpgpbn 3 +.Xr libnetpgpbn 3 , .Xr libnetpgpverify 3 .Sh HISTORY The Index: src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3:1.2 src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3:1.2 Tue Nov 20 05:26:26 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libnetpgpverify.3 Wed Nov 28 09:23:15 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgpverify.3,v 1.2 2012/11/20 05:26:26 agc Exp $ +.\" $NetBSD: libnetpgpverify.3,v 1.3 2012/11/28 09:23:15 wiz Exp $ .\" .\" Copyright (c) 2012 Alistair Crooks .\" All rights reserved. @@ -70,7 +70,7 @@ using to read the public keys of trusted identities, and to read files or memory which has already been signed. The -.Fn pgpv_verify +.Fn pgpv_verify function is used to verify the signature, either on data, or on memory. To signal to .Fn pgpv_verify @@ -124,8 +124,8 @@ This is handled automatically by .Nm .Sh SEE ALSO .Xr bn 3 , -.Xr zlib 3 , -.Xr bzlib2 3 +.\" .Xr bzlib2 3 , +.Xr zlib 3 .Sh STANDARDS The .Nm
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: martin Date: Thu Nov 22 11:26:29 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: Initialize "ok" (and thereby fix the vax build) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.3 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.3 Tue Nov 20 18:45:37 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Thu Nov 22 11:26:28 2012 @@ -874,7 +874,7 @@ read_compressed(pgpv_t *pgp, pgpv_compre pgpv_mem_t *unzmem; bz_stream bz; z_stream z; - int ok; + int ok = 0; compressed->compalg = *p; compressed->s.size = len;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: agc Date: Thu Nov 22 00:38:45 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: pgpsum.c Log Message: Fix some lint To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/libverify/pgpsum.c 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/libverify/pgpsum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/pgpsum.c:1.2 src/crypto/external/bsd/netpgp/dist/src/libverify/pgpsum.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libverify/pgpsum.c:1.2 Tue Nov 20 05:26:26 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/pgpsum.c Thu Nov 22 00:38:45 2012 @@ -36,6 +36,10 @@ #include "digest.h" #include "pgpsum.h" +#ifndef USE_ARG +#define USE_ARG(x) /*LINTED*/(void)&(x) +#endif + /* add the ascii armor line endings (except for last line) */ static size_t don_armor(digest_t *hash, uint8_t *in, size_t insize, int doarmor) @@ -103,7 +107,7 @@ already_armored(uint8_t *in, size_t insi /* calculate the checksum for the data we have */ static int -calcsum(uint8_t *out, size_t size, const char *name, uint8_t *mem, size_t cc, const uint8_t *hashed, size_t hashsize, int doarmor) +calcsum(uint8_t *out, size_t size, uint8_t *mem, size_t cc, const uint8_t *hashed, size_t hashsize, int doarmor) { digest_t hash; uint32_t len32; @@ -111,6 +115,7 @@ calcsum(uint8_t *out, size_t size, const uint8_t hashalg; uint8_t trailer[6]; + USE_ARG(size); /* hashed data is non-null (previously checked) */ hashalg = hashed[3]; memcpy(&len16, &hashed[4], sizeof(len16)); @@ -122,7 +127,7 @@ calcsum(uint8_t *out, size_t size, const #ifdef NETPGPV_DEBUG writefile(mem, cc); #endif - digest_init(&hash, hashalg); + digest_init(&hash, (const unsigned)hashalg); if (strchr("tw", doarmor) != NULL && !already_armored(mem, cc)) { /* this took me ages to find - something causes gpg to truncate its input */ don_armor(&hash, mem, cc - 1, doarmor); @@ -166,7 +171,7 @@ pgpv_digest_file(uint8_t *data, size_t s warn("%s - can't mmap", name); goto done; } - ret = calcsum(data, size, name, mem, cc, hashed, hashsize, doarmor); + ret = calcsum(data, size, mem, cc, hashed, hashsize, doarmor); done: if (data) { munmap(mem, cc); @@ -183,5 +188,5 @@ pgpv_digest_memory(uint8_t *data, size_t fprintf(stderr, "no hashed data provided\n"); return 0; } - return calcsum(data, size, "[memory]", mem, cc, hashed, hashsize, doarmor); + return calcsum(data, size, mem, cc, hashed, hashsize, doarmor); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: agc Date: Thu Nov 22 00:37:56 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c Log Message: Fix some lint - from Havard Eidnes To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c 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/libbn/bignum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.3 src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.3 Tue Nov 20 17:57:40 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Thu Nov 22 00:37:55 2012 @@ -500,7 +500,7 @@ mp_clear (mp_int * a) } /* free ram */ -netpgp_deallocate(a->dp, a->alloc); +netpgp_deallocate(a->dp, (size_t)a->alloc); /* reset members to make debugging easier */ a->dp= NULL; @@ -4789,6 +4789,7 @@ mp_cnt_lsb(mp_int *a) if ((q & 1) == 0) { do { qq = q & 15; + /* LINTED previous op ensures range of qq */ x += lnz[qq]; q >>= 4; } while (qq == 0); @@ -5064,6 +5065,7 @@ mp_toradix_n(mp_int * a, char *str, int mp_clear (&t); return res; } +/* LINTED -- radix' range is checked above, limits d's range */ *str++ = mp_s_rmap[d]; ++digs; } @@ -5089,9 +5091,9 @@ formatbn(const BIGNUM *a, const int radi if (mp_radix_size(__UNCONST(a), radix, &len) != MP_OKAY) { return NULL; } - if ((s = netpgp_allocate(1, len)) != NULL) { + if ((s = netpgp_allocate(1, (size_t)len)) != NULL) { if (mp_toradix_n(__UNCONST(a), s, radix, len) != MP_OKAY) { - netpgp_deallocate(s, len); + netpgp_deallocate(s, (size_t)len); return NULL; } }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libverify
Module Name:src Committed By: agc Date: Tue Nov 20 18:45:37 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libverify: libverify.c Log Message: fix problem on 32-bit problems - with thanks to Alan Barrett and Jonathan Kollasch To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c 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/libverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.2 src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c:1.2 Tue Nov 20 05:26:26 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libverify/libverify.c Tue Nov 20 18:45:37 2012 @@ -940,7 +940,7 @@ read_compressed(pgpv_t *pgp, pgpv_compre break; case BZIP2_COMPRESSION: ok = (BZ2_bzDecompress(&bz) == BZ_STREAM_END); - unzmem->size = ((size_t)bz.total_out_hi32 << 32) | bz.total_out_lo32; + unzmem->size = ((uint64_t)bz.total_out_hi32 << 32) | bz.total_out_lo32; break; } if (!ok) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: agc Date: Tue Nov 20 17:57:41 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c bn.h Log Message: don't assume every platform is 64-bit - just use standard integer arithmetic To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c \ src/crypto/external/bsd/netpgp/dist/src/libbn/bn.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/libbn/bignum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.2 src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Tue Nov 20 17:57:40 2012 @@ -76,7 +76,7 @@ */ #define MP_PREC 32 -#define DIGIT_BIT 60 +#define DIGIT_BIT 28 #define MP_MASK mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1)) #define MP_WARRAY /*LINTED*/(1U << (((sizeof(mp_word) * CHAR_BIT) - (2 * DIGIT_BIT) + 1))) Index: src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.2 src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.3 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bn.h Tue Nov 20 17:57:40 2012 @@ -44,8 +44,8 @@ __BEGIN_DECLS -typedef unsigned long mp_digit; -typedef unsigned long mp_word __attribute__ ((mode(TI))); +typedef uint64_t mp_digit; +typedef uint64_t mp_word; /* multi-precision integer */ typedef struct mp_int {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: christos Date: Mon Mar 5 02:20:19 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: compress.c errors.h misc.c packet-parse.c reader.c signature.c validate.c writer.c Log Message: Fix compilation: kill PGP_ERROR() and make everything use a format. XXX: Fixme to use __VA_ARGS__ instead of the silly PGP_ERROR_N() macros. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c cvs rdiff -u -r1.6 -r1.7 src/crypto/external/bsd/netpgp/dist/src/lib/errors.h cvs rdiff -u -r1.40 -r1.41 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.48 -r1.49 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.43 -r1.44 \ src/crypto/external/bsd/netpgp/dist/src/lib/validate.c cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/writer.c 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/lib/compress.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.22 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.23 --- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.22 Sun Mar 4 14:52:02 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c Sun Mar 4 21:20:18 2012 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: compress.c,v 1.22 2012/03/04 19:52:02 agc Exp $"); +__RCSID("$NetBSD: compress.c,v 1.23 2012/03/05 02:20:18 christos Exp $"); #endif #ifdef HAVE_ZLIB_H @@ -170,13 +170,14 @@ zlib_compressed_data_reader(pgp_stream_t if (ret == Z_STREAM_END) { if (!z->region->indeterminate && z->region->readc != z->region->length) { - PGP_ERROR(cbinfo->errors, + PGP_ERROR_1(cbinfo->errors, PGP_E_P_DECOMPRESSION_ERROR, + "%s", "Compressed stream ended before packet end."); } } else if (ret != Z_OK) { (void) fprintf(stderr, "ret=%d\n", ret); -PGP_ERROR(cbinfo->errors, +PGP_ERROR_1(cbinfo->errors, PGP_E_P_DECOMPRESSION_ERROR, "%s", z->zstream.msg); } @@ -250,8 +251,9 @@ bzip2_compressed_data_reader(pgp_stream_ if (ret == BZ_STREAM_END) { if (!bz->region->indeterminate && bz->region->readc != bz->region->length) - PGP_ERROR(cbinfo->errors, + PGP_ERROR_1(cbinfo->errors, PGP_E_P_DECOMPRESSION_ERROR, + "%s", "Compressed stream ended before packet end."); } else if (ret != BZ_OK) { PGP_ERROR_1(cbinfo->errors, Index: src/crypto/external/bsd/netpgp/dist/src/lib/errors.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.6 src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.7 --- src/crypto/external/bsd/netpgp/dist/src/lib/errors.h:1.6 Sun Nov 7 03:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/errors.h Sun Mar 4 21:20:18 2012 @@ -150,9 +150,6 @@ int pgp_has_error(pgp_error_t *, pgp_er fprintf(stderr, "Memory error\n");\ }/* \todo placeholder for better error * handling */ -#define PGP_ERROR(err,code,fmt) do { \ - pgp_push_error(err,code,0,__FILE__,__LINE__,fmt); \ -} while(/*CONSTCOND*/0) #define PGP_ERROR_1(err,code,fmt,arg) do {\ pgp_push_error(err,code,0,__FILE__,__LINE__,fmt,arg); \ } while(/*CONSTCOND*/0) Index: src/crypto/external/bsd/netpgp/dist/src/lib/misc.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.40 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.41 --- src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.40 Mon Nov 29 01:21:40 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/misc.c Sun Mar 4 21:20:18 2012 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: misc.c,v 1.40 2010/11/29 06:21:40 agc Exp $"); +__RCSID("$NetBSD: misc.c,v 1.41 2012/03/05 02:20:18 christos Exp $"); #endif #include @@ -132,7 +132,8 @@ accumulate_cb(const pgp_packet_t *pkt, p keyring->keyc - 1); } if (keyring->keyc == 0) { - PGP_ERROR(cbinfo->errors, PGP_E_P_NO_USERID, "No userid found"); + PGP_ERROR_1(cbinfo->errors, PGP_E_P_NO_USERID, "%s", + "No userid found"); } else { pgp_add_userid(&keyring->keys[keyring->keyc - 1], content->userid); } Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.50 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.51 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.50 Mon Nov 15 03:56:30 2010 +++ src/c
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sun Mar 4 19:52:02 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: compress.c Log Message: Use %s for the format string, as pointed out by joerg in the diff for __printflike attributions (on tech-userlevel, March 1st 2012). To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c 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/lib/compress.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.21 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.22 --- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.21 Mon Nov 15 08:03:39 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c Sun Mar 4 19:52:02 2012 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: compress.c,v 1.21 2010/11/15 08:03:39 agc Exp $"); +__RCSID("$NetBSD: compress.c,v 1.22 2012/03/04 19:52:02 agc Exp $"); #endif #ifdef HAVE_ZLIB_H @@ -177,7 +177,8 @@ zlib_compressed_data_reader(pgp_stream_t } else if (ret != Z_OK) { (void) fprintf(stderr, "ret=%d\n", ret); PGP_ERROR(cbinfo->errors, -PGP_E_P_DECOMPRESSION_ERROR, z->zstream.msg); + PGP_E_P_DECOMPRESSION_ERROR, "%s", + z->zstream.msg); } z->inflate_ret = ret; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: agc Date: Wed Feb 22 06:58:55 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.1 netpgpkeys.c Log Message: Add the --trusted-keys argument to netpgpkeys(1) to print out PGP ids in a machine-readable manner. To generate a diff of this commit: cvs rdiff -u -r1.95 -r1.96 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.17 -r1.18 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1 cvs rdiff -u -r1.24 -r1.25 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.95 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.96 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.95 Wed Feb 22 06:29:40 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Wed Feb 22 06:58:54 2012 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.95 2012/02/22 06:29:40 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.96 2012/02/22 06:58:54 agc Exp $"); #endif #include @@ -1077,31 +1077,21 @@ netpgp_match_pubkeys(netpgp_t *netpgp, c { const pgp_key_t *key; unsigned k; - strings_t pubs; ssize_t cc; + char out[1024 * 64]; FILE *fp = (FILE *)vp; - (void) memset(&pubs, 0x0, sizeof(pubs)); + k = 0; do { key = pgp_getnextkeybyname(netpgp->io, netpgp->pubring, name, &k); if (key != NULL) { - char out[1024 * 64]; - - ALLOC(char *, pubs.v, pubs.size, pubs.c, 10, 10, - "netpgp_match_pubkeys", return 0); cc = pgp_sprint_pubkey(key, out, sizeof(out)); - pubs.v[pubs.c++] = netpgp_strdup(out); + (void) fprintf(fp, "%.*s", (int)cc, out); k += 1; } } while (key != NULL); - (void) fprintf(fp, "info:%d:%d\n", HKP_VERSION, pubs.c); - for (k = 0 ; k < pubs.c ; k++) { - (void) fprintf(fp, "%s", pubs.v[k]); - free(pubs.v[k]); - } - free(pubs.v); - return pubs.c; + return k; } /* find a key in a keyring */ Index: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1:1.17 src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1:1.18 --- src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1:1.17 Thu Nov 4 09:30:33 2010 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.1 Wed Feb 22 06:58:54 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpkeys.1,v 1.17 2010/11/04 09:30:33 wiz Exp $ +.\" $NetBSD: netpgpkeys.1,v 1.18 2012/02/22 06:58:54 agc Exp $ .\" .\" Copyright (c) 2009, 2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 4, 2010 +.Dd February 21, 2012 .Dt NETPGPKEYS 1 .Os .Sh NAME @@ -59,6 +59,10 @@ .Op options .Ar file ... .Nm +.Fl Fl trusted\-keys +.Op options +.Ar key ... +.Nm .Fl Fl version .Nm .Op Fl Vgls @@ -189,6 +193,13 @@ If no keyring is provided, the user's pu List all the public keys in the current keyring, along with the sub-key signatures which provide the key with trust. If no keyring is provided, the user's public keyring is used. +.It Fl Fl trusted\-keys +Prints a list of keys in a more machine-readble format than is +normally used, which can be used as input to other parsing +engines. +The output from this command is sent to +.Dv stdout . +Normal key-matching rules apply. .It Fl Fl version Print the version information from the .Xr libnetpgp 3 Index: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.24 src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.25 --- src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.24 Tue Aug 2 07:18:13 2011 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c Wed Feb 22 06:58:55 2012 @@ -59,6 +59,7 @@ static const char *usage = "\t--import-key [options] OR\n" "\t--list-keys [options] OR\n" "\t--list-sigs [options] OR\n" + "\t--trusted-keys [options] OR\n" "\t--get-key keyid [options] OR\n" "\t--version\n" "where options are:\n" @@ -81,6 +82,7 @@ enum optdefs { VERSION_CMD, HELP_CMD, GET_KEY, + TRUSTED_KEYS, /* options */ SSHKEYS, @@ -118,6 +120,8 @@ static struct option options[] = { {"generate", optional_argument, NULL, GENERATE_KEY}, {"generate-key", optional_argument, NULL, GENERATE_KEY}, {"get-key", no_argument, NULL, GET_KEY}, + {"trusted-keys",optional_argument, NULL, TRUSTED_KEYS}, + {"trusted", op
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Wed Feb 22 06:29:40 UTC 2012 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c packet-print.c Log Message: re-order the fields that we print out in the pgp_sprint_pubkey() function to be more usual. print out the name from within pgp_sprint_pubkey() rather than tagging it onto the end of the output from the function. To generate a diff of this commit: cvs rdiff -u -r1.94 -r1.95 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.41 -r1.42 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.94 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.95 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.94 Tue Aug 2 07:16:56 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Wed Feb 22 06:29:40 2012 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.94 2011/08/02 07:16:56 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.95 2012/02/22 06:29:40 agc Exp $"); #endif #include @@ -1091,8 +1091,6 @@ netpgp_match_pubkeys(netpgp_t *netpgp, c ALLOC(char *, pubs.v, pubs.size, pubs.c, 10, 10, "netpgp_match_pubkeys", return 0); cc = pgp_sprint_pubkey(key, out, sizeof(out)); - (void) snprintf(&out[cc], sizeof(out) - cc, "name=%s\n", -key->uids[0]); pubs.v[pubs.c++] = netpgp_strdup(out); k += 1; } Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.41 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.42 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.41 Sat Jun 25 00:37:44 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Wed Feb 22 06:29:40 2012 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-print.c,v 1.41 2011/06/25 00:37:44 agc Exp $"); +__RCSID("$NetBSD: packet-print.c,v 1.42 2012/02/22 06:29:40 agc Exp $"); #endif #include @@ -688,16 +688,17 @@ pgp_sprint_pubkey(const pgp_key_t *key, char fp[(PGP_FINGERPRINT_SIZE * 3) + 1]; int cc; - cc = snprintf(out, outsize, "key:%s:%d:%lld:%lld:%d:\n", + cc = snprintf(out, outsize, "key=%s\nname=%s\ncreation=%lld\nexpiry=%lld\nversion=%d\nalg=%d\n", strhexdump(fp, key->sigfingerprint.fingerprint, PGP_FINGERPRINT_SIZE, ""), - key->key.pubkey.version, + key->uids[key->uid0], (long long)key->key.pubkey.birthtime, (long long)key->key.pubkey.days_valid, + key->key.pubkey.version, key->key.pubkey.alg); switch (key->key.pubkey.alg) { case PGP_PKA_DSA: cc += snprintf(&out[cc], outsize - cc, - "pubkey:p=%s:q=%s:g=%s:y=%s\n", + "p=%s\nq=%s\ng=%s\ny=%s\n", BN_bn2hex(key->key.pubkey.key.dsa.p), BN_bn2hex(key->key.pubkey.key.dsa.q), BN_bn2hex(key->key.pubkey.key.dsa.g), @@ -707,14 +708,14 @@ pgp_sprint_pubkey(const pgp_key_t *key, case PGP_PKA_RSA_ENCRYPT_ONLY: case PGP_PKA_RSA_SIGN_ONLY: cc += snprintf(&out[cc], outsize - cc, - "pubkey:n=%s:e=%s\n", + "n=%s\ne=%s\n", BN_bn2hex(key->key.pubkey.key.rsa.n), BN_bn2hex(key->key.pubkey.key.rsa.e)); break; case PGP_PKA_ELGAMAL: case PGP_PKA_ELGAMAL_ENCRYPT_OR_SIGN: cc += snprintf(&out[cc], outsize - cc, - "pubkey:p=%s:g=%s:y=%s\n", + "p=%s\ng=%s\ny=%s\n", BN_bn2hex(key->key.pubkey.key.elgamal.p), BN_bn2hex(key->key.pubkey.key.elgamal.g), BN_bn2hex(key->key.pubkey.key.elgamal.y));
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: christos Date: Sun Aug 14 11:19:51 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: packet-show.c Log Message: simplify the code; this is what asprintf() is for, don't re-invent it. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c 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/lib/packet-show.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.20 src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.21 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c:1.20 Mon Nov 15 03:50:32 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c Sun Aug 14 07:19:51 2011 @@ -60,7 +60,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-show.c,v 1.20 2010/11/15 08:50:32 agc Exp $"); +__RCSID("$NetBSD: packet-show.c,v 1.21 2011/08/14 11:19:51 christos Exp $"); #endif #include @@ -451,7 +451,6 @@ static unsigned add_bitmap_entry(pgp_text_t *map, const char *str, uint8_t bit) { - const char *fmt_unknown = "Unknown bit(0x%x)"; if (str && !add_str(&map->known, str)) { /* @@ -468,14 +467,11 @@ * be replaced in the output by 2 chars of hex, so the length * will be correct */ - unsigned len = (unsigned)(strlen(fmt_unknown) + 1); char *newstr; - - if ((newstr = calloc(1, len)) == NULL) { + if (asprintf(&newstr, "Unknown bit(0x%x)", bit) == -1) { (void) fprintf(stderr, "add_bitmap_entry: bad alloc\n"); return 0; } - (void) snprintf(newstr, len, fmt_unknown, bit); if (!add_str(&map->unknown, newstr)) { return 0; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys
Module Name:src Committed By: agc Date: Tue Aug 2 07:18:13 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c Log Message: default the format for recovering key data to be "human", rather than hard coding it in the embedded calls. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c 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/netpgpkeys/netpgpkeys.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.23 src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.24 --- src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.23 Fri Nov 5 03:30:52 2010 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c Tue Aug 2 07:18:13 2011 @@ -95,6 +95,7 @@ RESULTS, SSHKEYFILE, CIPHER, + FORMAT, /* debug */ OPS_DEBUG @@ -107,7 +108,7 @@ /* key-management commands */ {"list-keys", no_argument, NULL, LIST_KEYS}, {"list-sigs", no_argument, NULL, LIST_SIGS}, - {"find-key", no_argument, NULL, FIND_KEY}, + {"find-key", optional_argument, NULL, FIND_KEY}, {"export", no_argument, NULL, EXPORT_KEY}, {"export-key", no_argument, NULL, EXPORT_KEY}, {"import", no_argument, NULL, IMPORT_KEY}, @@ -125,6 +126,7 @@ {"coredumps", no_argument, NULL, COREDUMPS}, {"keyring", required_argument, NULL, KEYRING}, {"userid", required_argument, NULL, USERID}, + {"format", required_argument, NULL, FORMAT}, {"hash-alg", required_argument, NULL, HASH_ALG}, {"hash", required_argument, NULL, HASH_ALG}, {"algorithm", required_argument, NULL, HASH_ALG}, @@ -174,7 +176,8 @@ return 0; } } else { - if (netpgp_match_keys_json(netpgp, &json, f, "human", psigs) == 0) { + if (netpgp_match_keys_json(netpgp, &json, f, +netpgp_getvar(netpgp, "format"), psigs) == 0) { return 0; } } @@ -195,9 +198,14 @@ case LIST_SIGS: return match_keys(netpgp, stdout, f, (p->cmd == LIST_SIGS)); case FIND_KEY: - return netpgp_find_key(netpgp, netpgp_getvar(netpgp, "userid")); + if ((key = f) == NULL) { + key = netpgp_getvar(netpgp, "userid"); + } + return netpgp_find_key(netpgp, key); case EXPORT_KEY: - key = netpgp_export_key(netpgp, netpgp_getvar(netpgp, "userid")); + if ((key = f) == NULL) { + key = netpgp_getvar(netpgp, "userid"); + } if (key) { printf("%s", key); return 1; @@ -209,7 +217,7 @@ case GENERATE_KEY: return netpgp_generate_key(netpgp, f, p->numbits); case GET_KEY: - key = netpgp_get_key(netpgp, f, "human"); + key = netpgp_get_key(netpgp, f, netpgp_getvar(netpgp, "format")); if (key) { printf("%s", key); return 1; @@ -318,6 +326,9 @@ netpgp_setvar(netpgp, "ssh keys", "1"); netpgp_setvar(netpgp, "sshkeyfile", arg); break; + case FORMAT: + netpgp_setvar(netpgp, "format", arg); + break; case CIPHER: netpgp_setvar(netpgp, "cipher", arg); break; @@ -389,6 +400,7 @@ netpgp_setvar(&netpgp, "sshkeydir", "/etc/ssh"); netpgp_setvar(&netpgp, "res", ""); netpgp_setvar(&netpgp, "hash", DEFAULT_HASH_ALG); + netpgp_setvar(&netpgp, "format", "human"); optindex = 0; while ((ch = getopt_long(argc, argv, "S:Vglo:s", options, &optindex)) != -1) { if (ch >= LIST_KEYS) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Tue Aug 2 07:16:56 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: plug some memory leaks in error paths To generate a diff of this commit: cvs rdiff -u -r1.93 -r1.94 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.93 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.94 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.93 Tue Aug 2 05:36:45 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Tue Aug 2 07:16:56 2011 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.93 2011/08/02 05:36:45 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.94 2011/08/02 07:16:56 agc Exp $"); #endif #include @@ -314,10 +314,13 @@ filename = f; } if ((secring = calloc(1, sizeof(*secring))) == NULL) { + free(pubring); (void) fprintf(stderr, "readsshkeys: bad alloc\n"); return 0; } if (!pgp_ssh2_readkeys(netpgp->io, pubring, secring, NULL, filename, hashtype)) { + free(pubring); + free(secring); (void) fprintf(stderr, "readsshkeys: can't read sec %s\n", filename); return 0; } @@ -1911,9 +1914,12 @@ size_t cc; char f[MAXPATHLEN]; + keyring = NULL; + io = NULL; + cc = 0; if ((io = calloc(1, sizeof(pgp_io_t))) == NULL) { (void) fprintf(stderr, "netpgp_save_sshpub: bad alloc 1\n"); - return 0; + goto done; } io->outs = stdout; io->errs = stderr; @@ -1923,23 +1929,23 @@ savepubkey(s, f, sizeof(f)); if ((keyring = calloc(1, sizeof(*keyring))) == NULL) { (void) fprintf(stderr, "netpgp_save_sshpub: bad alloc 2\n"); - return 0; + goto done; } if (!pgp_keyring_fileread(netpgp->pubring = keyring, 1, f)) { (void) fprintf(stderr, "can't import key\n"); - return 0; + goto done; } /* get rsa key */ k = 0; key = pgp_getnextkeybyname(netpgp->io, netpgp->pubring, userid, &k); if (key == NULL) { (void) fprintf(stderr, "no key found for '%s'\n", userid); - return 0; + goto done; } if (key->key.pubkey.alg != PGP_PKA_RSA) { /* we're not interested in supporting DSA either :-) */ (void) fprintf(stderr, "key not RSA '%s'\n", userid); - return 0; + goto done; } /* XXX - check trust sigs */ /* XXX - check expiry */ @@ -1950,7 +1956,12 @@ cc = formatstring((char *)out, (const uint8_t *)"ssh-rsa", 7); cc += formatbignum((char *)&out[cc], key->key.pubkey.key.rsa.e); cc += formatbignum((char *)&out[cc], key->key.pubkey.key.rsa.n); - free(io); - free(keyring); +done: + if (io) { + free(io); + } + if (keyring) { + free(keyring); + } return (int)cc; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Tue Aug 2 05:36:45 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: when matching pubkeys, also return the first (pgp) uid for the key in the resultant key listing when using json to format keys returned from libnetpgp, also prepare for machine-readable format ("mr") as well as human ("human"), even though it's not yet used. To generate a diff of this commit: cvs rdiff -u -r1.92 -r1.93 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.92 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.93 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.92 Tue Jun 28 03:35:28 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Tue Aug 2 05:36:45 2011 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.92 2011/06/28 03:35:28 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.93 2011/08/02 05:36:45 agc Exp $"); #endif #include @@ -1028,9 +1028,10 @@ netpgp_match_keys_json(netpgp_t *netpgp, char **json, char *name, const char *fmt, const int psigs) { const pgp_key_t *key; - unsigned k; - mj_t id_array; - int ret; + unsigned k; + mj_t id_array; + char *newkey; + int ret; if (name[0] == '0' && name[1] == 'x') { name += 2; @@ -1044,11 +1045,13 @@ name, &k); if (key != NULL) { if (strcmp(fmt, "mr") == 0) { -#if 0 pgp_hkp_sprint_keydata(netpgp->io, netpgp->pubring, - key, &pubs.v[pubs.c], - &key->key.pubkey, psigs); -#endif + key, &newkey, + &key->key.pubkey, 0); +if (newkey) { + printf("%s\n", newkey); + free(newkey); +} } else { ALLOC(mj_t, id_array.value.v, id_array.size, id_array.c, 10, 10, "netpgp_match_keys_json", return 0); @@ -1070,9 +1073,10 @@ netpgp_match_pubkeys(netpgp_t *netpgp, char *name, void *vp) { const pgp_key_t *key; - unsigned k; - strings_t pubs; - FILE *fp = (FILE *)vp; + unsigned k; + strings_t pubs; + ssize_t cc; + FILE *fp = (FILE *)vp; (void) memset(&pubs, 0x0, sizeof(pubs)); do { @@ -1083,7 +1087,9 @@ ALLOC(char *, pubs.v, pubs.size, pubs.c, 10, 10, "netpgp_match_pubkeys", return 0); - (void) pgp_sprint_pubkey(key, out, sizeof(out)); + cc = pgp_sprint_pubkey(key, out, sizeof(out)); + (void) snprintf(&out[cc], sizeof(out) - cc, "name=%s\n", +key->uids[0]); pubs.v[pubs.c++] = netpgp_strdup(out); k += 1; } @@ -1116,7 +1122,7 @@ netpgp_get_key(netpgp_t *netpgp, const char *name, const char *fmt) { const pgp_key_t *key; - char *newkey; + char *newkey; if ((key = resolve_userid(netpgp, netpgp->pubring, name)) == NULL) { return NULL;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Jun 27 07:05:32 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: only attempt to load the secret key if we need to (for signing or for decrypting). To generate a diff of this commit: cvs rdiff -u -r1.90 -r1.91 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.90 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.91 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.90 Sat Jun 25 00:37:44 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Jun 27 07:05:31 2011 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.90 2011/06/25 00:37:44 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.91 2011/06/27 07:05:31 agc Exp $"); #endif #include @@ -852,10 +852,12 @@ (void) fprintf(io->errs, "Can't read pub keyring\n"); return 0; } - netpgp->secring = readkeyring(netpgp, "secring"); - if (netpgp->secring == NULL) { - (void) fprintf(io->errs, "Can't read sec keyring\n"); - return 0; + if (netpgp_getvar(netpgp, "need seckey")) { + netpgp->secring = readkeyring(netpgp, "secring"); + if (netpgp->secring == NULL) { +(void) fprintf(io->errs, "Can't read sec keyring\n"); +return 0; + } } } else { last = (netpgp->pubring != NULL);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libmj
Module Name:src Committed By: wiz Date: Sat Jun 25 12:43:03 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 Log Message: Quote minus so it does not become a dash. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 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/libmj/libmj.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.4 src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.5 --- src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.4 Sat Jun 25 00:37:44 2011 +++ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 Sat Jun 25 12:43:03 2011 @@ -1,4 +1,4 @@ -.\" $NetBSD: libmj.3,v 1.4 2011/06/25 00:37:44 agc Exp $ +.\" $NetBSD: libmj.3,v 1.5 2011/06/25 12:43:03 wiz Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -217,7 +217,7 @@ the stdarg fields, that of the string itself, and its length in bytes immediately after the string. A value of -.Dv -1 +.Dv \-1 may be used if the string length is not known. .Sh EXAMPLES The follow code fragment will make a JSON object
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Jan 3 05:34:54 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: avoid a double free - from Anthony Bentley. To generate a diff of this commit: cvs rdiff -u -r1.88 -r1.89 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.88 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.89 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.88 Sat Jan 1 23:00:24 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Jan 3 05:34:53 2011 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.88 2011/01/01 23:00:24 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.89 2011/01/03 05:34:53 agc Exp $"); #endif #include @@ -1538,7 +1538,7 @@ ret = pgp_validate_mem(io, &result, signedmem, (out) ? &cat : NULL, armored, netpgp->pubring); - pgp_memory_free(signedmem); + /* signedmem is freed from pgp_validate_mem */ if (ret) { resultp(io, "", &result, netpgp->pubring); if (out) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sun Jan 2 18:13:10 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: crypto.c Log Message: Fix a double free[*], pointed out by Anthony Bentley. [*] This was actually a triple free. We go all the way to 11. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c 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/lib/crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.34 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.35 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.34 Mon Nov 29 04:20:12 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c Sun Jan 2 18:13:10 2011 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: crypto.c,v 1.34 2010/11/29 04:20:12 agc Exp $"); +__RCSID("$NetBSD: crypto.c,v 1.35 2011/01/02 18:13:10 agc Exp $"); #endif #include @@ -598,11 +598,8 @@ pgp_reader_pop_dearmour(parse); } - /* tidy up */ pgp_teardown_memory_read(parse, inmem); - pgp_memory_release(inmem); - free(inmem); pgp_writer_close(parse->cbinfo.output); pgp_output_delete(parse->cbinfo.output);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sat Jan 1 23:00:24 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: clean up lint (on amd64) To generate a diff of this commit: cvs rdiff -u -r1.87 -r1.88 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.87 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.88 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.87 Wed Dec 1 22:14:52 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Jan 1 23:00:24 2011 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.87 2010/12/01 22:14:52 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.88 2011/01/01 23:00:24 agc Exp $"); #endif #include @@ -598,9 +598,9 @@ pobj(fp, &obj->value.v[mj_object_find(obj, "pka", 0, 2) + 1], 0); p(fp, " ", NULL); pobj(fp, &obj->value.v[mj_object_find(obj, "key id", 0, 2) + 1], 0); - birthtime = strtoll(obj->value.v[mj_object_find(obj, "birthtime", 0, 2) + 1].value.s, NULL, 10); + birthtime = (int64_t)strtoll(obj->value.v[mj_object_find(obj, "birthtime", 0, 2) + 1].value.s, NULL, 10); p(fp, " ", ptimestr(tbuf, sizeof(tbuf), birthtime), NULL); - duration = strtoll(obj->value.v[mj_object_find(obj, "duration", 0, 2) + 1].value.s, NULL, 10); + duration = (int64_t)strtoll(obj->value.v[mj_object_find(obj, "duration", 0, 2) + 1].value.s, NULL, 10); if (duration > 0) { now = time(NULL); p(fp, " ", (birthtime + duration < now) ? "[EXPIRED " : "[EXPIRES ", @@ -625,13 +625,15 @@ pobj(fp, &sub->value.v[1], 0); /* alg */ p(fp, " ", NULL); pobj(fp, &sub->value.v[2], 0); /* id */ - p(fp, " ", ptimestr(tbuf, sizeof(tbuf), strtoll(sub->value.v[3].value.s, NULL, 10)), + p(fp, " ", ptimestr(tbuf, sizeof(tbuf), + (time_t)strtoll(sub->value.v[3].value.s, NULL, 10)), "\n", NULL); } else if (strcmp(obj->value.v[i].value.s, "sig") == 0) { sub = &obj->value.v[i + 1]; p(fp, "sig", NULL); pobj(fp, &sub->value.v[0], 8); /* size */ - p(fp, " ", ptimestr(tbuf, sizeof(tbuf), strtoll(sub->value.v[1].value.s, NULL, 10)), + p(fp, " ", ptimestr(tbuf, sizeof(tbuf), + (time_t)strtoll(sub->value.v[1].value.s, NULL, 10)), " ", NULL); /* time */ pobj(fp, &sub->value.v[2], 0); /* human name */ p(fp, "\n", NULL); @@ -658,7 +660,7 @@ return 0; } len = strlen(res); - for (cc = 0 ; (wc = write(fd, &res[cc], len - cc)) > 0 ; cc += wc) { + for (cc = 0 ; (wc = (int)write(fd, &res[cc], len - (size_t)cc)) > 0 ; cc += wc) { } (void) close(fd); return 1; @@ -681,9 +683,9 @@ { int cc; - cc = formatu32((uint8_t *)buffer, len); + cc = formatu32((uint8_t *)buffer, (uint32_t)len); (void) memcpy(&buffer[cc], s, len); - return cc + len; + return cc + (int)len; } /* format a bignum, checking for "interesting" high bit values */ @@ -723,7 +725,7 @@ if (fgets(passphrase, (int)size, passfp) == NULL) { return 0; } - return strlen(passphrase); + return (int)strlen(passphrase); } for (i = 0 ; i < attempts ; i++) { (void) snprintf(prompt, sizeof(prompt), "Enter passphrase for %.16s: ", id); @@ -1870,11 +1872,11 @@ netpgp_write_sshkey(netpgp_t *netpgp, char *s, const char *userid, char *out, size_t size) { const pgp_key_t *key; - pgp_keyring_t *keyring; - pgp_io_t *io; - unsigned k; - size_t cc; - char f[MAXPATHLEN]; + pgp_keyring_t *keyring; + pgp_io_t *io; + unsigned k; + size_t cc; + char f[MAXPATHLEN]; if ((io = calloc(1, sizeof(pgp_io_t))) == NULL) { (void) fprintf(stderr, "netpgp_save_sshpub: bad alloc 1\n"); @@ -1917,5 +1919,5 @@ cc += formatbignum((char *)&out[cc], key->key.pubkey.key.rsa.n); free(io); free(keyring); - return cc; + return (int)cc; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sat Jan 1 22:29:01 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: get rid of some lint on amd64 platform To generate a diff of this commit: cvs rdiff -u -r1.47 -r1.48 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c 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/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.47 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.48 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.47 Mon Nov 29 04:20:12 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Sat Jan 1 22:29:00 2011 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.47 2010/11/29 04:20:12 agc Exp $"); +__RCSID("$NetBSD: reader.c,v 1.48 2011/01/01 22:29:00 agc Exp $"); #endif #include @@ -144,7 +144,7 @@ (void) fprintf(stderr, "fd_reader: coalesced data, off %d\n", stream->virtualoff); } - n = MIN(stream->virtualc - stream->virtualoff, length); + n = MIN(stream->virtualc - stream->virtualoff, (unsigned)length); (void) memcpy(dest, &stream->virtualpkt[stream->virtualoff], n); stream->virtualoff += n; if (stream->virtualoff == stream->virtualc) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Sat Jan 1 19:53:53 UTC 2011 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: ssh2pgp.c Log Message: Fix a problem with overrunning a base64 decoded number when decoding ssh keys, from Anthony Bentley. % netpgpkeys --ssh -l --hash=md5 1 key found signature 1024/RSA (Encrypt or Sign) 666f47feddcdb77d 2002-07-02 Key fingerprint: e1d6 b328 8126 e8e3 666f 47fe ddcd b77d uid machinename.com (/home/user/.ssh/id_rsa.pub) % ssh-keygen -l -f ~/.ssh/id_rsa.pub 1024 e1:d6:b3:28:81:26:e8:e3:66:6f:47:fe:dd:cd:b7:7d /home/user/.ssh/id_rsa.pub (RSA) % ssh keys and netpgp work as above. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c 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/lib/ssh2pgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.21 src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.22 --- src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.21 Mon Nov 29 06:21:40 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c Sat Jan 1 19:53:53 2011 @@ -251,7 +251,7 @@ } /* convert from base64 to binary */ - cc = bufgap_getbin(&bg, buf, (size_t)st.st_size); + cc = bufgap_getbin(&bg, buf, (size_t)bg.bcc); if ((space = strchr(buf, ' ')) != NULL) { cc = (int)(space - buf); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Wed Dec 1 22:14:52 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: avoid nameclash - call the generated user id variable "generated userid" also keep the time of structure initialisation as an internal variable. To generate a diff of this commit: cvs rdiff -u -r1.86 -r1.87 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.86 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.87 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.86 Wed Dec 1 22:01:41 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Wed Dec 1 22:14:52 2010 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.86 2010/12/01 22:01:41 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.87 2010/12/01 22:14:52 agc Exp $"); #endif #include @@ -755,6 +755,7 @@ netpgp_init(netpgp_t *netpgp) { pgp_io_t *io; + time_t t; char id[MAX_ID_LENGTH]; char *homedir; char *userid; @@ -870,6 +871,8 @@ (void) netpgp_setvar(netpgp, "userid", userid); } } + t = time(NULL); + netpgp_setvar(netpgp, "initialised", ctime(&t)); return 1; } @@ -1180,7 +1183,7 @@ (void) fprintf(stdout, "%s", cp); /* write public key */ cc = snprintf(dir, sizeof(dir), "%s/%.16s", netpgp_getvar(netpgp, "homedir"), &cp[ID_OFFSET]); - netpgp_setvar(netpgp, "userid", &dir[cc - 16]); + netpgp_setvar(netpgp, "generated userid", &dir[cc - 16]); if (mkdir(dir, 0700) < 0) { (void) fprintf(io->errs, "can't mkdir '%s'\n", dir); return 0;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Wed Dec 1 22:01:41 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: When generating a key, set the new key's userid (last 16 bytes of fingerprint) as an internal netpgp variable. This can then be queried using netpgp_getvar(netpgp, "userid") to find the new key's id. To generate a diff of this commit: cvs rdiff -u -r1.85 -r1.86 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.85 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.86 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.85 Mon Nov 29 04:20:12 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Wed Dec 1 22:01:41 2010 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.85 2010/11/29 04:20:12 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.86 2010/12/01 22:01:41 agc Exp $"); #endif #include @@ -1156,6 +1156,7 @@ int attempts; int passc; int fd; + int cc; uid = NULL; io = netpgp->io; @@ -1178,7 +1179,8 @@ pgp_sprint_keydata(netpgp->io, NULL, key, &cp, "signature ", &key->key.seckey.pubkey, 0); (void) fprintf(stdout, "%s", cp); /* write public key */ - (void) snprintf(dir, sizeof(dir), "%s/%.16s", netpgp_getvar(netpgp, "homedir"), &cp[ID_OFFSET]); + cc = snprintf(dir, sizeof(dir), "%s/%.16s", netpgp_getvar(netpgp, "homedir"), &cp[ID_OFFSET]); + netpgp_setvar(netpgp, "userid", &dir[cc - 16]); if (mkdir(dir, 0700) < 0) { (void) fprintf(io->errs, "can't mkdir '%s'\n", dir); return 0;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Nov 29 06:21:40 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: Makefile.am Makefile.in bufgap.c misc.c ssh2pgp.c Removed Files: src/crypto/external/bsd/netpgp/dist/src/lib: fastctype.c fastctype.h Log Message: I forgot that the fastctype.[ch] files were still in this directory, and have no need to be here - remove them, and just use native To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am cvs rdiff -u -r1.14 -r1.15 \ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in cvs rdiff -u -r1.4 -r1.5 src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c cvs rdiff -u -r1.2 -r0 \ src/crypto/external/bsd/netpgp/dist/src/lib/fastctype.c cvs rdiff -u -r1.3 -r0 \ src/crypto/external/bsd/netpgp/dist/src/lib/fastctype.h cvs rdiff -u -r1.39 -r1.40 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c 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/lib/Makefile.am diff -u src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.9 src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.10 --- src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.9 Sat Nov 6 03:42:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am Mon Nov 29 06:21:40 2010 @@ -1,4 +1,4 @@ -## $NetBSD: Makefile.am,v 1.9 2010/11/06 03:42:59 agc Exp $ +## $NetBSD: Makefile.am,v 1.10 2010/11/29 06:21:40 agc Exp $ AM_CFLAGS = $(WARNCFLAGS) @@ -11,7 +11,6 @@ compress.c \ create.c \ crypto.c \ - fastctype.c \ keyring.c \ misc.c \ netpgp.c \ Index: src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in diff -u src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.14 src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.15 --- src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.14 Sat Nov 6 03:42:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in Mon Nov 29 06:21:40 2010 @@ -55,7 +55,7 @@ libnetpgp_la_DEPENDENCIES = ../libmj/libmj.la am_libnetpgp_la_OBJECTS = libnetpgp_la-bufgap.lo \ libnetpgp_la-compress.lo libnetpgp_la-create.lo \ - libnetpgp_la-crypto.lo libnetpgp_la-fastctype.lo \ + libnetpgp_la-crypto.lo \ libnetpgp_la-keyring.lo libnetpgp_la-misc.lo \ libnetpgp_la-netpgp.lo libnetpgp_la-openssl_crypto.lo \ libnetpgp_la-packet-parse.lo libnetpgp_la-packet-print.lo \ @@ -210,7 +210,6 @@ compress.c \ create.c \ crypto.c \ - fastctype.c \ keyring.c \ misc.c \ netpgp.c \ @@ -318,7 +317,6 @@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-compress@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-create@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-crypto@am__quote@ -...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-fastctype@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-keyring@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-misc@am__quote@ @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-netpgp@am__quote@ @@ -382,13 +380,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-crypto.lo `test -f 'crypto.c' || echo '$(srcdir)/'`crypto.c -libnetpgp_la-fastctype.lo: fastctype.c -...@am__fastdepcc_true@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-fastctype.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-fastctype.Tpo -c -o libnetpgp_la-fastctype.lo `test -f 'fastctype.c' || echo '$(srcdir)/'`fastctype.c -...@am__fastdepcc_true@ mv -f $(DEPDIR)/libnetpgp_la-fastctype.Tpo $(DEPDIR)/libnetpgp_la-fastctype.Plo -...@amdep_true@@am__fastdepCC_FALSE@ source='fastctype.c' object='libnetpgp_la-fastctype.lo' libtool=yes @AMDEPBACKSLASH@ -...@amdep_true@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -...@am__fastdepcc_false@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-fastctype.lo `test -f 'fastctype.c' || echo '$(srcdir)/'`fastctype.c - libnetpgp_la-keyring.lo: keyring.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFL
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: agc Date: Mon Nov 29 04:20:13 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: crypto.c crypto.h netpgp.c reader.c src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 netpgp.c Log Message: Fix PR 44075 from Peter Pentchev, but do this by adding a --numtries= option to netpgp(1) to provide the maximum number of attempts to retrieve the correct passphrase when signing or decrypting, and use it in libnetpgp(3). The default number of attempts is 3, and a value of "unlimited" will loop until the correct passphrase has been entered. To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c cvs rdiff -u -r1.29 -r1.30 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h cvs rdiff -u -r1.84 -r1.85 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.46 -r1.47 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c 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/lib/crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.33 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.34 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.33 Mon Nov 15 08:50:32 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c Mon Nov 29 04:20:12 2010 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: crypto.c,v 1.33 2010/11/15 08:50:32 agc Exp $"); +__RCSID("$NetBSD: crypto.c,v 1.34 2010/11/29 04:20:12 agc Exp $"); #endif #include @@ -447,13 +447,14 @@ const unsigned allow_overwrite, const unsigned sshkeys, void *passfp, + int numtries, pgp_cbfunc_t *getpassfunc) { pgp_stream_t *parse = NULL; - const int printerrors = 1; - char *filename = NULL; - int fd_in; - int fd_out; + const int printerrors = 1; + char *filename = NULL; + int fd_in; + int fd_out; /* setup for reading from given input file */ fd_in = pgp_setup_file_read(io, &parse, infile, @@ -510,6 +511,7 @@ parse->cbinfo.cryptinfo.getpassphrase = getpassfunc; parse->cbinfo.cryptinfo.pubring = pubring; parse->cbinfo.sshseckey = (sshkeys) ? &secring->keys[0].key.seckey : NULL; + parse->cbinfo.numtries = numtries; /* Set up armour/passphrase options */ if (use_armour) { @@ -524,6 +526,11 @@ pgp_reader_pop_dearmour(parse); } + /* if we didn't get the passphrase, unlink output file */ + if (!parse->cbinfo.gotpass) { + (void) unlink((filename) ? filename : outfile); + } + if (filename) { pgp_teardown_file_write(parse->cbinfo.output, fd_out); free(filename); @@ -544,6 +551,7 @@ const unsigned use_armour, const unsigned sshkeys, void *passfp, + int numtries, pgp_cbfunc_t *getpassfunc) { pgp_stream_t *parse = NULL; @@ -575,6 +583,7 @@ parse->cbinfo.passfp = passfp; parse->cbinfo.cryptinfo.getpassphrase = getpassfunc; parse->cbinfo.sshseckey = (sshkeys) ? &secring->keys[0].key.seckey : NULL; + parse->cbinfo.numtries = numtries; /* Set up armour/passphrase options */ if (use_armour) { @@ -589,6 +598,7 @@ pgp_reader_pop_dearmour(parse); } + /* tidy up */ pgp_teardown_memory_read(parse, inmem); pgp_memory_release(inmem); @@ -597,6 +607,6 @@ pgp_writer_close(parse->cbinfo.output); pgp_output_delete(parse->cbinfo.output); - return outmem; + /* if we didn't get the passphrase, return NULL */ + return (parse->cbinfo.gotpass) ? outmem : NULL; } - Index: src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.29 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.30 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.29 Mon Nov 15 08:56:30 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h Mon Nov 29 04:20:12 2010 @@ -64,7 +64,7 @@ /** pgp_hash_t */ struct pgp_hash_t { - pgp_hash_alg_t alg; /* algorithm */ + pgp_hash_alg_t alg; /* algorithm */ size_t size; /* size */ const char *name; /* what it's known as */ int (*init)(pgp_hash_t *); @@ -185,6 +185,7 @@ const unsigned, const unsigned, void *, + int, pgp_cbfunc_t *); pgp_memory_t * @@ -200,6 +201,7 @@ const unsigned, const unsigned, void *, + int, pgp_cbfunc_t *); /* Keys */ @@ -217,15 +219,15 @@ /** pgp_reader_t */ struct pgp_reader_t { pgp_reader_func_t *reader; /* reader func to get parse data */ - pgp_reader_destroyer_t *destroyer; + pgp_reader_destroyer_t *destroyer; void *arg; /* args to pass to reader function */ unsigned accumulate:1; /* set to gather pa
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: wiz Date: Mon Nov 15 21:29:21 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Remove trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.4 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.5 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.4 Thu Nov 11 04:51:18 2010 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Mon Nov 15 21:29:21 2010 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.4 2010/11/11 04:51:18 agc Exp $ +.\" $NetBSD: netpgpverify.1,v 1.5 2010/11/15 21:29:21 wiz Exp $ .\" .\" Copyright (c) 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -105,24 +105,24 @@ .Bd -literal % netpgp --sign --userid=...@netbsd.org a signature 2048/RSA (Encrypt or Sign) 1b68dcfcc0596823 2004-01-12 -Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823 -uid Alistair Crooks \*[lt]alist...@hockley-crooks.com\*[gt] -uid Alistair Crooks \*[lt]...@pkgsrc.org\*[gt] -uid Alistair Crooks \*[lt]...@netbsd.org\*[gt] -uid Alistair Crooks \*[lt]...@alistaircrooks.com\*[gt] -uid Alistair Crooks (Yahoo!) \*[lt]agcro...@yahoo-inc.com\*[gt] +Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823 +uid Alistair Crooks \*[lt]alist...@hockley-crooks.com\*[gt] +uid Alistair Crooks \*[lt]...@pkgsrc.org\*[gt] +uid Alistair Crooks \*[lt]...@netbsd.org\*[gt] +uid Alistair Crooks \*[lt]...@alistaircrooks.com\*[gt] +uid Alistair Crooks (Yahoo!) \*[lt]agcro...@yahoo-inc.com\*[gt] encryption 2048/RSA (Encrypt or Sign) 79deb61e488eee74 2004-01-12 netpgp passphrase: % netpgpverify a.gpg Good signature for a.gpg made Thu Jan 29 03:06:00 2009 using RSA (Encrypt or Sign) key 1B68DCFCC0596823 signature 2048/RSA (Encrypt or Sign) 1b68dcfcc0596823 2004-01-12 -Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823 -uid Alistair Crooks \*[lt]alist...@hockley-crooks.com\*[gt] -uid Alistair Crooks \*[lt]...@pkgsrc.org\*[gt] -uid Alistair Crooks \*[lt]...@netbsd.org\*[gt] -uid Alistair Crooks \*[lt]...@alistaircrooks.com\*[gt] -uid Alistair Crooks (Yahoo!) \*[lt]agcro...@yahoo-inc.com\*[gt] +Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823 +uid Alistair Crooks \*[lt]alist...@hockley-crooks.com\*[gt] +uid Alistair Crooks \*[lt]...@pkgsrc.org\*[gt] +uid Alistair Crooks \*[lt]...@netbsd.org\*[gt] +uid Alistair Crooks \*[lt]...@alistaircrooks.com\*[gt] +uid Alistair Crooks (Yahoo!) \*[lt]agcro...@yahoo-inc.com\*[gt] encryption 2048/RSA (Encrypt or Sign) 79deb61e488eee74 2004-01-12 % .Ed
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Nov 15 08:56:30 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: crypto.h packet-parse.c packet.h types.h Log Message: There were still some throwbacks with the prefix '_ops' - rectify that to be the standard "pgp_" - no functional change. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h cvs rdiff -u -r1.49 -r1.50 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.29 -r1.30 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/lib/types.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/lib/crypto.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.28 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.29 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.28 Thu Nov 11 00:58:04 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h Mon Nov 15 08:56:30 2010 @@ -62,8 +62,8 @@ #define PGP_MIN_HASH_SIZE 16 -/** _ops_hash_t */ -struct _ops_hash_t { +/** pgp_hash_t */ +struct pgp_hash_t { pgp_hash_alg_t alg; /* algorithm */ size_t size; /* size */ const char *name; /* what it's known as */ @@ -73,8 +73,8 @@ void *data; /* blob for data */ }; -/** _ops_crypt_t */ -struct _ops_crypt_t { +/** pgp_crypt_t */ +struct pgp_crypt_t { pgp_symm_alg_t alg; size_t blocksize; size_t keysize; Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.49 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.50 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.49 Mon Nov 15 08:50:32 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c Mon Nov 15 08:56:30 2010 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-parse.c,v 1.49 2010/11/15 08:50:32 agc Exp $"); +__RCSID("$NetBSD: packet-parse.c,v 1.50 2010/11/15 08:56:30 agc Exp $"); #endif #include @@ -888,7 +888,7 @@ \brief Free allocated memory */ static void -cleartext_trailer_free(struct _ops_hash_t **trailer) +cleartext_trailer_free(struct pgp_hash_t **trailer) { free(*trailer); *trailer = NULL; Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.29 src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.30 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.29 Thu Nov 11 00:58:04 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Mon Nov 15 08:56:30 2010 @@ -855,7 +855,7 @@ const char *armour_trailer; pgp_headers_t cleartext_head; pgp_fixed_body_t cleartext_body; - struct _ops_hash_t *cleartext_trailer; + struct pgp_hash_t *cleartext_trailer; pgp_dyn_body_t unarmoured_text; pgp_pk_sesskey_t pk_sesskey; pgp_seckey_passphrase_t skey_passphrase; Index: src/crypto/external/bsd/netpgp/dist/src/lib/types.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.10 src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.11 --- src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.10 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/types.h Mon Nov 15 08:56:30 2010 @@ -69,10 +69,10 @@ /** pgp_errcode_name_map_t */ typedef pgp_map_t pgp_errcode_name_map_t; -typedef struct _ops_crypt_t pgp_crypt_t; +typedef struct pgp_crypt_t pgp_crypt_t; /** pgp_hash_t */ -typedef struct _ops_hash_t pgp_hash_t; +typedef struct pgp_hash_t pgp_hash_t; /** Revocation Reason type */ typedef uint8_t pgp_ss_rr_code_t;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Nov 15 08:50:32 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: crypto.c keyring.c packet-parse.c packet-print.c packet-show.c reader.c writer.c Log Message: Don't prefix function names with "pgp_" if the functions are static. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c cvs rdiff -u -r1.48 -r1.49 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.39 -r1.40 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c cvs rdiff -u -r1.45 -r1.46 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c cvs rdiff -u -r1.31 -r1.32 \ src/crypto/external/bsd/netpgp/dist/src/lib/writer.c 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/lib/crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.32 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.33 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.32 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c Mon Nov 15 08:50:32 2010 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: crypto.c,v 1.32 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: crypto.c,v 1.33 2010/11/15 08:50:32 agc Exp $"); #endif #include @@ -316,7 +316,7 @@ case PGP_PTAG_CT_SE_DATA_BODY: case PGP_PTAG_CT_SE_DATA_HEADER: /* Ignore these packets */ - /* They're handled in pgp_parse_packet() */ + /* They're handled in parse_packet() */ /* and nothing else needs to be done */ break; Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.48 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.49 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.48 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Nov 15 08:50:32 2010 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.48 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.49 2010/11/15 08:50:32 agc Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -398,7 +398,7 @@ \note If dst already has a userid, it will be freed. */ static uint8_t * -pgp_copy_userid(uint8_t **dst, const uint8_t *src) +copy_userid(uint8_t **dst, const uint8_t *src) { size_t len; @@ -407,7 +407,7 @@ free(*dst); } if ((*dst = calloc(1, len + 1)) == NULL) { - (void) fprintf(stderr, "pgp_copy_userid: bad alloc\n"); + (void) fprintf(stderr, "copy_userid: bad alloc\n"); } else { (void) memcpy(*dst, src, len); } @@ -423,13 +423,13 @@ \note If dst already has a packet, it will be freed. */ static pgp_subpacket_t * -pgp_copy_packet(pgp_subpacket_t *dst, const pgp_subpacket_t *src) +copy_packet(pgp_subpacket_t *dst, const pgp_subpacket_t *src) { if (dst->raw) { free(dst->raw); } if ((dst->raw = calloc(1, src->length)) == NULL) { - (void) fprintf(stderr, "pgp_copy_packet: bad alloc\n"); + (void) fprintf(stderr, "copy_packet: bad alloc\n"); } else { dst->length = src->length; (void) memcpy(dst->raw, src->raw, src->length); @@ -454,7 +454,7 @@ uidp = &key->uids[key->uidc++]; *uidp = NULL; /* now copy it */ - return pgp_copy_userid(uidp, userid); + return copy_userid(uidp, userid); } void print_packet_hex(const pgp_subpacket_t *pkt); @@ -477,7 +477,7 @@ subpktp->length = 0; subpktp->raw = NULL; /* now copy it */ - return pgp_copy_packet(subpktp, packet); + return copy_packet(subpktp, packet); } /** Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.48 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.49 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.48 Mon Nov 15 08:03:40 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c Mon Nov 15 08:50:32 2010 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-parse.c,v 1.48 2010/11/15 08:03:40 agc Exp $"); +__RCSID("$NetBSD: packet-parse.c,v 1.49 2010/11/15 08:50:32 agc Exp $"); #endif #include @@ -871,7 +871,7 @@ \brief Free allocated memory */ static void -pgp_headers_free(pgp_headers_t *headers) +headers_free(pgp_headers_t *headers) { unsignedn; @@ -899,7 +899,7 @@ \brief Free allocated memory */ static
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Nov 15 08:27:40 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: Use a regular expression to match the various ASCII-armoured headers we may encounter - fixes PR 44074 from Peter Pentchev in a different way. To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 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/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.83 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.84 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.83 Mon Nov 15 08:03:39 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Nov 15 08:27:40 2010 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.83 2010/11/15 08:03:39 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.84 2010/11/15 08:27:40 agc Exp $"); #endif #include @@ -462,23 +462,32 @@ static unsigned isarmoured(pgp_io_t *io, const char *f, const void *memory, const char *text) { + regmatch_t matches[10]; unsigned armoured; + regex_t r; FILE *fp; char buf[BUFSIZ]; armoured = 0; + (void) regcomp(&r, text, REG_EXTENDED); if (f) { if ((fp = fopen(f, "r")) == NULL) { (void) fprintf(io->errs, "isarmoured: can't open '%s'\n", f); + regfree(&r); return 0; } if (fgets(buf, (int)sizeof(buf), fp) != NULL) { - armoured = (strncmp(buf, text, strlen(text)) == 0); + if (regexec(&r, buf, 10, matches, 0) == 0) { +armoured = 1; + } } (void) fclose(fp); } else { - armoured = (strncmp(memory, text, strlen(text)) == 0); + if (regexec(&r, memory, 10, matches, 0) == 0) { + armoured = 1; + } } + regfree(&r); return armoured; } @@ -1341,7 +1350,7 @@ return ret; } -#define ARMOR_SIG_HEAD "-BEGIN PGP SIGNATURE-\r\n" +#define ARMOR_SIG_HEAD "-BEGIN PGP (SIGNATURE|SIGNED MESSAGE)-" /* verify a file */ int
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Mon Nov 15 08:03:40 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: compress.c create.c netpgp.c packet-parse.c writer.c Log Message: Changes to help with netpgp key generation and interoperability: + use plain SHA1 for session key s2k negotiation + don't warn on some conditions when inflating (reading a compressed file) since the conditions don't hold for partial block lengths + prompt for a passphrase when generating a new key - used in the upcoming secret-sharing functionality for netpgp To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c cvs rdiff -u -r1.37 -r1.38 \ src/crypto/external/bsd/netpgp/dist/src/lib/create.c cvs rdiff -u -r1.82 -r1.83 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.47 -r1.48 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.30 -r1.31 \ src/crypto/external/bsd/netpgp/dist/src/lib/writer.c 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/lib/compress.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.20 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.21 --- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.20 Thu Nov 11 00:58:04 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c Mon Nov 15 08:03:39 2010 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: compress.c,v 1.20 2010/11/11 00:58:04 agc Exp $"); +__RCSID("$NetBSD: compress.c,v 1.21 2010/11/15 08:03:39 agc Exp $"); #endif #ifdef HAVE_ZLIB_H @@ -133,19 +133,11 @@ z->zstream.next_out == &z->out[z->offset]) { return 0; } - if (pgp_get_debug_level(__FILE__)) { (void) fprintf(stderr, "zlib_compressed_data_reader: length %" PRIsize "d\n", length); } - - if (z->region->readc == z->region->length) { - if (z->inflate_ret != Z_STREAM_END) { - PGP_ERROR(cbinfo->errors, PGP_E_P_DECOMPRESSION_ERROR, - "Compressed data didn't end when region ended."); - } - } for (cc = 0 ; cc < length ; cc += len) { if (&z->out[z->offset] == z->zstream.next_out) { int ret; @@ -221,17 +213,10 @@ (void) fprintf(stderr, "Weird type %d\n", bz->type); return 0; } - if (bz->inflate_ret == BZ_STREAM_END && bz->bzstream.next_out == &bz->out[bz->offset]) { return 0; } - if (bz->region->readc == bz->region->length) { - if (bz->inflate_ret != BZ_STREAM_END) { - PGP_ERROR(cbinfo->errors, PGP_E_P_DECOMPRESSION_ERROR, - "Compressed data didn't end when region ended."); - } - } for (cc = 0 ; cc < length ; cc += len) { if (&bz->out[bz->offset] == bz->bzstream.next_out) { int ret; Index: src/crypto/external/bsd/netpgp/dist/src/lib/create.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.37 src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.38 --- src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.37 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/create.c Mon Nov 15 08:03:39 2010 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: create.c,v 1.37 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: create.c,v 1.38 2010/11/15 08:03:39 agc Exp $"); #endif #include @@ -285,7 +285,7 @@ pgp_hash_thash; unsigned done = 0; unsigned i = 0; - uint8_t hashed[PGP_SHA1_HASH_SIZE]; + uint8_t *hashed; uint8_t sesskey[CAST_KEY_LENGTH]; if (!write_pubkey_body(&key->pubkey, output)) { @@ -360,15 +360,21 @@ /* RFC4880: section 3.7.1.1 and 3.7.1.2 */ for (done = 0, i = 0; done < CAST_KEY_LENGTH; i++) { + unsigned hashsize; unsigned j; + unsigned needed; + unsigned size; uint8_t zero = 0; - int needed; - int size; + /* Hard-coded SHA1 for session key */ + pgp_hash_any(&hash, PGP_HASH_SHA1); + hashsize = pgp_hash_size(key->hash_alg); needed = CAST_KEY_LENGTH - done; - size = MIN(needed, PGP_SHA1_HASH_SIZE); - - pgp_hash_any(&hash, key->hash_alg); + size = MIN(needed, hashsize); + if ((hashed = calloc(1, hashsize)) == NULL) { +(void) fprintf(stderr, "write_seckey_body: bad alloc\n"); +return 0; + } if (!hash.init(&hash)) { (void) fprintf(stderr, "write_seckey_body: bad alloc\n"); return 0; @@ -396,7 +402,7 @@ * if more in hash than is needed by session key, use * the leftmost octets */ - (void) memcpy(&sesskey[i * PGP_SHA1_HASH_SIZE], + (void) memcpy(&sesskey[i * hashsize], hashed, (unsigned)size); done += (unsigned)size; if (done > CAST_KEY_LENGTH) { @@ -435,13 +441,9 @@ pg
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Thu Nov 11 04:51:18 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile netpgpverify.1 Log Message: Bring the netpgpverify(1) manual page into line with current output, etc. With thanks to Jeremy Reed for the fixes. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 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/Makefile diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.18 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.19 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.18 Thu Nov 4 07:01:53 2010 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile Thu Nov 11 04:51:18 2010 @@ -49,8 +49,7 @@ PROGRAMS = $(bin_PROGRAMS) am_netpgpverify_OBJECTS = netpgpverify-verify.$(OBJEXT) netpgpverify_OBJECTS = $(am_netpgpverify_OBJECTS) -netpgpverify_DEPENDENCIES = ../lib/libnetpgp.la -netpgpverify_LDADD = ../lib/libnetpgp.la +netpgpverify_DEPENDENCIES = ../lib/libnetpgp.la ../libmj/libmj.la DEFAULT_INCLUDES = -I. -I$(top_builddir)/src/lib depcomp = $(SHELL) $(top_srcdir)/buildaux/depcomp am__depfiles_maybe = depfiles @@ -67,7 +66,7 @@ DIST_SOURCES = $(netpgpverify_SOURCES) man1dir = $(mandir)/man1 NROFF = nroff -MANS = $(dist_man_MANS) $(man1_MANS) +MANS = $(dist_man_MANS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -82,59 +81,52 @@ CANONICAL_HOST = i386-unknown-netbsdelf5.99.26 CC = gcc CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -I/usr/include +CFLAGS = -g -O2 CPP = gcc -E -CPPFLAGS = -I/usr/include -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 +CPPFLAGS = CYGPATH_W = echo DEFS = -DHAVE_CONFIG_H DEPDIR = .deps -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO = /bin/echo +DSYMUTIL = +DUMPBIN = ECHO_C = ECHO_N = -n ECHO_T = EGREP = /usr/bin/grep -E EXEEXT = -F77 = -FFLAGS = -FGREP = @FGREP@ +FGREP = /usr/bin/grep -F GREP = /usr/bin/grep INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = @LD@ -LDFLAGS = -L/usr/lib +LD = /usr/bin/ld +LDFLAGS = LIBOBJS = -LIBS = -lcrypto -lbz2 -lz -lssl -lcrypto +LIBS = -lcrypto -lbz2 -lz LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = @LIPO@ +LIPO = LN_S = ln -s LTLIBOBJS = MAINT = # MAKEINFO = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run makeinfo MKDIR_P = ../../buildaux/install-sh -c -d -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump OBJEXT = o OPENSSL_INCLUDES = -I/usr/include OPENSSL_LDFLAGS = -L/usr/lib OPENSSL_LIBS = -lssl -lcrypto -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ +OTOOL = +OTOOL64 = PACKAGE = netpgp PACKAGE_BUGREPORT = Alistair Crooks c0596823 PACKAGE_NAME = netpgp -PACKAGE_STRING = netpgp 20101103 +PACKAGE_STRING = netpgp 20101107 PACKAGE_TARNAME = netpgp -PACKAGE_VERSION = 20101103 +PACKAGE_VERSION = 20101107 PATH_SEPARATOR = : PKG_CONFIG = /usr/pkg/bin/pkg-config RANLIB = ranlib @@ -142,16 +134,14 @@ SET_MAKE = SHELL = /bin/ksh STRIP = strip -VERSION = 20101103 +VERSION = 20101107 WARNCFLAGS = -Werror -Wall -Wpointer-arith abs_builddir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgpverify abs_srcdir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgpverify abs_top_builddir = /usr/src/crypto/external/bsd/netpgp/dist abs_top_srcdir = /usr/src/crypto/external/bsd/netpgp/dist ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_F77 = +ac_ct_DUMPBIN = am__include = include am__leading_dot = . am__quote = @@ -182,7 +172,7 @@ libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var -lt_ECHO = @lt_ECHO@ +lt_ECHO = /bin/echo mandir = ${datarootdir}/man mkdir_p = $(top_builddir)/buildaux/install-sh -c -d oldincludedir = /usr/include @@ -201,8 +191,7 @@ AM_CFLAGS = $(WARNCFLAGS) netpgpverify_SOURCES = verify.c netpgpverify_CPPFLAGS = -I$(top_srcdir)/include -netpgpverify_LDADD = ../lib/libnetpgp.la -man1_MANS = netpgpverify.1 +netpgpverify_LDADD = ../lib/libnetpgp.la ../libmj/libmj.la dist_man_MANS = netpgpverify.1 all: all-am Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.3 Wed Nov 3 02:36
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: agc Date: Thu Nov 11 00:58:05 UTC 2010 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: compress.c crypto.h misc.c packet-parse.c packet-parse.h packet.h reader.c validate.c version.h Log Message: Changes to 3.99.15/20101110 + add support for partial blocks, defined in rfc 4880, and used fairly extensively by gnupg where the input size may not be known in advance (e.g. for encrypted compressed data, as produced by default by gpg -e) To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c cvs rdiff -u -r1.27 -r1.28 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h cvs rdiff -u -r1.38 -r1.39 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c cvs rdiff -u -r1.45 -r1.46 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.14 -r1.15 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.h cvs rdiff -u -r1.28 -r1.29 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.44 -r1.45 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c \ src/crypto/external/bsd/netpgp/dist/src/lib/version.h cvs rdiff -u -r1.42 -r1.43 \ src/crypto/external/bsd/netpgp/dist/src/lib/validate.c 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/lib/compress.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.19 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.20 --- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.19 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c Thu Nov 11 00:58:04 2010 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: compress.c,v 1.19 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: compress.c,v 1.20 2010/11/11 00:58:04 agc Exp $"); #endif #ifdef HAVE_ZLIB_H @@ -112,7 +112,7 @@ * bzip2_compressed_data_reader */ static int -zlib_compressed_data_reader(void *dest, size_t length, +zlib_compressed_data_reader(pgp_stream_t *stream, void *dest, size_t length, pgp_error_t **errors, pgp_reader_t *readinfo, pgp_cbdata_t *cbinfo) @@ -164,7 +164,7 @@ } else { n = sizeof(z->in); } -if (!pgp_stacked_limited_read(z->in, n, +if (!pgp_stacked_limited_read(stream, z->in, n, z->region, errors, readinfo, cbinfo)) { return -1; @@ -207,7 +207,7 @@ #ifdef HAVE_BZLIB_H /* \todo remove code duplication between this and zlib_compressed_data_reader */ static int -bzip2_compressed_data_reader(void *dest, size_t length, +bzip2_compressed_data_reader(pgp_stream_t *stream, void *dest, size_t length, pgp_error_t **errors, pgp_reader_t *readinfo, pgp_cbdata_t *cbinfo) @@ -249,7 +249,7 @@ } else n = sizeof(bz->in); -if (!pgp_stacked_limited_read( +if (!pgp_stacked_limited_read(stream, (uint8_t *) bz->in, n, bz->region, errors, readinfo, cbinfo)) Index: src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.27 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.28 --- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.27 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h Thu Nov 11 00:58:04 2010 @@ -300,6 +300,12 @@ unsigned reading_v3_secret:1; unsigned reading_mpi_len:1; unsigned exact_read:1; + unsigned partial_read:1; + unsigned coalescing:1; + /* used for partial length coalescing */ + unsigned virtualc; + unsigned virtualoff; + uint8_t *virtualpkt; }; #endif /* CRYPTO_H_ */ Index: src/crypto/external/bsd/netpgp/dist/src/lib/misc.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.38 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.39 --- src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.38 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/misc.c Thu Nov 11 00:58:04 2010 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: misc.c,v 1.38 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: misc.c,v 1.39 2010/11/11 00:58:04 agc Exp $"); #endif #include @@ -1159,7 +1159,7 @@ } static int -sum16_reader(void *dest_, size_t length, pgp_error_t **errors, +sum16_reader(pgp_stream_t *stream, void *dest_, size_t length, pgp_error_t **errors, pgp_reader_t *readinfo, pgp_cbdata_t *cbinfo) { const uint8_t *dest = dest_; @@ -1167,7 +1167,7 @@ int r; int n; - r = pgp_stacked_read(dest_, length, errors, readinfo, cbinfo); + r = pgp_stacked_read(stream, dest_, length, errors, readinfo, cbi