CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2021-07-28 Thread Jason High
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(>indent);
 		break;
 
+	case PGP_PTAG_SS_ISSUER_FINGERPRINT:
+		start_subpacket(>indent, pkt->tag);
+		print_hexdump(print->indent, "Issuer Fingerprint",
+			  content->ss_issuer_fingerprint.fingerprint, 
+			  content->ss_issuer_fingerprint.len);
+		end_subpacket(>indent);
+		break;
+
 	case PGP_PTAG_SS_PREFERRED_SKA:
 		start_subpacket(>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

2020-11-01 Thread Thomas Klausner
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

2020-10-17 Thread Jason High
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 = [1];
+			break;
 		default:
 			printf("Ignoring unusual/reserved signature subpacket %d\n", subpkt.tag);
 			break;



CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2020-10-13 Thread Jason High
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(, 1, , 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, , stream)) {
+			return 0;
+		}
+		break;
+
 	case PGP_PTAG_SS_REVOCATION_KEY:
 		/* octet 0 = class. Bit 0x80 must be set */
 		if (!limread(_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;
+
 /** Signature Subpacket : 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2020-05-03 Thread Alistair G. Crooks
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*/, 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2020-03-20 Thread Jason High
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

2018-11-13 Thread Michael van Elst
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 = >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 ? >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 = >keys[keyring->keyc - 1];
 		EXPAND_ARRAY(key, subsig);
 		key->subsigs[key->subsigc].uid = key->uidc - 1;
 		(void) memcpy(>subsigs[key->subsigc].sig, >u.sig,
@@ -610,7 +613,6 @@ cb_keyring_read(const pgp_packet_t *pkt,
 		key->subsigc += 1;
 		break;
 	case PGP_PTAG_CT_SIGNATURE:
-		key = >keys[keyring->keyc - 1];
 		EXPAND_ARRAY(key, subsig);
 		key->subsigs[key->subsigc].uid = key->uidc - 1;
 		(void) memcpy(>subsigs[key->subsigc].sig, >u.sig,
@@ -618,7 +620,6 @@ cb_keyring_read(const pgp_packet_t *pkt,
 		key->subsigc += 1;
 		break;
 	case PGP_PTAG_CT_TRUST:
-		key = >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 = >keys[keyring->keyc - 1];
 		(void) memcpy(>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 = >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 = >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 = >keys[keyring->keyc - 1];
 		key->uid0 = key->uidc - 1;
 		break;
 	case 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2018-08-13 Thread Christos Zoulas
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

2018-08-13 Thread Christos Zoulas
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 ();
 
 /* 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 (, , , , 
 
 /* hac 14.61, pp608 */
 static int
-mp_invmod_slow (mp_int * a, mp_int * b, 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2018-07-25 Thread Kamil Rytarowski
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, , 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, , 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

2018-07-25 Thread Kamil Rytarowski
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

2018-05-10 Thread Sevan Janiyan
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

2018-05-09 Thread Sevan Janiyan
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

2018-05-09 Thread Thomas Klausner
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

2018-05-08 Thread Sevan Janiyan
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

2018-04-29 Thread Sevan Janiyan
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

2018-04-16 Thread Thomas Klausner
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

2018-04-15 Thread Sevan Janiyan
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

2018-04-04 Thread Sevan Janiyan
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

2018-04-03 Thread Sevan Janiyan
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 $
+.\" 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2018-04-02 Thread Sevan Janiyan
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" 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2018-04-01 Thread Sevan Janiyan
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 

CVS commit: src/crypto/external/bsd/netpgp/dist/src

2018-02-05 Thread Christos Zoulas
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, , , );
+	RSA_get0_factors(orsa, , );
+#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, );
+#else
+	x = odsa->priv_key;
+#endif
+	sk->x = BN_dup(x);
+}
+
+static void 
+test_seckey(const pgp_seckey_t *seckey)
+{
+	RSA *test = makeRSA(>pubkey.key.rsa, >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(stderr, "input hash", hash, 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2017-04-09 Thread Pierre Pronchery
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

2017-04-09 Thread Pierre Pronchery
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

2017-04-09 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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 = >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 = >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(, 0x0, sizeof(decrypt));
 	decrypt.key = key;
+	stream = pgp_new(sizeof(*stream));
+	pgp_keydata_reader_set(stream, key);
+	pgp_set_callback(stream, decrypt_cb_empty, );
+	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

2017-03-27 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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

2017-03-27 Thread Pierre Pronchery
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

2017-02-23 Thread Pierre Pronchery
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

2017-02-23 Thread Pierre Pronchery
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

2017-02-19 Thread Pierre Pronchery
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

2017-02-19 Thread Pierre Pronchery
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

2017-02-19 Thread Pierre Pronchery
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

2016-09-12 Thread Abhinav Upadhyay
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

2016-09-03 Thread Christos Zoulas
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

2016-08-28 Thread Christos Zoulas
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

2016-06-28 Thread Christos Zoulas
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", [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, [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

2016-06-15 Thread Alistair G. Crooks
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, , modifiers);
-	printf("%s", s);
+	cc = pgpv_get_entry(pgp, (unsigned)n, , 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

2016-06-15 Thread Alistair G. Crooks
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

2016-06-15 Thread Joerg Sonnenberger
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

2016-06-14 Thread Alistair G. Crooks
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

2016-06-14 Thread Alistair G. Crooks
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

2016-06-14 Thread Alistair G. Crooks
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: 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2016-02-06 Thread Alistair G. Crooks
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,
 	>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 = >keys[0].key.seckey;
 		}
 	}
 	if (seckey == NULL) {



CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2015-02-04 Thread Alistair G. Crooks
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  9 07:01:42 2014
+++ 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2015-01-30 Thread Alistair G. Crooks
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 a...@netbsd.org
+# Copyright (c) 2013,2014,2015 Alistair Crooks a...@netbsd.org
 # 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 -x ;;
@@ 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys

2014-12-17 Thread Alistair G. Crooks
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

2014-11-29 Thread Alistair G. Crooks
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 sys/types.h
 



CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2014-03-11 Thread Joerg Sonnenberger
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

2014-03-11 Thread Joerg Sonnenberger
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

2014-03-11 Thread Alistair G. Crooks
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

2014-03-11 Thread Alistair G. Crooks
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

2014-03-08 Thread Christos Zoulas
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

2014-03-04 Thread Alistair G. Crooks
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

2014-02-16 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2014-02-03 Thread Alistair G. Crooks
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/lib

2014-01-06 Thread Joerg Sonnenberger
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

2014-01-06 Thread Joerg Sonnenberger
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/libverify

2014-01-06 Thread Joerg Sonnenberger
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/libverify

2014-01-06 Thread Hisashi T Fujinaka
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/libdigest

2013-10-19 Thread matthew green
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

2013-03-18 Thread Alistair G. Crooks
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

2012-12-03 Thread Alistair G. Crooks
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

2012-11-28 Thread Thomas Klausner
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 a...@netbsd.org
 .\ 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 a...@netbsd.org
 .\ 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

2012-11-22 Thread Martin Husemann
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/libbn

2012-11-21 Thread Alistair G. Crooks
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

2012-11-21 Thread Alistair G. Crooks
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

2012-11-20 Thread Alistair G. Crooks
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/libverify

2012-11-20 Thread Alistair G. Crooks
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/lib

2012-03-04 Thread Alistair G. Crooks
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/lib

2012-03-04 Thread Christos Zoulas
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 sys/types.h
@@ -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
+++ 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2012-02-21 Thread Alistair G. Crooks
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 sys/types.h
@@ -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 string.h
@@ -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

2012-02-21 Thread Alistair G. Crooks
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 sys/types.h
@@ -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,	optional_argument,	NULL,	TRUSTED_KEYS},
 	

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2011-08-14 Thread Christos Zoulas
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 stdlib.h
@@ -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/lib

2011-08-02 Thread Alistair G. Crooks
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 sys/types.h
@@ -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/netpgpkeys

2011-08-02 Thread Alistair G. Crooks
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, stdout);
 	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

2011-08-01 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2011-06-27 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2011-06-25 Thread Thomas Klausner
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 a...@netbsd.org
 .\ 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

2011-01-02 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2011-01-02 Thread Alistair G. Crooks
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 sys/types.h
@@ -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, stdin, result, netpgp-pubring);
 		if (out) {



CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2011-01-01 Thread Alistair G. Crooks
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) 
u...@machinename.com

% 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

2011-01-01 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2010-12-01 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2010-12-01 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2010-11-28 Thread Alistair G. Crooks
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=attempts 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 sys/types.h
@@ -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 packet 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2010-11-28 Thread Alistair G. Crooks
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 ctype.h


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) 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2010-11-15 Thread Alistair G. Crooks
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 sys/types.h
@@ -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 @@
 	pgp_push_enc_crypt(output, crypted);
 
 	switch 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2010-11-15 Thread Alistair G. Crooks
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 sys/types.h
@@ -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

2010-11-15 Thread Alistair G. Crooks
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 sys/types.h
@@ -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 sys/types.h
@@ -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 void 

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2010-11-15 Thread Thomas Klausner
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

2010-11-10 Thread Alistair G. Crooks
Module Name:src
Committed By:   agc
Date:   Thu Nov 11 01:08:26 UTC 2010

Modified Files:
src/crypto/external/bsd/netpgp/dist/src/lib: packet-parse.c

Log Message:
make this compile on amd64: clean up a debug statement, pointed out by jak


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.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-parse.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.46 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.47
--- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.46	Thu Nov 11 00:58:04 2010
+++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c	Thu Nov 11 01:08:26 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.46 2010/11/11 00:58:04 agc Exp $);
+__RCSID($NetBSD: packet-parse.c,v 1.47 2010/11/11 01:08:26 agc Exp $);
 #endif
 
 #include sys/types.h
@@ -2935,7 +2935,7 @@
 	decrypt = pgp_get_decrypt(stream);
 	if (decrypt) {
 		if (pgp_get_debug_level(__FILE__)) {
-			(void) fprintf(stderr, pgp_decrypt_se_ip_data: decrypt: num %d, alg %d, blocksize %d, keysize %d\n, decrypt-num, decrypt-alg, decrypt-blocksize, decrypt-keysize);
+			(void) fprintf(stderr, pgp_decrypt_se_ip_data: decrypt\n);
 		}
 		pgp_reader_push_decrypt(stream, decrypt, region);
 		pgp_reader_push_se_ip_data(stream, decrypt, region);



CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2010-11-10 Thread Alistair G. Crooks
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 sys/types.h
@@ -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, cbinfo);
 	

CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify

2010-11-10 Thread Alistair G. Crooks
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 a...@netbsd.org 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	

CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib

2010-11-07 Thread Alistair G. Crooks
Module Name:src
Committed By:   agc
Date:   Sun Nov  7 06:56:53 UTC 2010

Modified Files:
src/crypto/external/bsd/netpgp/dist/src/lib: crypto.c crypto.h
openssl_crypto.c packet-parse.c

Log Message:
Add Elgamal decryption to netpgp.  Inspired by (BSD-licensed) the
Elgamal decryption code from Postgresql by Marko Kreen.

% cp config.h f
% netpgp -e f
netpgp: default key set to d4a643c5
% netpgp -d  f.gpg  f.netpgp
netpgp: default key set to d4a643c5
signature  1024/DSA 8222c3ecd4a643c5 2010-05-19 [EXPIRES 2013-05-18]
Key fingerprint: 3e4a 5df4 033b 2333 219b 1afd 8222 c3ec d4a6 43c5
uid  Alistair Crooks (DSA TEST KEY - DO NOT USE) a...@netbsd.org
encryption 2048/Elgamal (Encrypt-Only) a97a7db6d727bc1e 2010-05-19 [EXPIRES 
2013-05-18]
netpgp passphrase:
% ls -al f*
-rw-r--r--  1 agc  agc  5730 Nov  6 23:53 f
-rw---  1 agc  agc  1727 Nov  6 23:53 f.gpg
-rw-r--r--  1 agc  agc  5730 Nov  6 23:54 f.netpgp
% diff f f.netpgp
%

This makes DSA keys into first class citizens, since encryption and
decryption using DSA/Elgamal is now supported.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 \
src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c
cvs rdiff -u -r1.25 -r1.26 \
src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h
cvs rdiff -u -r1.31 -r1.32 \
src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c
cvs rdiff -u -r1.43 -r1.44 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.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.30 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.31
--- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.30	Sun Nov  7 02:29:28 2010
+++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c	Sun Nov  7 06:56:52 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.30 2010/11/07 02:29:28 agc Exp $);
+__RCSID($NetBSD: crypto.c,v 1.31 2010/11/07 06:56:52 agc Exp $);
 #endif
 
 #include sys/types.h
@@ -86,12 +86,14 @@
 int 
 __ops_decrypt_decode_mpi(uint8_t *buf,
 unsigned buflen,
+const BIGNUM *g_to_k,
 const BIGNUM *encmpi,
 const __ops_seckey_t *seckey)
 {
 	unsignedmpisize;
 	uint8_t		encmpibuf[NETPGP_BUFSIZ];
 	uint8_t		mpibuf[NETPGP_BUFSIZ];
+	uint8_t		gkbuf[NETPGP_BUFSIZ];
 	int i;
 	int n;
 
@@ -101,10 +103,9 @@
 		(void) fprintf(stderr, mpisize too big %u\n, mpisize);
 		return -1;
 	}
-	BN_bn2bin(encmpi, encmpibuf);
-
 	switch (seckey-pubkey.alg) {
 	case OPS_PKA_RSA:
+		BN_bn2bin(encmpi, encmpibuf);
 		if (__ops_get_debug_level(__FILE__)) {
 			hexdump(stderr, encrypted, encmpibuf, 16);
 		}
@@ -143,12 +144,13 @@
 		return n - i;
 	case OPS_PKA_DSA:
 	case OPS_PKA_ELGAMAL:
-		(void) fprintf(stderr, XXX - preliminary support for DSA/Elgamal\n);
+		(void) BN_bn2bin(g_to_k, gkbuf);
+		(void) BN_bn2bin(encmpi, encmpibuf);
 		if (__ops_get_debug_level(__FILE__)) {
 			hexdump(stderr, encrypted, encmpibuf, 16);
 		}
-		n = __ops_elgamal_private_decrypt(mpibuf, encmpibuf,
-	(unsigned)(BN_num_bits(encmpi) + 7) / 8,
+		n = __ops_elgamal_private_decrypt(mpibuf, gkbuf, encmpibuf,
+	(unsigned)BN_num_bytes(encmpi),
 	seckey-key.elgamal, seckey-pubkey.key.elgamal);
 		if (n == -1) {
 			(void) fprintf(stderr, ops_elgamal_private_decrypt failure\n);
@@ -161,13 +163,15 @@
 			return -1;
 		}
 		/* Decode EME-PKCS1_V1_5 (RFC 2437). */
-		if (mpibuf[0] != 0 || mpibuf[1] != 2) {
+		if (mpibuf[0] != 2) {
+			fprintf(stderr, mpibuf mismatch\n);
 			return -1;
 		}
 		/* Skip the random bytes. */
-		for (i = 2; i  n  mpibuf[i]; ++i) {
+		for (i = 1; i  n  mpibuf[i]; ++i) {
 		}
 		if (i == n || i  10) {
+			fprintf(stderr, 175 n %d\n, n);
 			return -1;
 		}
 		/* Skip the zero */

Index: src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.25 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.26
--- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h:1.25	Sun Nov  7 02:29:28 2010
+++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h	Sun Nov  7 06:56:52 2010
@@ -131,7 +131,7 @@
 
 int __ops_elgamal_public_encrypt(uint8_t *, uint8_t *, const uint8_t *, size_t,
 			const __ops_elgamal_pubkey_t *);
-int __ops_elgamal_private_decrypt(uint8_t *, const uint8_t *, size_t,
+int __ops_elgamal_private_decrypt(uint8_t *, const uint8_t *, const uint8_t *, size_t,
 			const __ops_elgamal_seckey_t *, const __ops_elgamal_pubkey_t *);
 
 __ops_symm_alg_t __ops_str_to_cipher(const char *);
@@ -159,7 +159,8 @@
 void __ops_reader_pop_hash(__ops_stream_t *);
 
 int __ops_decrypt_decode_mpi(uint8_t *, unsigned, const BIGNUM *,
-			const __ops_seckey_t *);
+			const BIGNUM *, 

  1   2   3   >