CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Mon Oct 3 05:34:31 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: netpgp: fix build with Clang (since 2022-10-01) error: passing 'char [1]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign] To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 \ 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Mon Oct 3 05:34:31 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: netpgp: fix build with Clang (since 2022-10-01) error: passing 'char [1]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Werror,-Wpointer-sign] To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 \ 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.59 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.60 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.59 Sat Oct 1 22:21:31 2022 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Oct 3 05:34:31 2022 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.59 2022/10/01 22:21:31 rillig Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.60 2022/10/03 05:34:31 rillig Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -1159,7 +1159,7 @@ pgp_export_key(pgp_io_t *io, const pgp_k pgp_write_xfer_seckey(output, keydata, passphrase, strlen((char *)passphrase), 1); } - pgp_memory_add(mem, "", 1); + pgp_memory_add(mem, (uint8_t[]){0}, 1); cp = netpgp_strdup(pgp_mem_data(mem)); pgp_teardown_memory_write(output, mem); return cp;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Oct 1 22:21:31 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: netpgpkeys: properly terminate string before calling strdup $ MALLOC_CONF=junk:true netpgpkeys \ --export-key \ --keyring=/usr/pkg/etc/gnupg/pkgsrc.gpg \ b5952cabdd765a20 The above command printed "-END PGP PUBLIC KEY BLOCK-\r\n" followed by "\xA5\xA5\xA5...". To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 \ 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.58 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.59 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.58 Sat Aug 27 08:58:32 2022 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Sat Oct 1 22:21:31 2022 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.58 2022/08/27 08:58:32 rillig Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.59 2022/10/01 22:21:31 rillig Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -1159,6 +1159,7 @@ pgp_export_key(pgp_io_t *io, const pgp_k pgp_write_xfer_seckey(output, keydata, passphrase, strlen((char *)passphrase), 1); } + pgp_memory_add(mem, "", 1); cp = netpgp_strdup(pgp_mem_data(mem)); pgp_teardown_memory_write(output, mem); return cp;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Oct 1 22:21:31 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: netpgpkeys: properly terminate string before calling strdup $ MALLOC_CONF=junk:true netpgpkeys \ --export-key \ --keyring=/usr/pkg/etc/gnupg/pkgsrc.gpg \ b5952cabdd765a20 The above command printed "-END PGP PUBLIC KEY BLOCK-\r\n" followed by "\xA5\xA5\xA5...". To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 \ 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Aug 27 08:35:01 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: netpgp: fix use after free when writing keyring Same pattern as in the previous commit. To generate a diff of this commit: cvs rdiff -u -r1.104 -r1.105 \ 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.104 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.105 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.104 Sat Aug 27 08:30:06 2022 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Aug 27 08:35:01 2022 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.104 2022/08/27 08:30:06 rillig Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.105 2022/08/27 08:35:01 rillig Exp $"); #endif #include @@ -317,8 +317,8 @@ writekeyring(netpgp_t *netpgp, const cha filename = keyringfile(netpgp, name); if (!pgp_keyring_filewrite(keyring, noarmor, filename, passphrase)) { - free(filename); (void) fprintf(stderr, "Can't write %s %s\n", name, filename); + free(filename); return 0; } netpgp_setvar(netpgp, name, filename);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Aug 27 08:35:01 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: netpgp: fix use after free when writing keyring Same pattern as in the previous commit. To generate a diff of this commit: cvs rdiff -u -r1.104 -r1.105 \ 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Aug 27 08:30:06 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: netpgp: fix use after free when reading pubkey To reproduce: srcdir=... objdir=... cd "$srcdir"/crypto/external/bsd/netpgp/dist/bindings/lua cp "$objdir"/crypto/external/bsd/netpgp/bindings/lua/netpgp.so \ ./libluanetpgp.so LD_LIBRARY_PATH="." MALLOC_CONF=junk:true lua netpgp.lua > $HOME/.gnupg/pubring.gpg: No such file or directory > Can't read pubring To generate a diff of this commit: cvs rdiff -u -r1.103 -r1.104 \ 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.103 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.104 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.103 Sat Mar 21 01:07:21 2020 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Aug 27 08:30:06 2022 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.103 2020/03/21 01:07:21 jhigh Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.104 2022/08/27 08:30:06 rillig Exp $"); #endif #include @@ -297,9 +297,9 @@ readkeyring(netpgp_t *netpgp, const char filename = keyringfile(netpgp, name); if (!pgp_keyring_fileread(keyring, noarmor, filename)) { + (void) fprintf(stderr, "Can't read %s %s\n", name, filename); free(filename); free(keyring); - (void) fprintf(stderr, "Can't read %s %s\n", name, filename); return NULL; } netpgp_setvar(netpgp, name, filename);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: rillig Date: Sat Aug 27 08:30:06 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: netpgp: fix use after free when reading pubkey To reproduce: srcdir=... objdir=... cd "$srcdir"/crypto/external/bsd/netpgp/dist/bindings/lua cp "$objdir"/crypto/external/bsd/netpgp/bindings/lua/netpgp.so \ ./libluanetpgp.so LD_LIBRARY_PATH="." MALLOC_CONF=junk:true lua netpgp.lua > $HOME/.gnupg/pubring.gpg: No such file or directory > Can't read pubring To generate a diff of this commit: cvs rdiff -u -r1.103 -r1.104 \ 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Fri Aug 26 19:18:38 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: create.c crypto.h misc.c netpgpsdk.h openssl_crypto.c packet-parse.c packet-print.c packet-show.c packet.h signature.c version.h Log Message: adding initial support for ECDSA (19) to netpgp. tested using p256/sha256, p384/sha384, and p521/sha512 To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 \ src/crypto/external/bsd/netpgp/dist/src/lib/create.c \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.30 -r1.31 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h cvs rdiff -u -r1.43 -r1.44 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.12 -r1.13 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c cvs rdiff -u -r1.53 -r1.54 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.47 -r1.48 \ src/crypto/external/bsd/netpgp/dist/src/lib/version.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/create.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.38 src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.39 --- src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.38 Mon Nov 15 08:03:39 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/create.c Fri Aug 26 19:18:38 2022 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: create.c,v 1.38 2010/11/15 08:03:39 agc Exp $"); +__RCSID("$NetBSD: create.c,v 1.39 2022/08/26 19:18:38 jhigh Exp $"); #endif #include @@ -250,6 +250,11 @@ write_pubkey_body(const pgp_pubkey_t *ke pgp_write_mpi(output, key->key.dsa.g) && pgp_write_mpi(output, key->key.dsa.y); + case PGP_PKA_ECDSA: + return pgp_write(output, >key.ecdsa.len, 1) && + pgp_write(output, key->key.ecdsa.oid, key->key.ecdsa.len) && + pgp_write_mpi(output, key->key.ecdsa.p); + case PGP_PKA_RSA: case PGP_PKA_RSA_ENCRYPT_ONLY: case PGP_PKA_RSA_SIGN_ONLY: Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.38 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.39 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.38 Mon Feb 5 23:56:01 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Fri Aug 26 19:18:38 2022 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.38 2018/02/05 23:56:01 christos Exp $"); +__RCSID("$NetBSD: signature.c,v 1.39 2022/08/26 19:18:38 jhigh Exp $"); #endif #include @@ -265,6 +265,56 @@ dsa_sign(pgp_hash_t *hash, return 1; } +static int +ecdsa_sign(pgp_hash_t *hash, + const pgp_ecdsa_pubkey_t *ecdsa, + const pgp_ecdsa_seckey_t *secdsa, + pgp_output_t *output) +{ + unsignedhashsize; + unsignedt; + uint8_t hashbuf[NETPGP_BUFSIZ]; + ECDSA_SIG*ecdsasig; + const BIGNUM *r, *s; + + hashsize = ecdsa_hashsize(ecdsa); + + if (hashsize == -1) { + return 0; + } + + t = hash->finish(hash, [0]); + + if (t != hashsize) { + (void) fprintf(stderr, "ecdsa_sign: hashfinish %d not %d\n", t, hashsize); + return 0; + } + + pgp_write(output, [0], 2); + + /* write signature to buf */ + ecdsasig = pgp_ecdsa_sign(hashbuf, hashsize, secdsa, ecdsa); + + if (ecdsasig == NULL) { + (void) fprintf(stderr, "ecdsa_sign: invalid ecdsa sig\n"); + return 0; + } + + /* convert and write the sig out to memory */ +#if OPENSSL_VERSION_NUMBER >= 0x1010 + ECDSA_SIG_get0(ecdsasig, , ); +#else + r = ecdsasig->r; + s = ecdsasig->s; +#endif + pgp_write_mpi(output, r); + pgp_write_mpi(output, s); + + ECDSA_SIG_free(ecdsasig); + + return 1; +} + static unsigned rsa_verify(pgp_hash_alg_t type, const uint8_t *hash, @@ -430,6 +480,12 @@ pgp_check_sig(const uint8_t *hash, unsig >key.dsa); break; + case PGP_PKA_ECDSA: + ret = pgp_ecdsa_verify(hash, length, +>info.sig.ecdsa, +>key.ecdsa); + break; + case PGP_PKA_RSA: ret = rsa_verify(sig->info.hash_alg, hash, length, >info.sig.rsa, @@ -764,6 +820,14 @@ pgp_write_sig(pgp_output_t *output, } break; + case PGP_PKA_ECDSA: + if (seckey->key.ecdsa.x == NULL) { + (void) fprintf(stderr, "pgp_write_sig: null ecdsa.x\n"); + return 0; + } + + break; + default: (void)
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Fri Aug 26 19:18:38 UTC 2022 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: create.c crypto.h misc.c netpgpsdk.h openssl_crypto.c packet-parse.c packet-print.c packet-show.c packet.h signature.c version.h Log Message: adding initial support for ECDSA (19) to netpgp. tested using p256/sha256, p384/sha384, and p521/sha512 To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 \ src/crypto/external/bsd/netpgp/dist/src/lib/create.c \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.30 -r1.31 \ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h cvs rdiff -u -r1.43 -r1.44 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.12 -r1.13 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c cvs rdiff -u -r1.53 -r1.54 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.47 -r1.48 \ src/crypto/external/bsd/netpgp/dist/src/lib/version.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Jul 28 22:31:45 UTC 2021 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: packet-print.c packet-show.c Log Message: print Issuer Fingerprint subpacket 33 (rfc4880bis-08:5.2.3.28) rather than Unknown To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Jul 28 22:31:45 UTC 2021 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: packet-print.c packet-show.c Log Message: print Issuer Fingerprint subpacket 33 (rfc4880bis-08:5.2.3.28) rather than Unknown To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.42 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.43 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.42 Wed Feb 22 06:29:40 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Wed Jul 28 22:31:45 2021 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-print.c,v 1.42 2012/02/22 06:29:40 agc Exp $"); +__RCSID("$NetBSD: packet-print.c,v 1.43 2021/07/28 22:31:45 jhigh Exp $"); #endif #include @@ -1090,6 +1090,14 @@ pgp_print_packet(pgp_printstate_t *print end_subpacket(>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
Module Name:src Committed By: wiz Date: Sun Nov 1 11:29:17 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.in bzlib_private.h libverify.c verify.h Added Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: HOWTO dash-escaped-text dash-escaped-text.asc netpgpv-bzlib.h verify.map Removed Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: bzlib.h Log Message: Sync with netpgpverify-20201101 from pkgsrc (the master for this). No effective change except for version bump. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/dash-escaped-text \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/dash-escaped-text.asc \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpv-bzlib.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.map cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h cvs rdiff -u -r1.2 -r0 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.h cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in:1.11 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in Sun Nov 1 11:29:17 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.in,v 1.11 2017/04/17 19:50:28 agc Exp $ +# $NetBSD: Makefile.in,v 1.12 2020/11/01 11:29:17 wiz Exp $ PROG=netpgpverify @@ -16,7 +16,7 @@ MANDIR=@MANDIR@ all: ${PROG} ${PROG}: ${OBJS} - ${CC} ${OBJS} -o ${PROG} + ${CC} ${LDFLAGS} ${CFLAGS} ${OBJS} -o ${PROG} install: install -c -s ${PROG} ${DESTDIR}${PREFIX}/bin Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h:1.11 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Sun Nov 1 11:29:17 2020 @@ -23,9 +23,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef NETPGP_VERIFY_H_ -#define NETPGP_VERIFY_H_ 20200503 +#define NETPGP_VERIFY_H_ 20201101 -#define NETPGPVERIFY_VERSION "netpgpverify portable 20200503" +#define NETPGPVERIFY_VERSION "netpgpverify portable 20201101" #include Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.4 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.5 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h:1.4 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h Sun Nov 1 11:29:17 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bzlib_private.h,v 1.4 2020/05/04 00:18:34 agc Exp $ */ +/* $NetBSD: bzlib_private.h,v 1.5 2020/11/01 11:29:17 wiz Exp $ */ /*-*/ @@ -32,7 +32,7 @@ #include #endif -#include "bzlib.h" +#include "netpgpv-bzlib.h" Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.17 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 Sat Oct 17 23:08:57 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sun Nov 1 11:29:17 2020 @@ -40,7 +40,7 @@ #include #include -#include "bzlib.h" +#include "netpgpv-bzlib.h" #include "zlib.h" #include "array.h" Added files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO diff -u /dev/null src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO:1.1 --- /dev/null Sun Nov 1 11:29:17 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/HOWTO Sun Nov 1 11:29:17 2020 @@ -0,0 +1,55 @@ +How to use ssh keys in PGP signatures += + +1. generate a new ssh key pair + + % ssh-keygen -t rsa -b 4096 -f sshtest-20140202 + Generating public/private rsa key pair. + Enter passphrase (empty for no passphrase): + Enter same passphrase again: +
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: jhigh Date: Sat Oct 17 23:08:57 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: absorb issuer fingerprint (RFC4880bis 5.2.3.28) in libverify.c To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.15 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.16 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.15 Mon May 4 00:18:34 2020 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sat Oct 17 23:08:57 2020 @@ -151,6 +151,8 @@ typedef struct pgpv_signature_t { char *features; char *why_revoked; uint8_t *revoke_fingerprint; + uint8_t *issuer_fingerprint; + uint8_t ifver; uint8_t revoke_alg; uint8_t revoke_sensitive; uint8_t trustsig; @@ -925,6 +927,7 @@ str_to_keyid(const char *s, uint8_t *key #define SUBPKT_FEATURES 30 #define SUBPKT_SIGNATURE_TARGET 31 #define SUBPKT_EMBEDDED_SIGNATURE 32 +#define SUBPKT_ISSUER_FINGERPRINT 33 #define UNCOMPRESSED 0 #define ZIP_COMPRESSION 1 @@ -1180,6 +1183,10 @@ read_sig_subpackets(pgpv_t *pgp, pgpv_si sigpkt->sig.revoked = *p++ + 1; sigpkt->sig.why_revoked = (char *)(void *)p; break; + case SUBPKT_ISSUER_FINGERPRINT: + sigpkt->sig.ifver = *p; + sigpkt->sig.issuer_fingerprint = [1]; + break; default: printf("Ignoring unusual/reserved signature subpacket %d\n", subpkt.tag); break;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: jhigh Date: Sat Oct 17 23:08:57 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: absorb issuer fingerprint (RFC4880bis 5.2.3.28) in libverify.c To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Oct 14 05:19:41 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c packet-parse.c packet.h Log Message: allow netpgp to absorb gpg2 subpkt 33 for list/enc/decrypt rsa keys To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.31 -r1.32 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.57 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Wed Oct 14 05:19:41 2020 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.56 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.57 2020/10/14 05:19:41 jhigh Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -620,8 +620,12 @@ cb_keyring_read(const pgp_packet_t *pkt, key->subsigc += 1; break; case PGP_PTAG_CT_TRUST: - key->subsigs[key->subsigc - 1].trustlevel = pkt->u.ss_trust.level; - key->subsigs[key->subsigc - 1].trustamount = pkt->u.ss_trust.amount; + EXPAND_ARRAY(key, subsig); + key->subsigs[key->subsigc].trustlevel = pkt->u.ss_trust.level; + key->subsigs[key->subsigc].trustamount = pkt->u.ss_trust.amount; + + key->subsigc += 1; + break; case PGP_PTAG_SS_KEY_EXPIRY: EXPAND_ARRAY(keyring, key); @@ -667,7 +671,6 @@ cb_keyring_read(const pgp_packet_t *pkt, default: break; } - return PGP_RELEASE_MEMORY; } Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.53 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c Wed Oct 14 05:19:41 2020 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-parse.c,v 1.52 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: packet-parse.c,v 1.53 2020/10/14 05:19:41 jhigh Exp $"); #endif #include @@ -984,6 +984,7 @@ pgp_parser_content_free(pgp_packet_t *c) case PGP_PTAG_SS_PRIMARY_USER_ID: case PGP_PTAG_SS_REVOCABLE: case PGP_PTAG_SS_REVOCATION_KEY: + case PGP_PTAG_SS_ISSUER_FINGERPRINT: case PGP_PTAG_CT_LITDATA_HEADER: case PGP_PTAG_CT_LITDATA_BODY: case PGP_PTAG_CT_SIGNED_CLEARTEXT_BODY: @@ -1554,6 +1555,7 @@ parse_one_sig_subpacket(pgp_sig_t *sig, pgp_packet_t pkt; uint8_t bools = 0x0; uint8_t c = 0x0; + uint8_t temp = 0x0; unsigned doread = 1; unsignedt8; unsignedt7; @@ -1764,6 +1766,26 @@ parse_one_sig_subpacket(pgp_sig_t *sig, } break; + case PGP_PTAG_SS_ISSUER_FINGERPRINT: + /* octet 0: version */ + /* 0x04:20 bytes, 0x05:32 bytes */ + if (!limread(, 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/lib
Module Name:src Committed By: jhigh Date: Wed Oct 14 05:19:41 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c packet-parse.c packet.h Log Message: allow netpgp to absorb gpg2 subpkt 33 for list/enc/decrypt rsa keys To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.31 -r1.32 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Mon May 4 00:18:34 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd b64.c b64.h bignum.c bn.h bzlib.c bzlib.h bzlib_private.h libverify.c rsa.c rsa.h verify.h zlib.c zlib.h Log Message: Bring over changes from source of truth in pkgsrc - bump version to 20200503 Update netpgpverify and libnetpgpverify to version 20200503 ensure all exported functions use a unique prfix, so that they don't conflict with symbols (both data and text) in libcrypto. this works for statically linked binaries and libraries, rather then the version map which only works for dynalically-linked. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.h cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bn.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.c cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c cvs rdiff -u -r1.14 -r1.15 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.c cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.7 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.8 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd:1.7 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd Mon May 4 00:18:34 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bsd,v 1.7 2017/04/17 19:50:28 agc Exp $ +# $NetBSD: Makefile.bsd,v 1.8 2020/05/04 00:18:34 agc Exp $ PROG=netpgpverify @@ -12,6 +12,11 @@ SRCS+= md5c.c rmd160.c sha1.c sha2.c CPPFLAGS+=-I. +CPPFLAGS.bzlib.c+= -Wno-error=implicit-fallthrough +CPPFLAGS.zlib.c+= -Wno-error=implicit-fallthrough + +LDFLAGS+=-Wl,--version-script=${.CURDIR}/verify.map + .ifndef PRODUCTION CPPFLAGS+=-g -O0 LDFLAGS+=-g -O0 Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c Mon May 4 00:18:34 2020 @@ -235,7 +235,7 @@ encodeblock(uint8_t *wordin, uint8_t *wo ** base64 encode a stream adding padding and line breaks as per spec. */ int -b64encode(const char *in, const size_t insize, void *vp, size_t outsize, int linesize) +netpgpv_b64encode(const char *in, const size_t insize, void *vp, size_t outsize, int linesize) { const char *inp; unsigned i; @@ -299,7 +299,7 @@ decodeblock(uint8_t wordin[4], uint8_t w ** decode a base64 encoded stream discarding padding, line breaks and noise */ int -b64decode(const char *in, const size_t insize, void *vp, size_t outsize) +netpgpv_b64decode(const char *in, const size_t insize, void *vp, size_t outsize) { const char *inp; unsigned wordlen; @@ -349,7 +349,7 @@ b64decode(const char *in, const size_t i /* return the encoded size for n bytes input */ int -b64_encsize(unsigned n) +netpgpv_b64_encsize(unsigned n) { return ((4 * n) / 3) + 4; } Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.1 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.2 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h:1.1 Sun Mar 9 00:15:45 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h Mon May 4 00:18:34 2020 @@ -25,8 +25,8 @@ #ifndef B64_H_ #define B64_H_ 20091223 -int b64encode(const char */*in*/, const size_t /*insize*/, void */*vp*/, size_t /*outsize*/, int /*linesize*/); -int b64decode(const char */*in*/, const size_t /*insize*/, void */*vp*/, size_t /*outsize*/); -int b64_encsize(unsigned /*n*/); +int netpgpv_b64encode(const char */*in*/, const size_t /*insize*/, void */*vp*/,
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: agc Date: Mon May 4 00:18:34 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd b64.c b64.h bignum.c bn.h bzlib.c bzlib.h bzlib_private.h libverify.c rsa.c rsa.h verify.h zlib.c zlib.h Log Message: Bring over changes from source of truth in pkgsrc - bump version to 20200503 Update netpgpverify and libnetpgpverify to version 20200503 ensure all exported functions use a unique prfix, so that they don't conflict with symbols (both data and text) in libcrypto. this works for statically linked binaries and libraries, rather then the version map which only works for dynalically-linked. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd cvs rdiff -u -r1.1 -r1.2 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.c \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/b64.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.h cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bn.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib_private.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.c cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bzlib.c cvs rdiff -u -r1.14 -r1.15 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/rsa.h \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/zlib.c cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Sat Mar 21 01:07:21 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: cleanly fail initialization on empty keyring To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.102 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.103 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.102 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Mar 21 01:07:21 2020 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.102 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.103 2020/03/21 01:07:21 jhigh Exp $"); #endif #include @@ -429,7 +429,7 @@ get_first_ring(pgp_keyring_t *ring, char int i; int n; - if (ring == NULL) { + if (ring == NULL || ring->keyc == 0) { return 0; } (void) memset(id, 0x0, len);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Sat Mar 21 01:07:21 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: cleanly fail initialization on empty keyring To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Tue Oct 8 18:47:11 UTC 2019 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: grow the buffer a little. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 \ 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Tue Oct 8 18:47:11 UTC 2019 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: grow the buffer a little. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 \ 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.13 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.14 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.13 Mon Apr 17 15:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Tue Oct 8 14:47:10 2019 @@ -2622,7 +2622,7 @@ read_ssh_file(pgpv_t *pgp, pgpv_primaryk int64_t off; va_list args; char hostname[256]; - char owner[256]; + char owner[2 * 256]; char *space; char *buf; char *bin;
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: mlelstv Date: Tue Nov 13 14:52:31 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h misc.c netpgp.c packet-parse.c packet.h src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 mj.c src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c Log Message: Fix some error handling, json support, keyring handling. To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h cvs rdiff -u -r1.41 -r1.42 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c cvs rdiff -u -r1.101 -r1.102 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.30 -r1.31 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.5 -r1.6 src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c cvs rdiff -u -r1.26 -r1.27 \ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 Mon Mar 27 21:19:12 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Tue Nov 13 14:52:30 2018 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.55 2017/03/27 21:19:12 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.56 2018/11/13 14:52:30 mlelstv Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -456,10 +456,12 @@ copy_packet(pgp_subpacket_t *dst, const } if ((dst->raw = calloc(1, src->length)) == NULL) { (void) fprintf(stderr, "copy_packet: bad alloc\n"); + dst->length = 0; } else { dst->length = src->length; (void) memcpy(dst->raw, src->raw, src->length); } + dst->tag = src->tag; return dst; } @@ -500,7 +502,6 @@ pgp_add_subpacket(pgp_key_t *keydata, co EXPAND_ARRAY(keydata, packet); /* initialise new entry in array */ subpktp = >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
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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Mon Aug 13 09:54:19 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: sha2.c Log Message: avoid redefinition To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Mon Aug 13 09:54:19 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: sha2.c Log Message: avoid redefinition To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 Wed Jul 25 20:31:13 2018 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Mon Aug 13 05:54:19 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: sha2.c,v 1.3 2018/07/26 00:31:13 kamil Exp $ */ +/* $NetBSD: sha2.c,v 1.4 2018/08/13 09:54:19 christos Exp $ */ /* $KAME: sha2.c,v 1.9 2003/07/20 00:28:38 itojun Exp $ */ /* @@ -48,7 +48,9 @@ # undef be32toh # undef be64toh +#ifndef __CAST #define __CAST(__dt, __st) ((__dt)(__st)) /* srsly? */ +#endif static __inline void be32encode(void *buf, uint32_t u)
CVS commit: src/crypto/external/bsd/netpgp/dist/src/libbn
Module Name:src Committed By: christos Date: Mon Aug 13 09:53:51 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c Log Message: sprinke const To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.5 src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.6 --- src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c:1.5 Mon Mar 18 21:00:16 2013 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Mon Aug 13 05:53:51 2018 @@ -575,7 +575,7 @@ mp_init_size (mp_int * a, int size) } /* creates "a" then copies b into it */ -static int mp_init_copy (mp_int * a, mp_int * b) +static int mp_init_copy (mp_int * a, const mp_int * b) { int res; @@ -587,9 +587,9 @@ static int mp_init_copy (mp_int * a, mp_ /* low level addition, based on HAC pp.594, Algorithm 14.7 */ static int -s_mp_add (mp_int * a, mp_int * b, mp_int * c) +s_mp_add (const mp_int * a, const mp_int * b, mp_int * c) { - mp_int *x; + const mp_int *x; int olduse, res, min, max; /* find sizes, we let |a| <= |b| which means we have to sort @@ -617,7 +617,8 @@ s_mp_add (mp_int * a, mp_int * b, mp_int c->used = max + 1; { -mp_digit u, *tmpa, *tmpb, *tmpc; +const mp_digit *tmpa, *tmpb; +mp_digit u, *tmpc; int i; /* alias for digit pointers */ @@ -675,7 +676,7 @@ s_mp_add (mp_int * a, mp_int * b, mp_int /* low level subtraction (assumes |a| > |b|), HAC pp.595 Algorithm 14.9 */ static int -s_mp_sub (mp_int * a, mp_int * b, mp_int * c) +s_mp_sub (const mp_int * a, const mp_int * b, mp_int * c) { int olduse, res, min, max; @@ -693,7 +694,8 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int c->used = max; { -mp_digit u, *tmpa, *tmpb, *tmpc; +const mp_digit *tmpa, *tmpb; +mp_digit u, *tmpc; int i; /* alias for digit pointers */ @@ -742,7 +744,7 @@ s_mp_sub (mp_int * a, mp_int * b, mp_int /* high level subtraction (handles signs) */ static int -mp_sub (mp_int * a, mp_int * b, mp_int * c) +mp_sub (const mp_int * a, const mp_int * b, mp_int * c) { int sa, sb, res; @@ -831,9 +833,10 @@ static int mp_rshd (mp_int * a, int b) /* multiply by a digit */ static int -mp_mul_d (mp_int * a, mp_digit b, mp_int * c) +mp_mul_d (const mp_int * a, mp_digit b, mp_int * c) { - mp_digit u, *tmpa, *tmpc; + const mp_digit *tmpa; + mp_digit u, *tmpc; mp_word r; int ix, res, olduse; @@ -888,7 +891,7 @@ mp_mul_d (mp_int * a, mp_digit b, mp_int } /* high level addition (handles signs) */ -static int mp_add (mp_int * a, mp_int * b, mp_int * c) +static int mp_add (const mp_int * a, const mp_int * b, mp_int * c) { int sa, sb, res; @@ -933,7 +936,7 @@ mp_exch(mp_int *a, mp_int *b) /* calc a value mod 2**b */ static int -mp_mod_2d (mp_int * a, int b, mp_int * c) +mp_mod_2d (const mp_int * a, int b, mp_int * c) { int x, res; @@ -966,7 +969,7 @@ mp_mod_2d (mp_int * a, int b, mp_int * c } /* shift right by a certain bit count (store quotient in c, optional remainder in d) */ -static int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d) +static int mp_div_2d (const mp_int * a, int b, mp_int * c, mp_int * d) { mp_digit D, r, rr; int x, res; @@ -1055,7 +1058,7 @@ static int mp_div_2d (mp_int * a, int b, * 14.20 from HAC but fixed to treat these cases. */ static int -mp_div(mp_int *c, mp_int *d, mp_int *a, mp_int *b) +mp_div(mp_int *c, mp_int *d, const mp_int *a, const mp_int *b) { mp_int q, x, y, t1, t2; int res, n, t, i, norm, neg; @@ -1240,7 +1243,7 @@ LBL_Q:mp_clear (); /* 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/libbn
Module Name:src Committed By: christos Date: Mon Aug 13 09:53:51 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/libbn: bignum.c Log Message: sprinke const To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/bignum.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: kamil Date: Thu Jul 26 00:31:13 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: sha2.c Log Message: Avoid undefined behavior in netpgpverify/sha2.c Do not change the signedness bit with a left shift operation. Cast to unsigned integer to prevent this. sha2.c:79:16, left shift of 154 by 24 places cannot be represented in type 'int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.2 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c:1.2 Tue Jun 14 20:47:08 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/sha2.c Thu Jul 26 00:31:13 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: sha2.c,v 1.2 2016/06/14 20:47:08 agc Exp $ */ +/* $NetBSD: sha2.c,v 1.3 2018/07/26 00:31:13 kamil Exp $ */ /* $KAME: sha2.c,v 1.9 2003/07/20 00:28:38 itojun Exp $ */ /* @@ -76,7 +76,7 @@ htobe32(uint32_t x) uint8_t p[4]; memcpy(p, , 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
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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: kamil Date: Thu Jul 26 00:26:45 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: pgpsum.c Log Message: Avoid undefined behavior in netpgpverify Do not change the signedness bit with a left shift operation. Cast to unsigned integer to prevent this. pgpsum.c:187:18, left shift of 130 by 24 places cannot be represented in type 'int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c:1.3 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c Thu Jul 26 00:26:45 2018 @@ -175,7 +175,7 @@ swap16(uint16_t in) u16 u; u.i16 = in; - return (u.i8[0] << 8) | u.i8[1]; + return ((uint16_t)u.i8[0] << 8) | u.i8[1]; } static inline uint32_t @@ -184,7 +184,7 @@ swap32(uint32_t in) u32 u; u.i32 = in; - return (u.i8[0] << 24) | (u.i8[1] << 16) | (u.i8[2] << 8) | u.i8[3]; + return ((uint32_t)u.i8[0] << 24) | (u.i8[1] << 16) | (u.i8[2] << 8) | u.i8[3]; } static inline int
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: kamil Date: Thu Jul 26 00:26:45 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: pgpsum.c Log Message: Avoid undefined behavior in netpgpverify Do not change the signedness bit with a left shift operation. Cast to unsigned integer to prevent this. pgpsum.c:187:18, left shift of 130 by 24 places cannot be represented in type 'int' Detected with micro-UBSan in the user mode. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Thu May 10 15:00:36 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add descriptions for netpgp_match_keys() netpgp_match_keys_json() netpgp_match_pubkeys() netpgp_validate_sigs() netpgp_format_json() To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.27 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 Wed May 9 23:34:25 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Thu May 10 15:00:36 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.26 2018/05/09 23:34:25 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.27 2018/05/10 15:00:36 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -233,6 +233,17 @@ function is used. To list all the keys in a keyring as a JSON encoded string, the .Fn netpgp_list_keys_json function is used. +To find and list keys in a keyring, the +.Fn netpgp_match_keys +function is used. +To find and list keys in a keyring, output as a JSON encoded string, +the +.Fn netpgp_match_keys_json +function is used. +To find and list keys in a better suited machine-readble format, such as for +redirection to other parsing engines, the +.Fn netpgp_match_pubkeys +function is used. The signature subkey fields can also be displayed using this function. .Pp @@ -246,6 +257,14 @@ If the subdirectory argument is provided is appended to the home directory in order to search for the keyrings. .Pp +To print key information from a JSON encoded string, stored in a file, the +.Fn netpgp_format_json +function is used. +.Pp +To validate the signature of keys in a public key keyring, the +.Fn netpgp_validate_sigs +function is used. +.Pp To export a key, the .Fn netpgp_export_key function is used.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Wed May 9 23:34:25 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add a description of netpgp_unsetvar and netpgp_list_keys_json. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.26 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 Wed May 9 07:59:38 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 23:34:25 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.25 2018/05/09 07:59:38 wiz Exp $ +.\" $NetBSD: libnetpgp.3,v 1.26 2018/05/09 23:34:25 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 9, 2018 +.Dd May 10, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -204,6 +204,8 @@ member of the structure. These are set using the .Fn netpgp_setvar +function and unset using the +.Fn netpgp_unsetvar function. If no public key ring file is set, initial values will be taken from those in the @@ -228,6 +230,9 @@ function returns 1 on success, 0 on fail To list all the keys in a keyring, the .Fn netpgp_list_keys function is used. +To list all the keys in a keyring as a JSON encoded string, the +.Fn netpgp_list_keys_json +function is used. The signature subkey fields can also be displayed using this function. .Pp
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: wiz Date: Wed May 9 07:59:38 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Fix typo, add 'and' in list. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.25 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 Wed May 9 00:24:50 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 07:59:38 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.24 2018/05/09 00:24:50 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.25 2018/05/09 07:59:38 wiz Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -342,8 +342,8 @@ At the present time, two types are defin .Dq version and .Dq maintainer . -The mantainer information returned contains the name, email address, PGP short -key id. +The maintainer information returned contains the name, email address, +and PGP short key id. A failure to present a known .Ar type argument to
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Wed May 9 00:24:50 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the type of information returned about maintainer. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Wed May 9 00:24:50 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the type of information returned about maintainer. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.24 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 Sun Apr 29 14:21:16 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed May 9 00:24:50 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.23 2018/04/29 14:21:16 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.24 2018/05/09 00:24:50 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 29, 2018 +.Dd May 9, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -342,6 +342,8 @@ At the present time, two types are defin .Dq version and .Dq maintainer . +The mantainer information returned contains the name, email address, PGP short +key id. A failure to present a known .Ar type argument to
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 29 14:21:16 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the following functions to the list (TODO - add descriptions) netpgp_unsetvar netpgp_list_keys_json netpgp_match_keys netpgp_match_keys_json netpgp_match_pubkeys netpgp_validate_sigs netpgp_format_json Remove netpgp_match_list_keys() as function does not exist Add missing output file to netpgp_verify_file() argument list Sprinkle const to arguments To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 29 14:21:16 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Add the following functions to the list (TODO - add descriptions) netpgp_unsetvar netpgp_list_keys_json netpgp_match_keys netpgp_match_keys_json netpgp_match_pubkeys netpgp_validate_sigs netpgp_format_json Remove netpgp_match_list_keys() as function does not exist Add missing output file to netpgp_verify_file() argument list Sprinkle const to arguments To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.23 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 Mon Apr 16 08:17:18 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 29 14:21:16 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.22 2018/04/16 08:17:18 wiz Exp $ +.\" $NetBSD: libnetpgp.3,v 1.23 2018/04/29 14:21:16 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 15, 2018 +.Dd April 29, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -79,6 +79,10 @@ The following functions are for variable .Fo netpgp_incvar .Fa "netpgp_t *netpgp" "const char *name" "const int delta" .Fc +.Ft int +.Fo netpgp_unsetvar +.Fa "netpgp_t *netpgp" "const char *name" +.Fc .Pp The following function sets the home directory: .Ft int @@ -92,8 +96,20 @@ The following functions are used for key .Fa "netpgp_t *netpgp" "const int printsigs" .Fc .Ft int -.Fo netpgp_match_list_keys -.Fa "netpgp_t *netpgp" "char *pattern" +.Fo netpgp_list_keys_json +.Fa "netpgp_t *netpgp" "char **json" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_keys +.Fa "netpgp_t *netpgp" "char *name" "const char *fmt" "void *vp" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_keys_json +.Fa "netpgp_t *netpgp" "char **json" "char *name" "const char *fmt" "const int psigs" +.Fc +.Ft int +.Fo netpgp_match_pubkeys +.Fa "netpgp_t *netpgp" "char *name" "void *vp" .Fc .Ft int .Fo netpgp_find_key @@ -101,7 +117,7 @@ The following functions are used for key .Fc .Ft char * .Fo netpgp_get_key -.Fa "netpgp_t *netpgp" "const char *id" +.Fa "netpgp_t *netpgp" "const char *name" "const char *fmt" .Fc .Ft int .Fo netpgp_export_key @@ -115,31 +131,39 @@ The following functions are used for key .Fo netpgp_generate_key .Fa "netpgp_t *netpgp" "char *userid" "int numbits" .Fc +.Ft int +.Fo netpgp_validate_sigs +.Fa "netpgp_t *netpgp" +.Fc +.Ft int +.Fo netpgp_format_json +.Fa "void *vp" "const char *json" "const int psigs" +.Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "const char *userid" "const char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "netpgp_t *netpgp" "const char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "const char *userid" "const char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "netpgp_t *netpgp" "char *f" "int armored" +.Fa "netpgp_t *netpgp" "const char *in" "const char *out" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "netpgp_t *netpgp" "const char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int @@ -206,13 +230,6 @@ To list all the keys in a keyring, the function is used. The signature subkey fields can also be displayed using this function. -The -.Fn netpgp_match_list_keys -function is used to match (via regular expression) -a subset of the keys in the keyring. -If the expression to match is NULL, -the search will degenerate into a -listing of all keys in the keyring. .Pp The home directory is specified as an internal variable, and its existence is checked using the
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: wiz Date: Mon Apr 16 08:17:18 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Remove trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: wiz Date: Mon Apr 16 08:17:18 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Remove trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.22 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 Sun Apr 15 23:00:36 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Mon Apr 16 08:17:18 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.21 2018/04/15 23:00:36 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.22 2018/04/16 08:17:18 wiz Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -173,7 +173,7 @@ Normal operation sees the process be initialised using the .Fn netpgp_init function, which will set up the public and private keyrings, as well as set the -user identity in the +user identity in the .Ar userid member of the .Dv netpgp_t
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 15 23:00:36 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Break down explanation of netpgp_init to make it easier to extend. Document how the userid is obtained. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.21 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 Wed Apr 4 21:39:35 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 15 23:00:36 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.20 2018/04/04 21:39:35 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.21 2018/04/15 23:00:36 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 3, 2018 +.Dd April 15, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -172,12 +172,13 @@ Normal operation sees the .Nm process be initialised using the .Fn netpgp_init -function, which will set up the public and private keyrings, and set the -user identity to the +function, which will set up the public and private keyrings, as well as set the +user identity in the .Ar userid -argument passed stored in the +member of the .Dv netpgp_t -structure, and set using the +structure. +These are set using the .Fn netpgp_setvar function. If no public key ring file is set, initial values will be taken from those @@ -189,6 +190,13 @@ initial values will be taken from those in the .Pa .gnupg/secring.gpg file in the user's home directory. +The user identity is obtained from the +.Ev userid +environment variable, or failing that, the value of the +.Dq default-key +setting from +.Pa .gnupg/gpg.conf +file in the user's home directory is used. The .Fn netpgp_init function returns 1 on success, 0 on failure.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 15 23:00:36 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Break down explanation of netpgp_init to make it easier to extend. Document how the userid is obtained. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Wed Apr 4 21:39:35 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Drop superfluous zero prefix for single digit number days. heads up by wiz To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.12 -r1.13 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Wed Apr 4 21:39:35 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Drop superfluous zero prefix for single digit number days. heads up by wiz To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.5 -r1.6 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.8 -r1.9 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.12 -r1.13 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.20 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.19 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.20 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.6 --- src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgpbn.3,v 1.5 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libnetpgpbn.3,v 1.6 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks.\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBNETPGPBN 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.9 --- src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libmj.3,v 1.8 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: libmj.3,v 1.9 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt LIBMJ 3 .Os .Sh NAME Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.13 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 Tue Apr 3 21:57:14 2018 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Wed Apr 4 21:39:35 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.12 2018/04/03 21:57:14 sevan Exp $ +.\" $NetBSD: netpgpverify.1,v 1.13 2018/04/04 21:39:35 sevan Exp $ .\" .\" Copyright (c) 2013,2014,2015 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 03, 2018 +.Dd April 3, 2018 .Dt NETPGPVERIFY 1 .Os .Sh NAME
Re: CVS commit: src/crypto/external/bsd/netpgp/dist/src
In article <20180403220010.ga5...@britannica.bec.de>, Joerg Sonnenbergerwrote: >On Tue, Apr 03, 2018 at 09:57:15PM +, Sevan Janiyan wrote: >> 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. > >This is not a very useful commit message... I was typing the same thing :-) christos
Re: CVS commit: src/crypto/external/bsd/netpgp/dist/src
On Tue, Apr 03, 2018 at 09:57:15PM +, Sevan Janiyan wrote: > 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. This is not a very useful commit message... Joerg
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Tue Apr 3 21:57:15 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Some further changes from PR bin/48395. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.19 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 Mon Apr 2 10:30:06 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.18 2018/04/02 10:30:06 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.19 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -223,13 +223,13 @@ Output is sent to the standard output. .Pp To import a key onto the public keyring, the .Fn netpgp_import_key -is used. +function is used. The name of the file containing the key to be imported is provided as the filename argument. .Pp To generate a key, the .Fn netpgp_generate_key -is used. +function is used. It takes an argument of the number of bits to use in the key. At the time that this manual page was created (April 2009), the recommendations are that the bare minimum key size Index: src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.4 src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.5 --- src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3:1.4 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgpbn.3,v 1.4 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libnetpgpbn.3,v 1.5 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks.\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBNETPGPBN 3 .Os .Sh NAME @@ -257,7 +257,7 @@ in the buffer called .Va buf where -.Dq USERNAME +.Dq USER is the name of the user taken from the runtime environment. The encoded text will be in an allocated buffer called .Va s . Index: src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 diff -u src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.7 src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.8 --- src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3:1.7 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libmj.3,v 1.7 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libmj.3,v 1.8 2018/04/03 21:57:14 sevan Exp $ .\" .\" Copyright (c) 2010 Alistair Crooks .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 03, 2018 .Dt LIBMJ 3 .Os .Sh NAME @@ -227,10 +227,10 @@ in the buffer called .Va buf where -.Dq USERNAME +.Dq USER is the name of the user taken from the runtime environment. The encoded text will be in an allocated buffer called -.Va s +.Va s . .Bd -literal -offset indent mj_t atom; char buf[BUFSIZ]; Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.11 Mon Apr 17 19:50:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Tue Apr 3 21:57:14 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.11 2017/04/17 19:50:28 agc Exp $ +.\"
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: sevan Date: Tue Apr 3 21:57:15 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 src/crypto/external/bsd/netpgp/dist/src/libbn: libnetpgpbn.3 src/crypto/external/bsd/netpgp/dist/src/libmj: libmj.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Some further changes from PR bin/48395. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 cvs rdiff -u -r1.4 -r1.5 \ src/crypto/external/bsd/netpgp/dist/src/libbn/libnetpgpbn.3 cvs rdiff -u -r1.7 -r1.8 \ src/crypto/external/bsd/netpgp/dist/src/libmj/libmj.3 cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Mon Apr 2 10:30:07 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Revert previous change as the typedef should now work as intended. Thanks christos, martin To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.18 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 Sun Apr 1 23:25:27 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Mon Apr 2 10:30:06 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.17 2018/04/01 23:25:27 sevan Exp $ +.\" $NetBSD: libnetpgp.3,v 1.18 2018/04/02 10:30:06 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 02, 2018 +.Dd February 16, 2014 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -41,11 +41,11 @@ The following functions relate to initialisations and finalisations: .Ft int .Fo netpgp_init -.Fa "struct netpgp_t *netpgp" +.Fa "netpgp_t *netpgp" .Fc .Ft int .Fo netpgp_end -.Fa "struct netpgp_t *netpgp" +.Fa "netpgp_t *netpgp" .Fc .Pp The following functions are for debugging, reflection and information: @@ -63,99 +63,99 @@ The following functions are for debuggin .Fc .Ft int .Fo netpgp_list_packets -.Fa "struct netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" +.Fa "netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" .Fc .Pp The following functions are for variable management: .Ft int .Fo netpgp_setvar -.Fa "struct netpgp_t *netpgp" "const char *name" "const char *value" +.Fa "netpgp_t *netpgp" "const char *name" "const char *value" .Fc .Ft char * .Fo netpgp_getvar -.Fa "struct netpgp_t *netpgp" "const char *name" +.Fa "netpgp_t *netpgp" "const char *name" .Fc .Ft int .Fo netpgp_incvar -.Fa "struct netpgp_t *netpgp" "const char *name" "const int delta" +.Fa "netpgp_t *netpgp" "const char *name" "const int delta" .Fc .Pp The following function sets the home directory: .Ft int .Fo netpgp_set_homedir -.Fa "struct netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" +.Fa "netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" .Fc .Pp The following functions are used for key management: .Ft int .Fo netpgp_list_keys -.Fa "struct netpgp_t *netpgp" "const int printsigs" +.Fa "netpgp_t *netpgp" "const int printsigs" .Fc .Ft int .Fo netpgp_match_list_keys -.Fa "struct netpgp_t *netpgp" "char *pattern" +.Fa "netpgp_t *netpgp" "char *pattern" .Fc .Ft int .Fo netpgp_find_key -.Fa "struct netpgp_t *netpgp" "char *userid" +.Fa "netpgp_t *netpgp" "char *userid" .Fc .Ft char * .Fo netpgp_get_key -.Fa "struct netpgp_t *netpgp" "const char *id" +.Fa "netpgp_t *netpgp" "const char *id" .Fc .Ft int .Fo netpgp_export_key -.Fa "struct netpgp_t *netpgp" "char *userid" +.Fa "netpgp_t *netpgp" "char *userid" .Fc .Ft int .Fo netpgp_import_key -.Fa "struct netpgp_t *netpgp" "char *file" +.Fa "netpgp_t *netpgp" "char *file" .Fc .Ft int .Fo netpgp_generate_key -.Fa "struct netpgp_t *netpgp" "char *userid" "int numbits" +.Fa "netpgp_t *netpgp" "char *userid" "int numbits" .Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "struct netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "struct netpgp_t *netpgp" "char *f" "int armored" +.Fa "netpgp_t *netpgp" "char *f" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "struct netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int .Fo netpgp_decrypt_memory -.Fa "struct netpgp_t *netpgp" "const void *input" "const size_t insize" +.Fa "netpgp_t *netpgp" "const void *input" "const size_t insize" .Fa "char *out" "size_t outsize"
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Mon Apr 2 10:30:07 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: Revert previous change as the typedef should now work as intended. Thanks christos, martin To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Re: CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
In article <20180401232528.1e523f...@cvs.netbsd.org>, Sevan Janiyanwrote: >-=-=-=-=-=- > >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 Yes, it is a struct tag, but also a type as the _t indicates. So the man page was correct before (and it is correct now, but this was not the intention of the typedef). It should be backed out... christos
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 1 23:25:28 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: netpgp_t is a structure To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.16 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.17 --- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.16 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Sun Apr 1 23:25:27 2018 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnetpgp.3,v 1.16 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: libnetpgp.3,v 1.17 2018/04/01 23:25:27 sevan Exp $ .\" .\" Copyright (c) 2009,2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 16, 2014 +.Dd April 02, 2018 .Dt LIBNETPGP 3 .Os .Sh NAME @@ -41,11 +41,11 @@ The following functions relate to initialisations and finalisations: .Ft int .Fo netpgp_init -.Fa "netpgp_t *netpgp" +.Fa "struct netpgp_t *netpgp" .Fc .Ft int .Fo netpgp_end -.Fa "netpgp_t *netpgp" +.Fa "struct netpgp_t *netpgp" .Fc .Pp The following functions are for debugging, reflection and information: @@ -63,99 +63,99 @@ The following functions are for debuggin .Fc .Ft int .Fo netpgp_list_packets -.Fa "netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" +.Fa "struct netpgp_t *netpgp" "char *filename" "int armour" "char *pubringname" .Fc .Pp The following functions are for variable management: .Ft int .Fo netpgp_setvar -.Fa "netpgp_t *netpgp" "const char *name" "const char *value" +.Fa "struct netpgp_t *netpgp" "const char *name" "const char *value" .Fc .Ft char * .Fo netpgp_getvar -.Fa "netpgp_t *netpgp" "const char *name" +.Fa "struct netpgp_t *netpgp" "const char *name" .Fc .Ft int .Fo netpgp_incvar -.Fa "netpgp_t *netpgp" "const char *name" "const int delta" +.Fa "struct netpgp_t *netpgp" "const char *name" "const int delta" .Fc .Pp The following function sets the home directory: .Ft int .Fo netpgp_set_homedir -.Fa "netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" +.Fa "struct netpgp_t *netpgp" "char *homedir" "char *subdir" "const int quiet" .Fc .Pp The following functions are used for key management: .Ft int .Fo netpgp_list_keys -.Fa "netpgp_t *netpgp" "const int printsigs" +.Fa "struct netpgp_t *netpgp" "const int printsigs" .Fc .Ft int .Fo netpgp_match_list_keys -.Fa "netpgp_t *netpgp" "char *pattern" +.Fa "struct netpgp_t *netpgp" "char *pattern" .Fc .Ft int .Fo netpgp_find_key -.Fa "netpgp_t *netpgp" "char *userid" +.Fa "struct netpgp_t *netpgp" "char *userid" .Fc .Ft char * .Fo netpgp_get_key -.Fa "netpgp_t *netpgp" "const char *id" +.Fa "struct netpgp_t *netpgp" "const char *id" .Fc .Ft int .Fo netpgp_export_key -.Fa "netpgp_t *netpgp" "char *userid" +.Fa "struct netpgp_t *netpgp" "char *userid" .Fc .Ft int .Fo netpgp_import_key -.Fa "netpgp_t *netpgp" "char *file" +.Fa "struct netpgp_t *netpgp" "char *file" .Fc .Ft int .Fo netpgp_generate_key -.Fa "netpgp_t *netpgp" "char *userid" "int numbits" +.Fa "struct netpgp_t *netpgp" "char *userid" "int numbits" .Fc .Pp The following functions are used for file management: .Ft int .Fo netpgp_encrypt_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" .Fc .Ft int .Fo netpgp_decrypt_file -.Fa "netpgp_t *netpgp" "char *filename" "char *out" "int armored" +.Fa "struct netpgp_t *netpgp" "char *filename" "char *out" "int armored" .Fc .Ft int .Fo netpgp_sign_file -.Fa "netpgp_t *netpgp" "char *userid" "char *filename" "char *out" +.Fa "struct netpgp_t *netpgp" "char *userid" "char *filename" "char *out" .Fa "int armored" "int cleartext" "int detached" .Fc .Ft int .Fo netpgp_verify_file -.Fa "netpgp_t *netpgp" "char *f" "int armored" +.Fa "struct netpgp_t *netpgp" "char *f" "int armored" .Fc .Pp The following functions are used for memory signing and encryption: .Ft int .Fo netpgp_encrypt_memory -.Fa "netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" +.Fa "struct netpgp_t *netpgp" "char *userid" "void *in" "const size_t insize" .Fa "char *out" "size_t outsize" "int armored" .Fc .Ft int .Fo netpgp_decrypt_memory -.Fa "netpgp_t *netpgp" "const void *input" "const size_t insize" +.Fa "struct netpgp_t *netpgp" "const void *input" "const size_t insize" .Fa "char *out" "size_t outsize" "const int armored" .Fc .Ft int .Fo netpgp_sign_memory -.Fa
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: sevan Date: Sun Apr 1 23:25:28 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: libnetpgp.3 Log Message: netpgp_t is a structure To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 \ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: christos Date: Mon Feb 5 23:56:01 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: openssl_crypto.c signature.c src/crypto/external/bsd/netpgp/dist/src/netpgp: Makefile Log Message: centralize the conversion functions and make this work with both openssl-1.0 and 1.1 To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c cvs rdiff -u -r1.37 -r1.38 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: christos Date: Mon Feb 5 23:56:01 UTC 2018 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: openssl_crypto.c signature.c src/crypto/external/bsd/netpgp/dist/src/netpgp: Makefile Log Message: centralize the conversion functions and make this work with both openssl-1.0 and 1.1 To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c cvs rdiff -u -r1.37 -r1.38 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.33 src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.34 --- src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.33 Sun Nov 7 03:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c Mon Feb 5 18:56:01 2018 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: openssl_crypto.c,v 1.33 2010/11/07 08:39:59 agc Exp $"); +__RCSID("$NetBSD: openssl_crypto.c,v 1.34 2018/02/05 23:56:01 christos Exp $"); #endif #ifdef HAVE_OPENSSL_DSA_H @@ -89,18 +89,144 @@ __RCSID("$NetBSD: openssl_crypto.c,v 1.3 #include "netpgpdigest.h" #include "packet.h" +static void +takeRSA(const RSA *orsa, pgp_rsa_pubkey_t *pk, pgp_rsa_seckey_t *sk) +{ + const BIGNUM *n, *e, *d, *q, *p; +#if OPENSSL_VERSION_NUMBER >= 0x1010L + RSA_get0_key(orsa, , , ); + 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
Module Name:src Committed By: khorben Date: Sun Apr 9 23:03:51 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: No longer hard-code the suffix length This will avoid a buffer overflow if the suffix changes; it is currently hard-coded as either "asc" or "sig". Submitted on tech-pkg@ as: [PATCH 10/11] No longer hard-code the suffix length To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.37 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 Sun Apr 9 22:48:39 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 23:03:50 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.36 2017/04/09 22:48:39 khorben Exp $"); +__RCSID("$NetBSD: signature.c,v 1.37 2017/04/09 23:03:50 khorben Exp $"); #endif #include @@ -909,7 +909,7 @@ open_output_file(pgp_output_t **output, fd = pgp_setup_file_write(output, outname, overwrite); } } else { - size_t flen = strlen(inname) + 4 + 1; + size_t flen = strlen(inname) + 1 + strlen(suffix) + 1; char *f = NULL; if ((f = calloc(1, flen)) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22:48:39 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: Output signatures to the standard output for "-" This is to reflect the behaviour documented in netpgp(1). Submitted on tech-pkg@ as: [PATCH 09/11] Output signatures to the standard output for "-" Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.36 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 Sun Apr 9 22:44:34 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 22:48:39 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.35 2017/04/09 22:44:34 khorben Exp $"); +__RCSID("$NetBSD: signature.c,v 1.36 2017/04/09 22:48:39 khorben Exp $"); #endif #include @@ -903,7 +903,11 @@ open_output_file(pgp_output_t **output, /* setup output file */ if (outname) { - fd = pgp_setup_file_write(output, outname, overwrite); + if (strcmp(outname, "-") == 0) { + fd = pgp_setup_file_write(output, NULL, overwrite); + } else { + fd = pgp_setup_file_write(output, outname, overwrite); + } } else { size_t flen = strlen(inname) + 4 + 1; char *f = NULL;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22: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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22:44:34 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: Avoid a type cast No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.34 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.35 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.34 Mon Mar 5 02:20:18 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Sun Apr 9 22:44:34 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: signature.c,v 1.34 2012/03/05 02:20:18 christos Exp $"); +__RCSID("$NetBSD: signature.c,v 1.35 2017/04/09 22:44:34 khorben Exp $"); #endif #include @@ -905,7 +905,7 @@ open_output_file(pgp_output_t **output, if (outname) { fd = pgp_setup_file_write(output, outname, overwrite); } else { - unsignedflen = (unsigned)(strlen(inname) + 4 + 1); + size_t flen = strlen(inname) + 4 + 1; char *f = NULL; if ((f = calloc(1, flen)) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Sun Apr 9 22:44:34 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: signature.c Log Message: Avoid a type cast No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21:34:32 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 Log Message: Also document alternate option "--detach" Submitted on tech-pkg@ as: [PATCH 08/11] Also document alternate option "--detach" To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.21 --- src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 Mon Mar 27 21:30:23 2017 +++ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Mon Mar 27 21:34:32 2017 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgp.1,v 1.20 2017/03/27 21:30:23 khorben Exp $ +.\" $NetBSD: netpgp.1,v 1.21 2017/03/27 21:34:32 khorben Exp $ .\" .\" Copyright (c) 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -216,7 +216,7 @@ access to the cipher used. The default cipher algorithm is the .Dq CAST5 algorithm. -.It Fl Fl detached +.It Fl Fl detach , Fl Fl detached When signing a file, place the resulting signature in a separate file from the one being signed. .It Fl Fl hash-alg Ar hash-algorithm
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21: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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21:30:23 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 Log Message: Correct option "--armor" Submitted on tech-pkg@ as: [PATCH 07/11] Correct option "--armor" To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgp
Module Name:src Committed By: khorben Date: Mon Mar 27 21:30:23 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgp: netpgp.1 Log Message: Correct option "--armor" Submitted on tech-pkg@ as: [PATCH 07/11] Correct option "--armor" To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 \ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.19 src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.20 --- src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1:1.19 Mon Feb 17 07:23:18 2014 +++ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1 Mon Mar 27 21:30:23 2017 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgp.1,v 1.19 2014/02/17 07:23:18 agc Exp $ +.\" $NetBSD: netpgp.1,v 1.20 2017/03/27 21:30:23 khorben Exp $ .\" .\" Copyright (c) 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -203,7 +203,7 @@ library. In addition to one of the preceding commands, a number of qualifiers or options may be given. .Bl -tag -width Ar -.It Fl Fl armour , Fl armor +.It Fl Fl armour , Fl Fl armor This option, however it is spelled, wraps the signature as an ASCII-encoded piece of text, for ease of use. .It Fl Fl cipher Ar ciphername
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:19:12 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not ask for a passphrase when empty Submitted on tech-pkg@ as: [PATCH 06/11] Do not ask for a passphrase when empty Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.55 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 Mon Mar 27 21:06:50 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:19:12 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.54 2017/03/27 21:06:50 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.55 2017/03/27 21:19:12 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -226,7 +226,7 @@ typedef struct { pgp_seckey_t *seckey; } decrypt_t; -static pgp_cb_ret_t +static pgp_cb_ret_t decrypt_cb(const pgp_packet_t *pkt, pgp_cbdata_t *cbinfo) { const pgp_contents_t *content = >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
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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:06:50 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h Log Message: Expect a FILE * for pgp_decrypt_seckey() Submitted on tech-pkg@ as: [PATCH 05/11] Expect a FILE * for pgp_decrypt_seckey() No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:06:50 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h Log Message: Expect a FILE * for pgp_decrypt_seckey() Submitted on tech-pkg@ as: [PATCH 05/11] Expect a FILE * for pgp_decrypt_seckey() No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.33 -r1.34 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.54 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 Mon Mar 27 21:00:43 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:06:50 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.53 2017/03/27 21:00:43 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.54 2017/03/27 21:06:50 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -302,7 +302,7 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ \return secret key */ pgp_seckey_t * -pgp_decrypt_seckey(const pgp_key_t *key, void *passfp) +pgp_decrypt_seckey(const pgp_key_t *key, FILE *passfp) { pgp_stream_t *stream; const int printerrors = 1; Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.34 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 Mon Mar 27 20:55:13 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Mon Mar 27 21:06:50 2017 @@ -53,6 +53,7 @@ #ifndef KEYRING_H_ #define KEYRING_H_ +#include #include "packet.h" #include "packet-parse.h" #include "mj.h" @@ -91,7 +92,7 @@ const pgp_pubkey_t *pgp_get_pubkey(const unsigned pgp_is_key_secret(const pgp_key_t *); const pgp_seckey_t *pgp_get_seckey(const pgp_key_t *); pgp_seckey_t *pgp_get_writable_seckey(pgp_key_t *); -pgp_seckey_t *pgp_decrypt_seckey(const pgp_key_t *, void *); +pgp_seckey_t *pgp_decrypt_seckey(const pgp_key_t *, FILE *); unsigned pgp_keyring_fileread(pgp_keyring_t *, const unsigned, const char *);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 21:00:43 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not use random data for pass-phrases on EOF Submitted on tech-pkg@ as: [PATCH 04/11] Do not use random data for pass-phrases on EOF Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.53 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 Mon Mar 27 20:55:13 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 21:00:43 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.52 2017/03/27 20:55:13 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.53 2017/03/27 21:00:43 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -244,7 +244,9 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ break; case PGP_GET_PASSPHRASE: - (void) pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)); + if (pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)) == 0) { + pass[0] = '\0'; + } *content->skey_passphrase.passphrase = netpgp_strdup(pass); pgp_forget(pass, sizeof(pass)); return PGP_KEEP_MEMORY;
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20:55:13 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c keyring.h netpgp.c Log Message: Avoid some type casts Submitted on tech-pkg@ as: [PATCH 03/11] Avoid some type casts No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.32 -r1.33 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h cvs rdiff -u -r1.100 -r1.101 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.52 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 Mon Feb 20 00:51:08 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Mar 27 20:55:13 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.51 2017/02/20 00:51:08 khorben Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.52 2017/03/27 20:55:13 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -214,7 +214,7 @@ pgp_get_writable_seckey(pgp_key_t *data) /* utility function to zero out memory */ void -pgp_forget(void *vp, unsigned size) +pgp_forget(void *vp, size_t size) { (void) memset(vp, 0x0, size); } @@ -246,7 +246,7 @@ decrypt_cb(const pgp_packet_t *pkt, pgp_ case PGP_GET_PASSPHRASE: (void) pgp_getpassphrase(decrypt->passfp, pass, sizeof(pass)); *content->skey_passphrase.passphrase = netpgp_strdup(pass); - pgp_forget(pass, (unsigned)sizeof(pass)); + pgp_forget(pass, sizeof(pass)); return PGP_KEEP_MEMORY; case PGP_PARSER_ERRCODE: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.32 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.33 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.32 Sun Nov 7 08:39:59 2010 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Mon Mar 27 20:55:13 2017 @@ -100,7 +100,7 @@ int pgp_keyring_list(pgp_io_t *, const p int pgp_keyring_json(pgp_io_t *, const pgp_keyring_t *, mj_t *, const int); void pgp_set_seckey(pgp_contents_t *, const pgp_key_t *); -void pgp_forget(void *, unsigned); +void pgp_forget(void *, size_t); const uint8_t *pgp_get_key_id(const pgp_key_t *); unsigned pgp_get_userid_count(const pgp_key_t *); Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.101 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 Fri Feb 24 01:26:17 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Mar 27 20:55:13 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.100 2017/02/24 01:26:17 khorben Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.101 2017/03/27 20:55:13 khorben Exp $"); #endif #include @@ -1411,7 +1411,7 @@ netpgp_sign_file(netpgp_t *netpgp, (unsigned)armored, (unsigned)cleartext, overwrite); } - pgp_forget(seckey, (unsigned)sizeof(*seckey)); + pgp_forget(seckey, sizeof(*seckey)); return ret; } @@ -1542,7 +1542,7 @@ netpgp_sign_memory(netpgp_t *netpgp, } else { ret = 0; } - pgp_forget(seckey, (unsigned)sizeof(*seckey)); + pgp_forget(seckey, sizeof(*seckey)); return ret; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20: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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20:50:19 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Do not truncate pass-phrases without a newline character This also fixes a crash when the pass-phrase entered is empty. Submitted on tech-pkg@ as: [PATCH 02/11] Do not truncate pass-phrases without a newline character Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Mar 27 20:50:19 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Do not truncate pass-phrases without a newline character This also fixes a crash when the pass-phrase entered is empty. Submitted on tech-pkg@ as: [PATCH 02/11] Do not truncate pass-phrases without a newline character Only modified for consistency with the coding style. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.52 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 Fri Feb 24 01:27:14 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Mon Mar 27 20:50:19 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.51 2017/02/24 01:27:14 khorben Exp $"); +__RCSID("$NetBSD: reader.c,v 1.52 2017/03/27 20:50:19 khorben Exp $"); #endif #include @@ -160,6 +160,7 @@ int pgp_getpassphrase(void *in, char *phrase, size_t size) { char *p; + size_t len; if (in == NULL) { while ((p = getpass("netpgp passphrase: ")) == NULL) { @@ -169,7 +170,10 @@ pgp_getpassphrase(void *in, char *phrase if (fgets(phrase, (int)size, in) == NULL) { return 0; } - phrase[strlen(phrase) - 1] = 0x0; + len = strlen(phrase); + if (len >= 1 && phrase[len - 1] == '\n') { + phrase[len - 1] = '\0'; + } } return 1; }
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Fri Feb 24 01:27:14 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Revert "Remove a useless loop around getpass()" getpass(3) may return NULL upon failures on Linux, and netpgp should remain portable to other systems. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.51 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 Mon Feb 20 01:33:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Fri Feb 24 01:27:14 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.50 2017/02/20 01:33:28 khorben Exp $"); +__RCSID("$NetBSD: reader.c,v 1.51 2017/02/24 01:27:14 khorben Exp $"); #endif #include @@ -162,7 +162,8 @@ pgp_getpassphrase(void *in, char *phrase char *p; if (in == NULL) { - p = getpass("netpgp passphrase: "); + while ((p = getpass("netpgp passphrase: ")) == NULL) { + } (void) snprintf(phrase, size, "%s", p); } else { if (fgets(phrase, (int)size, in) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Fri Feb 24 01:27:14 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Revert "Remove a useless loop around getpass()" getpass(3) may return NULL upon failures on Linux, and netpgp should remain portable to other systems. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: khorben Date: Fri Feb 24 01:26:17 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c src/crypto/external/bsd/netpgp/dist/src/librsa: rsastubs.c Log Message: Revert "Remove a useless loop around getpass()" getpass(3) may return NULL upon failures on Linux, and netpgp should remain portable to other systems. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.100 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.3 -r1.4 \ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.100 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 Mon Feb 20 01:38:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Fri Feb 24 01:26:17 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.99 2017/02/20 01:38:28 khorben Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.100 2017/02/24 01:26:17 khorben Exp $"); #endif #include @@ -740,10 +740,14 @@ find_passphrase(FILE *passfp, const char } for (i = 0 ; i < attempts ; i++) { (void) snprintf(prompt, sizeof(prompt), "Enter passphrase for %.16s: ", id); - cp = getpass(prompt); + if ((cp = getpass(prompt)) == NULL) { + break; + } cc = snprintf(buf, sizeof(buf), "%s", cp); (void) snprintf(prompt, sizeof(prompt), "Repeat passphrase for %.16s: ", id); - cp = getpass(prompt); + if ((cp = getpass(prompt)) == NULL) { + break; + } cc = snprintf(passphrase, size, "%s", cp); if (strcmp(buf, passphrase) == 0) { (void) memset(buf, 0x0, sizeof(buf)); Index: src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c diff -u src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 Mon Feb 20 01:38:28 2017 +++ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Fri Feb 24 01:26:17 2017 @@ -43,7 +43,9 @@ pass_cb(char *buf, int size, int rwflag, USE_ARG(rwflag); snprintf(prompt, sizeof(prompt), "\"%s\" passphrase: ", (char *)u); - passphrase = getpass(prompt); + if ((passphrase = getpass(prompt)) == NULL) { + return -1; + } (void) memcpy(buf, passphrase, (size_t)size); return (int)strlen(passphrase); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: khorben Date: 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.
Re: CVS commit: src/crypto/external/bsd/netpgp/dist/src
Thanks, but I'd really like it if netpgp would work the same on all pkgsrc platforms: The linux man page for getpass(3) (https://linux.die.net/man/3/getpass) says: The function *getpass*() returns a pointer to a static buffer containing (the first *PASS_MAX* bytes of) the password without the trailing newline, terminated by a null byte ('\0'). This buffer may be overwritten by a following call. On error, the terminal state is restored, *errno* is set appropriately, and NULL is returned. On 19 February 2017 at 17:38, Pierre Proncherywrote: > 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. > >
CVS commit: src/crypto/external/bsd/netpgp/dist/src
Module Name:src Committed By: khorben Date: Mon Feb 20 01:38:28 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c src/crypto/external/bsd/netpgp/dist/src/librsa: rsastubs.c Log Message: Remove a useless loop around getpass() According to getpass(3), this library function cannot return NULL. Verified with a source code inspection. To generate a diff of this commit: cvs rdiff -u -r1.98 -r1.99 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.99 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 Tue Jun 28 16:34:40 2016 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Feb 20 01:38:28 2017 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.98 2016/06/28 16:34:40 christos Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.99 2017/02/20 01:38:28 khorben Exp $"); #endif #include @@ -740,14 +740,10 @@ find_passphrase(FILE *passfp, const char } for (i = 0 ; i < attempts ; i++) { (void) snprintf(prompt, sizeof(prompt), "Enter passphrase for %.16s: ", id); - if ((cp = getpass(prompt)) == NULL) { - break; - } + cp = getpass(prompt); cc = snprintf(buf, sizeof(buf), "%s", cp); (void) snprintf(prompt, sizeof(prompt), "Repeat passphrase for %.16s: ", id); - if ((cp = getpass(prompt)) == NULL) { - break; - } + cp = getpass(prompt); cc = snprintf(passphrase, size, "%s", cp); if (strcmp(buf, passphrase) == 0) { (void) memset(buf, 0x0, sizeof(buf)); Index: src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c diff -u src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.2 src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c:1.2 Tue Nov 20 05:26:25 2012 +++ src/crypto/external/bsd/netpgp/dist/src/librsa/rsastubs.c Mon Feb 20 01:38:28 2017 @@ -43,9 +43,7 @@ pass_cb(char *buf, int size, int rwflag, USE_ARG(rwflag); snprintf(prompt, sizeof(prompt), "\"%s\" passphrase: ", (char *)u); - if ((passphrase = getpass(prompt)) == NULL) { - return -1; - } + passphrase = getpass(prompt); (void) memcpy(buf, passphrase, (size_t)size); return (int)strlen(passphrase); }
CVS commit: src/crypto/external/bsd/netpgp/dist/src
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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 01:33:28 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Remove a useless loop around getpass() According to getpass(3), this library function cannot return NULL. Verified with a source code inspection. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 01:33:28 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: reader.c Log Message: Remove a useless loop around getpass() According to getpass(3), this library function cannot return NULL. Verified with a source code inspection. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.49 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.50 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.49 Mon Mar 5 02:20:18 2012 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Mon Feb 20 01:33:28 2017 @@ -54,7 +54,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: reader.c,v 1.49 2012/03/05 02:20:18 christos Exp $"); +__RCSID("$NetBSD: reader.c,v 1.50 2017/02/20 01:33:28 khorben Exp $"); #endif #include @@ -162,8 +162,7 @@ pgp_getpassphrase(void *in, char *phrase char *p; if (in == NULL) { - while ((p = getpass("netpgp passphrase: ")) == NULL) { - } + p = getpass("netpgp passphrase: "); (void) snprintf(phrase, size, "%s", p); } else { if (fgets(phrase, (int)size, in) == NULL) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 00:51:08 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not crash when listing keys without a keyring To test: (with an empty ~/.gnupg) $ netpgpkeys --import-key /dev/null Submitted on tech-pkg@ as: [PATCH 01/11] Do not crash when listing keys without a keyring Different patch for the same issue. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: khorben Date: Mon Feb 20 00:51:08 UTC 2017 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c Log Message: Do not crash when listing keys without a keyring To test: (with an empty ~/.gnupg) $ netpgpkeys --import-key /dev/null Submitted on tech-pkg@ as: [PATCH 01/11] Do not crash when listing keys without a keyring Different patch for the same issue. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.50 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.51 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.50 Sat Jun 25 00:37:44 2011 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Feb 20 00:51:08 2017 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.50 2011/06/25 00:37:44 agc Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.51 2017/02/20 00:51:08 khorben Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -993,9 +993,12 @@ pgp_keyring_list(pgp_io_t *io, const pgp { pgp_key_t *key; unsigned n; + unsigned keyc = (keyring != NULL) ? keyring->keyc : 0; - (void) fprintf(io->res, "%u key%s\n", keyring->keyc, - (keyring->keyc == 1) ? "" : "s"); + (void) fprintf(io->res, "%u key%s\n", keyc, (keyc == 1) ? "" : "s"); + if (keyring == NULL) { + return 1; + } for (n = 0, key = keyring->keys; n < keyring->keyc; ++n, ++key) { if (pgp_is_key_secret(key)) { pgp_print_keydata(io, keyring, key, "sec",
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: abhinav Date: Mon Sep 12 16:54:32 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: netpgpverify.1 Log Message: Add section number to the Xrefs Remove a blank space at the end of the line 130 (makes mandoc -Tlint happy) To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.9 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.10 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1:1.9 Fri Jan 30 18:58:59 2015 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1 Mon Sep 12 16:54:31 2016 @@ -1,4 +1,4 @@ -.\" $NetBSD: netpgpverify.1,v 1.9 2015/01/30 18:58:59 agc Exp $ +.\" $NetBSD: netpgpverify.1,v 1.10 2016/09/12 16:54:31 abhinav Exp $ .\" .\" Copyright (c) 2013,2014,2015 Alistair Crooks.\" All rights reserved. @@ -42,9 +42,9 @@ The implements digital signature verification. It is designed to be simple and standalone; no external libraries, except for -.Xr libz +.Xr libz 3 and -.Xr libbz2 +.Xr libbz2 3 are used, in order to ensure maximum portability. .Pp It is completely rewritten from the version of the program that appeared in @@ -128,7 +128,7 @@ Verification of a file's signature is be % netpgpverify -k pubring.gpg NetBSD-6.0_RC1_hashes.asc Good signature for NetBSD-6.0_RC1_hashes.asc made Thu Aug 23 11:47:50 2012 signature 4096/RSA (Encrypt or Sign) 064973ac4c4a706e 2009-06-23 -fingerprint ddee 2bdb 9c98 a0d1 d4fb dbf7 0649 73ac 4c4a 706e +fingerprint ddee 2bdb 9c98 a0d1 d4fb dbf7 0649 73ac 4c4a 706e uid NetBSD Security Officer % .Ed
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sat Sep 3 09:31:22 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Fix the error handling so that we print the earliest error message. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.11 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.12 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.11 Sun Aug 28 11:52:22 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sat Sep 3 05:31:22 2016 @@ -2085,8 +2085,10 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t { FILE *fp; char buf[BUFSIZ]; + int rv; if (cursor == NULL || pgp == NULL || p == NULL) { + snprintf(cursor->why, sizeof(cursor->why), "No input data"); return 0; } memset(cursor, 0x0, sizeof(*cursor)); @@ -2104,19 +2106,19 @@ setup_data(pgpv_cursor_t *cursor, pgpv_t return 0; } if (is_armored(buf, sizeof(buf))) { - read_ascii_armor_file(cursor, p); + rv = read_ascii_armor_file(cursor, p); } else { - read_binary_file(pgp, "signature", "%s", (const char *)p); + rv = read_binary_file(pgp, "signature", "%s", (const char *)p); } fclose(fp); } else { if (is_armored(p, (size_t)size)) { - read_ascii_armor_memory(cursor, p, (size_t)size); + rv = read_ascii_armor_memory(cursor, p, (size_t)size); } else { - read_binary_memory(pgp, "signature", p, (size_t)size); + rv = read_binary_memory(pgp, "signature", p, (size_t)size); } } - return 1; + return rv; } /* get the data and size from litdata packet */ @@ -2780,7 +2782,6 @@ pgpv_verify(pgpv_cursor_t *cursor, pgpv_ return 0; } if (!setup_data(cursor, pgp, p, size)) { - snprintf(cursor->why, sizeof(cursor->why), "No input data"); return 0; } if (ARRAY_COUNT(cursor->pgp->pkts) == ARRAY_LAST(cursor->pgp->datastarts) + 1) {
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: 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.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sun Aug 28 15:52:22 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Avoid segv when the end signature is not found! To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.10 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.11 --- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c:1.10 Wed Jun 15 11:47:50 2016 +++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Sun Aug 28 11:52:22 2016 @@ -2016,7 +2016,7 @@ read_ascii_armor(pgpv_cursor_t *cursor, litdata.s.data = p; litdata.u.litdata.offset = (size_t)(p - mem->mem); litdata.u.litdata.filename = (uint8_t *)strdup(filename); - if ((p = find_bin_string(datastart = p, mem->size - litdata.offset, SIGSTART, strlen(SIGSTART))) == NULL) { + if ((p = find_bin_string(datastart = p, mem->size - litdata.offset, SIGSTART, sizeof(SIGSTART) - 1)) == NULL) { snprintf(cursor->why, sizeof(cursor->why), "malformed armor - no sig - at %zu", (size_t)(p - mem->mem)); return 0; @@ -2030,7 +2030,13 @@ read_ascii_armor(pgpv_cursor_t *cursor, return 0; } p += 2; - sigend = find_bin_string(p, mem->size, SIGEND, strlen(SIGEND)); + sigend = find_bin_string(p, mem->size, SIGEND, sizeof(SIGEND) - 1); + if (sigend == NULL) { + snprintf(cursor->why, sizeof(cursor->why), + "malformed armor - no end sig - at %zu", + (size_t)(p - mem->mem)); + return 0; + } binsigsize = b64decode((char *)p, (size_t)(sigend - p), binsig, sizeof(binsig)); read_binary_memory(cursor->pgp, "signature", cons_onepass, 15);
CVS commit: src/crypto/external/bsd/netpgp/dist/src/netpgpverify
Module Name:src Committed By: christos Date: Sun Aug 28 15:52:22 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/netpgpverify: libverify.c Log Message: Avoid segv when the end signature is not found! To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 \ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: christos Date: Tue Jun 28 16:34:40 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: CID 977755: Resource leaks. To generate a diff of this commit: cvs rdiff -u -r1.97 -r1.98 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.97 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.98 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.97 Sun Feb 7 00:03:36 2016 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Tue Jun 28 12:34:40 2016 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.97 2016/02/07 05:03:36 agc Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.98 2016/06/28 16:34:40 christos Exp $"); #endif #include @@ -1186,6 +1186,7 @@ netpgp_generate_key(netpgp_t *netpgp, ch int passc; int fd; int cc; + int rv = 0; uid = NULL; io = netpgp->io; @@ -1212,13 +1213,13 @@ netpgp_generate_key(netpgp_t *netpgp, ch netpgp_setvar(netpgp, "generated userid", [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/lib
Module Name:src Committed By: christos Date: Tue Jun 28 16:34:40 UTC 2016 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: CID 977755: Resource leaks. To generate a diff of this commit: cvs rdiff -u -r1.97 -r1.98 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.