Module Name: src
Committed By: agc
Date: Mon Dec 14 23:29:57 UTC 2009
Modified Files:
src/crypto/external/bsd/netpgp: mkdist
src/crypto/external/bsd/netpgp/dist: TODO configure configure.ac tst
src/crypto/external/bsd/netpgp/dist/bindings/perl: netpgp.pl
src/crypto/external/bsd/netpgp/dist/include: netpgp.h
src/crypto/external/bsd/netpgp/dist/src/lib: Makefile.am Makefile.in
bufgap.c keyring.c libnetpgp.3 misc.c netpgp.c netpgpsdk.h
packet-print.c ssh2pgp.c
src/crypto/external/bsd/netpgp/dist/src/netpgp: Makefile netpgp.c
src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c
src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile
src/crypto/external/bsd/netpgp/lib: config.h
Log Message:
Prepare for a new netpgp-20091210 portable release.
Apart from infrastructure changes, there are the following functional ones:
+ Update to version 20091210
+ provide a new netpgp_match_list_keys(3) function to perform a
regular-expression based search of all the keys in the keyring. If no
pattern is specified to match, then all keys are returned.
+ provide a new netpgp_set_homedir(3) function, and use it to set the
home directory from the library, rather than individually in all the
programs which use the library
+ provide a new netpgp_incvar(3) function which will add a constant
increment (which may be negative) to the value of an internal
variable. This is primarily used for the verbosity level within the
library, and is again a movement of the function into the library from
the individual programs which use the library
+ move to the specification of an ssh key file by internal variable,
rather than the directory holding an ssh key file
+ autoconf infrastructure changes
+ take a hammer to the _GNU_SOURCE definitions problems
+ don't rely on strnlen(3) being present everywhere
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 src/crypto/external/bsd/netpgp/mkdist
cvs rdiff -u -r1.26 -r1.27 src/crypto/external/bsd/netpgp/dist/TODO
cvs rdiff -u -r1.19 -r1.20 src/crypto/external/bsd/netpgp/dist/configure
cvs rdiff -u -r1.18 -r1.19 src/crypto/external/bsd/netpgp/dist/configure.ac
cvs rdiff -u -r1.15 -r1.16 src/crypto/external/bsd/netpgp/dist/tst
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl
cvs rdiff -u -r1.12 -r1.13 \
src/crypto/external/bsd/netpgp/dist/include/netpgp.h
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am
cvs rdiff -u -r1.5 -r1.6 \
src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in
cvs rdiff -u -r1.2 -r1.3 src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c
cvs rdiff -u -r1.25 -r1.26 \
src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c \
src/crypto/external/bsd/netpgp/dist/src/lib/misc.c
cvs rdiff -u -r1.9 -r1.10 \
src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3
cvs rdiff -u -r1.32 -r1.33 \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c
cvs rdiff -u -r1.6 -r1.7 \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h
cvs rdiff -u -r1.22 -r1.23 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c
cvs rdiff -u -r1.4 -r1.5 \
src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c
cvs rdiff -u -r1.4 -r1.5 \
src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c
cvs rdiff -u -r1.5 -r1.6 \
src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile
cvs rdiff -u -r1.1 -r1.2 src/crypto/external/bsd/netpgp/lib/config.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/mkdist
diff -u src/crypto/external/bsd/netpgp/mkdist:1.1.1.1 src/crypto/external/bsd/netpgp/mkdist:1.2
--- src/crypto/external/bsd/netpgp/mkdist:1.1.1.1 Thu Apr 23 06:31:55 2009
+++ src/crypto/external/bsd/netpgp/mkdist Mon Dec 14 23:29:56 2009
@@ -1,6 +1,13 @@
#! /bin/sh
-t=$(date +%Y%m%d)
+case "$#" in
+0)
+ t=$(date +%Y%m%d)
+ ;;
+*)
+ t=$1
+ ;;
+esac
ac=ac.$$
awk -F, -v t=$t '/AC_INIT/ { printf("%s,[%s],%s\n", $1, t, $3); next} { print }' dist/configure.ac > $ac && mv $ac dist/configure.ac
(cd dist && autoconf && autoheader)
Index: src/crypto/external/bsd/netpgp/dist/TODO
diff -u src/crypto/external/bsd/netpgp/dist/TODO:1.26 src/crypto/external/bsd/netpgp/dist/TODO:1.27
--- src/crypto/external/bsd/netpgp/dist/TODO:1.26 Sat Dec 5 07:21:07 2009
+++ src/crypto/external/bsd/netpgp/dist/TODO Mon Dec 14 23:29:56 2009
@@ -10,10 +10,11 @@
separate from libcrypto?
64-bit offsets
thresholds
+Multiple recipients for encryption - ssss
default compression when signing?
elgamal enc/decryption?
-Multiple recipients for encryption
convert tests from ./tst to the autotest ./tests/
+hkpd
Done
====
@@ -74,3 +75,4 @@
failure to run if no userid in gpg.conf (even if --userid specified)
don't complain if no .gnupg dir (even when using --homedir)
make it work with ssh host keys
+regex matching for names and signatures
Index: src/crypto/external/bsd/netpgp/dist/configure
diff -u src/crypto/external/bsd/netpgp/dist/configure:1.19 src/crypto/external/bsd/netpgp/dist/configure:1.20
--- src/crypto/external/bsd/netpgp/dist/configure:1.19 Thu Jun 11 17:05:17 2009
+++ src/crypto/external/bsd/netpgp/dist/configure Mon Dec 14 23:29:56 2009
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.ac Revision: 1.17 .
+# From configure.ac Revision: 1.18 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for netpgp 20090611.
+# Generated by GNU Autoconf 2.63 for netpgp 20091210.
#
# Report bugs to <Alistair Crooks <[email protected]> c0596823>.
#
@@ -751,8 +751,8 @@
# Identity of this package.
PACKAGE_NAME='netpgp'
PACKAGE_TARNAME='netpgp'
-PACKAGE_VERSION='20090611'
-PACKAGE_STRING='netpgp 20090611'
+PACKAGE_VERSION='20091210'
+PACKAGE_STRING='netpgp 20091210'
PACKAGE_BUGREPORT='Alistair Crooks <[email protected]> c0596823'
ac_unique_file="src/netpgp/netpgp.c"
@@ -1483,7 +1483,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures netpgp 20090611 to adapt to many kinds of systems.
+\`configure' configures netpgp 20091210 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1553,7 +1553,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of netpgp 20090611:";;
+ short | recursive ) echo "Configuration of netpgp 20091210:";;
esac
cat <<\_ACEOF
@@ -1660,7 +1660,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-netpgp configure 20090611
+netpgp configure 20091210
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1674,7 +1674,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by netpgp $as_me 20090611, which was
+It was created by netpgp $as_me 20091210, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2561,7 +2561,7 @@
# Define the identity of the package.
PACKAGE='netpgp'
- VERSION='20090611'
+ VERSION='20091210'
cat >>confdefs.h <<_ACEOF
@@ -22306,7 +22306,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by netpgp $as_me 20090611, which was
+This file was extended by netpgp $as_me 20091210, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22369,7 +22369,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-netpgp config.status 20090611
+netpgp config.status 20091210
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Index: src/crypto/external/bsd/netpgp/dist/configure.ac
diff -u src/crypto/external/bsd/netpgp/dist/configure.ac:1.18 src/crypto/external/bsd/netpgp/dist/configure.ac:1.19
--- src/crypto/external/bsd/netpgp/dist/configure.ac:1.18 Thu Jun 11 17:05:17 2009
+++ src/crypto/external/bsd/netpgp/dist/configure.ac Mon Dec 14 23:29:56 2009
@@ -1,10 +1,10 @@
-# $NetBSD: configure.ac,v 1.18 2009/06/11 17:05:17 agc Exp $
+# $NetBSD: configure.ac,v 1.19 2009/12/14 23:29:56 agc Exp $
#
# Process this file with autoconf to produce a configure script.
-AC_INIT([netpgp],[20090611],[Alistair Crooks <[email protected]> c0596823])
+AC_INIT([netpgp],[20091210],[Alistair Crooks <[email protected]> c0596823])
AC_PREREQ(2.63)
-AC_REVISION([$Revision: 1.18 $])
+AC_REVISION([$Revision: 1.19 $])
AS_SHELL_SANITIZE
Index: src/crypto/external/bsd/netpgp/dist/tst
diff -u src/crypto/external/bsd/netpgp/dist/tst:1.15 src/crypto/external/bsd/netpgp/dist/tst:1.16
--- src/crypto/external/bsd/netpgp/dist/tst:1.15 Sat Dec 5 07:08:18 2009
+++ src/crypto/external/bsd/netpgp/dist/tst Mon Dec 14 23:29:56 2009
@@ -105,11 +105,11 @@
echo "======> ascii armoured sig detection and verification of large file"
/usr/bin/netpgp --verify g.asc && passed=$(expr $passed + 1)
echo "======> list ssh host RSA public key"
-/usr/bin/netpgpkeys --ssh-keys --list-keys && passed=$(expr $passed + 1)
+/usr/bin/netpgpkeys --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --list-keys && passed=$(expr $passed + 1)
echo "======> sign/verify file with ssh host keys"
cp configure a
-sudo /usr/bin/netpgp --ssh-keys --sign --userid 1e00404a a
+sudo /usr/bin/netpgp --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --sign a
sudo chmod 644 a.gpg
-/usr/bin/netpgp --verify --ssh-keys a.gpg && passed=$(expr $passed + 1)
+/usr/bin/netpgp --verify --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub a.gpg && passed=$(expr $passed + 1)
rm -f a a.gpg b b.gpg c c.gpg d d.gpg e f f.sig g g.asc a2 a3
echo "Passed ${passed}/${total} tests"
Index: src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl
diff -u src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl:1.3 src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl:1.4
--- src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl:1.3 Tue Dec 1 20:44:50 2009
+++ src/crypto/external/bsd/netpgp/dist/bindings/perl/netpgp.pl Mon Dec 14 23:29:56 2009
@@ -1,8 +1,8 @@
-#! /usr/pkg/bin/perl -wT
+#! /usr/pkg/bin/perl -w
# netpgp bindings for perl
-use lib "/usr/src/crypto/external/bsd/netpgp-bindings/dist/bindings/perl";
+use lib "/usr/src/crypto/external/bsd/netpgp/dist/bindings/perl";
use netpgpperl;
Index: src/crypto/external/bsd/netpgp/dist/include/netpgp.h
diff -u src/crypto/external/bsd/netpgp/dist/include/netpgp.h:1.12 src/crypto/external/bsd/netpgp/dist/include/netpgp.h:1.13
--- src/crypto/external/bsd/netpgp/dist/include/netpgp.h:1.12 Mon Dec 7 16:56:03 2009
+++ src/crypto/external/bsd/netpgp/dist/include/netpgp.h Mon Dec 14 23:29:56 2009
@@ -66,6 +66,10 @@
/* variables */
int netpgp_setvar(netpgp_t *, const char *, const char *);
char *netpgp_getvar(netpgp_t *, const char *);
+int netpgp_incvar(netpgp_t *, const char *, const int);
+
+/* set home directory information */
+int netpgp_set_homedir(netpgp_t *, char *, const char *, const int);
/* key management */
int netpgp_list_keys(netpgp_t *);
Index: src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.3 src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.4
--- src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am:1.3 Tue May 26 05:42:25 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.am Mon Dec 14 23:29:56 2009
@@ -1,4 +1,4 @@
-## $NetBSD: Makefile.am,v 1.3 2009/05/26 05:42:25 lukem Exp $
+## $NetBSD: Makefile.am,v 1.4 2009/12/14 23:29:56 agc Exp $
AM_CFLAGS = $(WARNCFLAGS)
@@ -7,9 +7,11 @@
libnetpgp_la_CPPFLAGS = -I$(top_srcdir)/include
libnetpgp_la_SOURCES = \
+ bufgap.c \
compress.c \
create.c \
crypto.c \
+ fastctype.c \
keyring.c \
misc.c \
netpgp.c \
@@ -19,6 +21,7 @@
packet-show.c \
reader.c \
signature.c \
+ ssh2pgp.c \
symmetric.c \
validate.c \
writer.c
Index: src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.5 src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.6
--- src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in:1.5 Wed Jun 10 00:38:09 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/Makefile.in Mon Dec 14 23:29:56 2009
@@ -53,12 +53,15 @@
LTLIBRARIES = $(lib_LTLIBRARIES)
libnetpgp_la_LIBADD =
am_libnetpgp_la_OBJECTS = libnetpgp_la-compress.lo \
+ libnetpgp_la-bufgap.lo \
libnetpgp_la-create.lo libnetpgp_la-crypto.lo \
+ libnetpgp_la-fastctype.lo \
libnetpgp_la-keyring.lo libnetpgp_la-misc.lo \
libnetpgp_la-netpgp.lo libnetpgp_la-openssl_crypto.lo \
libnetpgp_la-packet-parse.lo libnetpgp_la-packet-print.lo \
libnetpgp_la-packet-show.lo libnetpgp_la-reader.lo \
libnetpgp_la-signature.lo libnetpgp_la-symmetric.lo \
+ libnetpgp_la-ssh2pgp.lo \
libnetpgp_la-validate.lo libnetpgp_la-writer.lo
libnetpgp_la_OBJECTS = $(am_libnetpgp_la_OBJECTS)
DEFAULT_INCLUDES = -...@am__isrc@
@@ -196,9 +199,11 @@
lib_LTLIBRARIES = libnetpgp.la
libnetpgp_la_CPPFLAGS = -I$(top_srcdir)/include
libnetpgp_la_SOURCES = \
+ bufgap.c \
compress.c \
create.c \
crypto.c \
+ fastctype.c \
keyring.c \
misc.c \
netpgp.c \
@@ -208,6 +213,7 @@
packet-show.c \
reader.c \
signature.c \
+ ssh2pgp.c \
symmetric.c \
validate.c \
writer.c
@@ -301,9 +307,11 @@
distclean-compile:
-rm -f *.tab.c
+...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-bufgap....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-compress....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-create....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-crypto....@am__quote@
+...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-fastctype....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-keyring....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-misc....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-netpgp....@am__quote@
@@ -313,6 +321,7 @@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-packet-show....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-reader....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-signature....@am__quote@
+...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-ssh2pgp....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-symmetric....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-validate....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/libnetpgp_la-writer....@am__quote@
@@ -338,6 +347,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+libnetpgp_la-bufgap.lo: bufgap.c
+...@am__fastdepcc_true@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-bufgap.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-bufgap.Tpo -c -o libnetpgp_la-bufgap.lo `test -f 'bufgap.c' || echo '$(srcdir)/'`bufgap.c
+...@am__fastdepcc_true@ mv -f $(DEPDIR)/libnetpgp_la-bufgap.Tpo $(DEPDIR)/libnetpgp_la-bufgap.Plo
+...@amdep_true@@am__fastdepCC_FALSE@ source='bufgap.c' object='libnetpgp_la-bufgap.lo' libtool=yes @AMDEPBACKSLASH@
+...@amdep_true@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+...@am__fastdepcc_false@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-bufgap.lo `test -f 'bufgap.c' || echo '$(srcdir)/'`bufgap.c
+
libnetpgp_la-compress.lo: compress.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-compress.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-compress.Tpo -c -o libnetpgp_la-compress.lo `test -f 'compress.c' || echo '$(srcdir)/'`compress.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libnetpgp_la-compress.Tpo $(DEPDIR)/libnetpgp_la-compress.Plo
@@ -359,6 +375,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-crypto.lo `test -f 'crypto.c' || echo '$(srcdir)/'`crypto.c
+libnetpgp_la-fastctype.lo: fastctype.c
+...@am__fastdepcc_true@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-fastctype.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-fastctype.Tpo -c -o libnetpgp_la-fastctype.lo `test -f 'fastctype.c' || echo '$(srcdir)/'`fastctype.c
+...@am__fastdepcc_true@ mv -f $(DEPDIR)/libnetpgp_la-fastctype.Tpo $(DEPDIR)/libnetpgp_la-fastctype.Plo
+...@amdep_true@@am__fastdepCC_FALSE@ source='fastctype.c' object='libnetpgp_la-fastctype.lo' libtool=yes @AMDEPBACKSLASH@
+...@amdep_true@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+...@am__fastdepcc_false@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-fastctype.lo `test -f 'fastctype.c' || echo '$(srcdir)/'`fastctype.c
+
libnetpgp_la-keyring.lo: keyring.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-keyring.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-keyring.Tpo -c -o libnetpgp_la-keyring.lo `test -f 'keyring.c' || echo '$(srcdir)/'`keyring.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libnetpgp_la-keyring.Tpo $(DEPDIR)/libnetpgp_la-keyring.Plo
@@ -422,6 +445,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-signature.lo `test -f 'signature.c' || echo '$(srcdir)/'`signature.c
+libnetpgp_la-ssh2pgp.lo: ssh2pgp.c
+...@am__fastdepcc_true@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-ssh2pgp.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-ssh2pgp.Tpo -c -o libnetpgp_la-ssh2pgp.lo `test -f 'ssh2pgp.c' || echo '$(srcdir)/'`ssh2pgp.c
+...@am__fastdepcc_true@ mv -f $(DEPDIR)/libnetpgp_la-ssh2pgp.Tpo $(DEPDIR)/libnetpgp_la-ssh2pgp.Plo
+...@amdep_true@@am__fastdepCC_FALSE@ source='ssh2pgp.c' object='libnetpgp_la-ssh2pgp.lo' libtool=yes @AMDEPBACKSLASH@
+...@amdep_true@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+...@am__fastdepcc_false@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnetpgp_la-ssh2pgp.lo `test -f 'ssh2pgp.c' || echo '$(srcdir)/'`ssh2pgp.c
+
libnetpgp_la-symmetric.lo: symmetric.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnetpgp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnetpgp_la-symmetric.lo -MD -MP -MF $(DEPDIR)/libnetpgp_la-symmetric.Tpo -c -o libnetpgp_la-symmetric.lo `test -f 'symmetric.c' || echo '$(srcdir)/'`symmetric.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libnetpgp_la-symmetric.Tpo $(DEPDIR)/libnetpgp_la-symmetric.Plo
Index: src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c:1.3
--- src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c:1.2 Sun Dec 6 17:43:05 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/bufgap.c Mon Dec 14 23:29:56 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: bufgap.c,v 1.2 2009/12/06 17:43:05 agc Exp $ */
+/* $NetBSD: bufgap.c,v 1.3 2009/12/14 23:29:56 agc Exp $ */
/*-
* Copyright (c) 1996-2009 The NetBSD Foundation, Inc.
@@ -81,7 +81,17 @@
#define Rune char
#define utfbytes(x) strlen(x)
#define utfrune(a, b) strchr(a, b)
-#define utfnlen(a, b) strnlen(a, b)
+#define utfnlen(a, b) bounded_strlen(a, b)
+
+static size_t
+bounded_strlen(const char *s, size_t maxlen)
+{
+ size_t n;
+
+ for (n = 0 ; n < maxlen && s[n] != 0x0 ; n++) {
+ }
+ return n;
+}
static int
chartorune(Rune *rp, char *s)
Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.25 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.26
--- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.25 Mon Dec 7 16:55:37 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Mon Dec 14 23:29:56 2009
@@ -57,7 +57,7 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: keyring.c,v 1.25 2009/12/07 16:55:37 martin Exp $");
+__RCSID("$NetBSD: keyring.c,v 1.26 2009/12/14 23:29:56 agc Exp $");
#endif
#ifdef HAVE_FCNTL_H
@@ -957,12 +957,6 @@
return 1;
}
-static unsigned
-get_contents_type(const __ops_key_t *keydata)
-{
- return keydata->type;
-}
-
/* this interface isn't right - hook into callback for getting passphrase */
int
__ops_export_key(const __ops_key_t *keydata, unsigned char *passphrase)
@@ -971,7 +965,7 @@
__ops_memory_t *mem;
__ops_setup_memory_write(&output, &mem, 128);
- if (get_contents_type(keydata) == OPS_PTAG_CT_PUBLIC_KEY) {
+ if (keydata->type == OPS_PTAG_CT_PUBLIC_KEY) {
__ops_write_xfer_pubkey(output, keydata, 1);
} else {
__ops_write_xfer_seckey(output, keydata, passphrase,
Index: src/crypto/external/bsd/netpgp/dist/src/lib/misc.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.25 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.26
--- src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.25 Sat Dec 5 07:08:18 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/misc.c Mon Dec 14 23:29:56 2009
@@ -57,7 +57,7 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: misc.c,v 1.25 2009/12/05 07:08:18 agc Exp $");
+__RCSID("$NetBSD: misc.c,v 1.26 2009/12/14 23:29:56 agc Exp $");
#endif
#include <sys/types.h>
@@ -1219,6 +1219,26 @@
return "[unknown]";
}
+/* local version of asprintf so we don't have to play autoconf games */
+int
+__ops_asprintf(char **ret, const char *fmt, ...)
+{
+ va_list args;
+ char buf[120 * 1024]; /* XXX - "huge" buffer on stack */
+ int cc;
+
+ va_start(args, fmt);
+ cc = vsnprintf(buf, sizeof(buf), fmt, args);
+ va_end(args);
+ if ((*ret = calloc(1, (size_t)(cc + 1))) == NULL) {
+ *ret = NULL;
+ return -1;
+ }
+ (void) memcpy(*ret, buf, (size_t)cc);
+ (*ret)[cc] = 0x0;
+ return cc;
+}
+
void
netpgp_log(const char *fmt, ...)
{
Index: src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.9 src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.10
--- src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3:1.9 Thu Nov 19 21:56:00 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/libnetpgp.3 Mon Dec 14 23:29:56 2009
@@ -1,4 +1,4 @@
-.\" $NetBSD: libnetpgp.3,v 1.9 2009/11/19 21:56:00 agc Exp $
+.\" $NetBSD: libnetpgp.3,v 1.10 2009/12/14 23:29:56 agc Exp $
.\"
.\" Copyright (c) 2009 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -121,6 +121,10 @@
.Fo netpgp_getvar
.Fa "netpgp_t *netpgp" "const char *name"
.Fc
+.Ft int
+.Fo netpgp_incvar
+.Fa "netpgp_t *netpgp" "const char *name" "const int delta"
+.Fc
.Sh DESCRIPTION
.Nm
is a library interface to enable digital signatures to be created and
@@ -155,6 +159,23 @@
To list all the keys in a keyring, the
.Fn netpgp_list_keys
function is used.
+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
+.Fn netpgp_set_homedir
+function.
+This function can operate in a verbose or quiet
+manner, depending on the value of the argument provided.
+If the subdirectory argument is provided, this subdirectory
+is appended to the home directory in order to search for
+the keyrings.
.Pp
To export a key, the
.Fn netpgp_export_key
@@ -216,9 +237,20 @@
.Fn netpgp_getvar
functions are used to manage the hash algorithm that
is used with RSA signatures.
-These functions can also be used to set and to retrieve the
+These functions are general purpose functions, and
+are used to set and retrieve values for internal variables.
+For example, they
+can be used to set and to retrieve the
value of the user id
-which has been set.
+which has been set,
+the home directory from which to find the keyrings,
+the verbosity settings, and many more.
+The
+.Fn netpgp_incvar
+function is used to add a numeric increment to the
+internal variable.
+This incremental value can be negative.
+It is primarily used to increase the verbosity settings.
.Pp
In
.Nm
Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.32 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.33
--- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.32 Mon Dec 7 16:17:17 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Mon Dec 14 23:29:56 2009
@@ -34,7 +34,7 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: netpgp.c,v 1.32 2009/12/07 16:17:17 agc Exp $");
+__RCSID("$NetBSD: netpgp.c,v 1.33 2009/12/14 23:29:56 agc Exp $");
#endif
#include <sys/types.h>
@@ -235,18 +235,15 @@
/* read keys from ssh key files */
static int
-readsshkeys(netpgp_t *netpgp, const char *pubname, const char *secname)
+readsshkeys(netpgp_t *netpgp, char *homedir)
{
__ops_keyring_t *pubring;
__ops_keyring_t *secring;
char f[MAXPATHLEN];
char *filename;
- char *etcdir;
- __OPS_USED(secname);
- etcdir = netpgp_getvar(netpgp, "sshkeydir");
- if ((filename = netpgp_getvar(netpgp, pubname)) == NULL) {
- (void) snprintf(f, sizeof(f), "%s/ssh_host_rsa_key.pub", etcdir);
+ if ((filename = netpgp_getvar(netpgp, "sshkeyfile")) == NULL) {
+ (void) snprintf(f, sizeof(f), "%s/.ssh/is_rsa.pub", homedir);
filename = f;
}
if ((pubring = calloc(1, sizeof(*pubring))) == NULL) {
@@ -255,13 +252,18 @@
}
if (!__ops_ssh2_readkeys(netpgp->io, pubring, NULL, filename, NULL)) {
free(pubring);
- (void) fprintf(stderr, "readsshkeys: can't read %s\n", filename);
+ (void) fprintf(stderr, "readsshkeys: can't read %s\n",
+ filename);
return 0;
}
netpgp->pubring = pubring;
- netpgp_setvar(netpgp, pubname, filename);
- if ((filename = netpgp_getvar(netpgp, secname)) == NULL) {
- (void) snprintf(f, sizeof(f), "%s/ssh_host_rsa_key", etcdir);
+ netpgp_setvar(netpgp, "sshpubfile", filename);
+ /* try to take the ".pub" off the end */
+ if (filename == f) {
+ f[strlen(f) - 4] = 0x0;
+ } else {
+ (void) snprintf(f, sizeof(f), "%.*s",
+ (int)strlen(filename) - 4, filename);
filename = f;
}
if ((secring = calloc(1, sizeof(*secring))) == NULL) {
@@ -270,13 +272,30 @@
}
if (__ops_ssh2_readkeys(netpgp->io, pubring, secring, NULL, filename)) {
netpgp->secring = secring;
- netpgp_setvar(netpgp, secname, filename);
+ netpgp_setvar(netpgp, "sshsecfile", filename);
} else {
- (void) fprintf(stderr, "readsshkeys: can't read sec %s (%d)\n", filename, errno);
+ (void) fprintf(stderr, "readsshkeys: can't read sec %s (%d)\n",
+ filename, errno);
}
return 1;
}
+/* set ssh uid to first one in ring */
+static void
+set_ssh_userid(__ops_keyring_t *pubring, char *id, size_t len)
+{
+ unsigned char *src;
+ int i;
+ int n;
+
+ (void) memset(id, 0x0, len);
+ src = pubring->keys[0].key_id;
+ for (i = 0, n = 0 ; i < OPS_KEY_ID_SIZE ; i += 2) {
+ n += snprintf(&id[n], len - n, "%02x%02x", src[i], src[i + 1]);
+ }
+ id[n] = 0x0;
+}
+
/***************************************************************************/
/* exported functions start here */
/***************************************************************************/
@@ -350,44 +369,36 @@
}
if (userid == NULL) {
if (netpgp_getvar(netpgp, "need userid") != NULL) {
- (void) fprintf(io->errs, "Cannot find user id\n");
+ (void) fprintf(io->errs,
+ "Cannot find user id\n");
return 0;
}
} else {
(void) netpgp_setvar(netpgp, "userid", userid);
}
- if ((netpgp->pubring = readkeyring(netpgp, "pubring")) == NULL) {
+ netpgp->pubring = readkeyring(netpgp, "pubring");
+ if (netpgp->pubring == NULL) {
(void) fprintf(io->errs, "Can't read pub keyring\n");
return 0;
}
- if ((netpgp->secring = readkeyring(netpgp, "secring")) == NULL) {
+ netpgp->secring = readkeyring(netpgp, "secring");
+ if (netpgp->secring == NULL) {
(void) fprintf(io->errs, "Can't read sec keyring\n");
return 0;
}
} else {
- if (!readsshkeys(netpgp, "ssh pub key", "ssh sec file")) {
+ if (!readsshkeys(netpgp, homedir)) {
(void) fprintf(io->errs, "Can't read ssh pub key\n");
return 0;
}
if ((userid = netpgp_getvar(netpgp, "userid")) == NULL) {
- /* set ssh uid to first one in ring */
- __ops_keyring_t *pubring;
- unsigned char *src;
- int i;
- int n;
-
- pubring = netpgp->pubring;
- (void) memset(id, 0x0, sizeof(id));
- src = pubring->keys[0].key_id;
- for (i = 0, n = 0 ; i < OPS_KEY_ID_SIZE ; i += 2) {
- n += snprintf(&id[n], sizeof(id) - n, "%02x%02x", src[i], src[i + 1]);
- }
- id[n] = 0x0;
+ set_ssh_userid(netpgp->pubring, id, sizeof(id));
netpgp_setvar(netpgp, "userid", userid = id);
}
if (userid == NULL) {
if (netpgp_getvar(netpgp, "need userid") != NULL) {
- (void) fprintf(io->errs, "Cannot find user id\n");
+ (void) fprintf(io->errs,
+ "Cannot find user id\n");
return 0;
}
} else {
@@ -451,8 +462,11 @@
found = k = 0;
do {
- if ((key = __ops_getnextkeybyname(netpgp->io, netpgp->pubring, name, &k)) != NULL) {
- __ops_sprint_keydata(key, &data, "pub", &key->key.pubkey);
+ key = __ops_getnextkeybyname(netpgp->io, netpgp->pubring,
+ name, &k);
+ if (key != NULL) {
+ __ops_sprint_keydata(key, &data, "pub",
+ &key->key.pubkey);
printf("%s\n", data);
free(data);
found += 1;
@@ -490,11 +504,13 @@
(void) fprintf(io->errs, "NULL id to search for\n");
return NULL;
}
- if ((key = __ops_getkeybyname(netpgp->io, netpgp->pubring, id)) == NULL) {
+ key = __ops_getkeybyname(netpgp->io, netpgp->pubring, id);
+ if (key == NULL) {
(void) fprintf(io->errs, "Can't find key '%s'\n", id);
return NULL;
}
- return (__ops_sprint_keydata(key, &newkey, "pub", &key->key.pubkey) > 0) ? newkey : NULL;
+ return (__ops_sprint_keydata(key, &newkey, "pub",
+ &key->key.pubkey) > 0) ? newkey : NULL;
}
/* export a given key */
@@ -701,7 +717,8 @@
ret = __ops_sign_detached(io, f, out, seckey, hashalg);
} else {
ret = __ops_sign_file(io, f, out, seckey, hashalg,
- (unsigned)armored, (unsigned)cleartext, overwrite);
+ (unsigned)armored, (unsigned)cleartext,
+ overwrite);
}
__ops_forget(seckey, sizeof(*seckey));
return ret;
@@ -799,7 +816,8 @@
/* verify memory */
int
-netpgp_verify_memory(netpgp_t *netpgp, const void *in, const size_t size, const int armored)
+netpgp_verify_memory(netpgp_t *netpgp, const void *in, const size_t size,
+ const int armored)
{
__ops_validation_t result;
__ops_memory_t *signedmem;
@@ -933,3 +951,50 @@
return ((i = findvar(netpgp, name)) < 0) ? NULL : netpgp->value[i];
}
+
+/* increment a value */
+int
+netpgp_incvar(netpgp_t *netpgp, const char *name, const int delta)
+{
+ char *cp;
+ char num[16];
+ int val;
+
+ val = 0;
+ if ((cp = netpgp_getvar(netpgp, name)) != NULL) {
+ val = atoi(cp);
+ }
+ (void) snprintf(num, sizeof(num), "%d", val + delta);
+ netpgp_setvar(netpgp, name, num);
+ return 1;
+}
+
+/* set the home directory value to "home/subdir" */
+int
+netpgp_set_homedir(netpgp_t *netpgp, char *home, const char *subdir, const int quiet)
+{
+ struct stat st;
+ char d[MAXPATHLEN];
+
+ if (home == NULL) {
+ if (!quiet) {
+ (void) fprintf(stderr, "NULL HOME directory\n");
+ }
+ return 0;
+ }
+ (void) snprintf(d, sizeof(d), "%s%s", home, (subdir) ? subdir : "");
+ if (stat(d, &st) == 0) {
+ if ((st.st_mode & S_IFMT) == S_IFDIR) {
+ netpgp_setvar(netpgp, "homedir", d);
+ return 1;
+ }
+ (void) fprintf(stderr, "netpgp: homedir \"%s\" is not a dir\n",
+ d);
+ return 0;
+ }
+ if (!quiet) {
+ (void) fprintf(stderr,
+ "netpgp: warning homedir \"%s\" not found\n", d);
+ }
+ return 1;
+}
Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.6 src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.7
--- src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h:1.6 Tue Jun 9 00:51:02 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h Mon Dec 14 23:29:57 2009
@@ -61,6 +61,8 @@
const char *__ops_get_info(const char *type);
+int __ops_asprintf(char **, const char *, ...);
+
void netpgp_log(const char *, ...);
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.22 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.23
--- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.22 Wed Dec 9 22:10:51 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Mon Dec 14 23:29:57 2009
@@ -58,13 +58,10 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: packet-print.c,v 1.22 2009/12/09 22:10:51 agc Exp $");
+__RCSID("$NetBSD: packet-print.c,v 1.23 2009/12/14 23:29:57 agc Exp $");
#endif
#include <string.h>
-
-/* this brings in the prototype for asprintf on Linux */
-#define _GNU_SOURCE
#include <stdio.h>
#ifdef HAVE_UNISTD_H
@@ -77,6 +74,7 @@
#include "signature.h"
#include "readerwriter.h"
#include "netpgpdefs.h"
+#include "netpgpsdk.h"
#include "packet.h"
#include "netpgpdigest.h"
@@ -406,7 +404,7 @@
n += snprintf(&uidbuf[n], sizeof(uidbuf) - n,
"uid %s\n", key->uids[i].userid);
}
- return asprintf(buf, "%s %d/%s %s %s\nKey fingerprint: %s\n%s",
+ return __ops_asprintf(buf, "%s %d/%s %s %s\nKey fingerprint: %s\n%s",
header,
numkeybits(pubkey),
__ops_show_pka(pubkey->alg),
Index: src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.4 src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.5
--- src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c:1.4 Wed Dec 9 22:10:51 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c Mon Dec 14 23:29:57 2009
@@ -36,10 +36,9 @@
#include <sys/stat.h>
#include <sys/param.h>
-#include <inttypes.h>
+#include <arpa/inet.h>
-/* this brings in the prototype for asprintf on Linux */
-#define _GNU_SOURCE
+#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
@@ -64,6 +63,7 @@
#include "packet-parse.h"
#include "netpgpdefs.h"
+#include "netpgpsdk.h"
#include "crypto.h"
#include "netpgpdigest.h"
#include "ops-ssh.h"
@@ -314,7 +314,7 @@
if (ok) {
(void) memset(&userid, 0x0, sizeof(userid));
(void) gethostname(hostname, sizeof(hostname));
- (void) asprintf((char **)(void *)&userid.userid,
+ (void) __ops_asprintf((char **)(void *)&userid.userid,
"%s (%s) <%.*s>",
hostname,
f,
Index: src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile:1.4 src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile:1.5
--- src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile:1.4 Sat Dec 5 07:08:19 2009
+++ src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile Mon Dec 14 23:29:57 2009
@@ -69,13 +69,13 @@
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run aclocal-1.10
-AMTAR = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run tar
+ACLOCAL = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run aclocal-1.10
+AMTAR = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run autoheader
-AUTOM4TE = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run autom4te
-AUTOMAKE = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run automake-1.10
+AUTOCONF = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autoheader
+AUTOM4TE = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autom4te
+AUTOMAKE = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run automake-1.10
AWK = awk
CANONICAL_HOST = i386-unknown-netbsdelf5.99.20
CC = gcc
@@ -111,27 +111,27 @@
LN_S = ln -s
LTLIBOBJS =
MAINT = #
-MAKEINFO = ${SHELL} /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run makeinfo
MKDIR_P = ../../buildaux/install-sh -c -d
OBJEXT = o
PACKAGE = netpgp
PACKAGE_BUGREPORT = Alistair Crooks <[email protected]> c0596823
PACKAGE_NAME = netpgp
-PACKAGE_STRING = netpgp 20090611
+PACKAGE_STRING = netpgp 20091210
PACKAGE_TARNAME = netpgp
-PACKAGE_VERSION = 20090611
+PACKAGE_VERSION = 20091210
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/ksh
STRIP = strip
-VERSION = 20090611
+VERSION = 20091210
WARNCFLAGS = -Werror -Wall -Wpointer-arith
-abs_builddir = /usr/src/crypto/external/bsd/netpgp-ssh/dist/src/netpgp
-abs_srcdir = /usr/src/crypto/external/bsd/netpgp-ssh/dist/src/netpgp
-abs_top_builddir = /usr/src/crypto/external/bsd/netpgp-ssh/dist
-abs_top_srcdir = /usr/src/crypto/external/bsd/netpgp-ssh/dist
+abs_builddir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgp
+abs_srcdir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgp
+abs_top_builddir = /usr/src/crypto/external/bsd/netpgp/dist
+abs_top_srcdir = /usr/src/crypto/external/bsd/netpgp/dist
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
@@ -160,7 +160,7 @@
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = $(SHELL) /usr/src/crypto/external/bsd/netpgp-ssh/dist/buildaux/install-sh
+install_sh = $(SHELL) /usr/src/crypto/external/bsd/netpgp/dist/buildaux/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
@@ -169,7 +169,7 @@
mkdir_p = $(top_builddir)/buildaux/install-sh -c -d
oldincludedir = /usr/include
pdfdir = ${docdir}
-prefix = /usr/pkg
+prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
Index: src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c:1.7 src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c:1.8
--- src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c:1.7 Mon Dec 7 16:17:57 2009
+++ src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.c Mon Dec 14 23:29:57 2009
@@ -90,6 +90,7 @@
VERBOSE,
COREDUMPS,
PASSWDFD,
+ SSHKEYFILE,
/* debug */
OPS_DEBUG
@@ -118,6 +119,7 @@
{"debug", required_argument, NULL, OPS_DEBUG},
/* options */
{"ssh-keys", no_argument, NULL, SSHKEYS},
+ {"sshkeyfile", required_argument, NULL, SSHKEYFILE},
{"coredumps", no_argument, NULL, COREDUMPS},
{"keyring", required_argument, NULL, KEYRING},
{"userid", required_argument, NULL, USERID},
@@ -218,51 +220,6 @@
}
}
-/* get even more lippy */
-static void
-give_it_large(netpgp_t *netpgp)
-{
- char *cp;
- char num[16];
- int val;
-
- val = 0;
- if ((cp = netpgp_getvar(netpgp, "verbose")) != NULL) {
- val = atoi(cp);
- }
- (void) snprintf(num, sizeof(num), "%d", val + 1);
- netpgp_setvar(netpgp, "verbose", num);
-}
-
-/* set the home directory value to "home/subdir" */
-static int
-set_homedir(netpgp_t *netpgp, char *home, const char *subdir, const int quiet)
-{
- struct stat st;
- char d[MAXPATHLEN];
-
- if (home == NULL) {
- if (!quiet) {
- (void) fprintf(stderr, "NULL HOME directory\n");
- }
- return 0;
- }
- (void) snprintf(d, sizeof(d), "%s%s", home, (subdir) ? subdir : "");
- if (stat(d, &st) == 0) {
- if ((st.st_mode & S_IFMT) == S_IFDIR) {
- netpgp_setvar(netpgp, "homedir", d);
- return 1;
- }
- (void) fprintf(stderr, "netpgp: homedir \"%s\" is not a dir\n",
- d);
- return 0;
- }
- if (!quiet) {
- (void) fprintf(stderr,
- "netpgp: warning homedir \"%s\" not found\n", d);
- }
- return 1;
-}
int
main(int argc, char **argv)
@@ -285,8 +242,7 @@
}
/* set some defaults */
netpgp_setvar(&netpgp, "hash", DEFAULT_HASH_ALG);
- set_homedir(&netpgp, getenv("HOME"), "/.gnupg", 1);
- netpgp_setvar(&netpgp, "sshkeydir", "/etc/ssh");
+ netpgp_set_homedir(&netpgp, getenv("HOME"), "/.gnupg", 1);
optindex = 0;
while ((ch = getopt_long(argc, argv, "", options, &optindex)) != -1) {
switch (options[optindex].val) {
@@ -341,7 +297,7 @@
p.detached = 1;
break;
case VERBOSE:
- give_it_large(&netpgp);
+ netpgp_incvar(&netpgp, "verbose", 1);
break;
case HOMEDIR:
if (optarg == NULL) {
@@ -349,7 +305,7 @@
"No home directory argument provided\n");
exit(EXIT_ERROR);
}
- set_homedir(&netpgp, optarg, NULL, 0);
+ netpgp_set_homedir(&netpgp, optarg, NULL, 0);
break;
case HASH_ALG:
if (optarg == NULL) {
@@ -386,6 +342,9 @@
}
netpgp_setvar(&netpgp, "results", optarg);
break;
+ case SSHKEYFILE:
+ netpgp_setvar(&netpgp, "sshkeyfile", optarg);
+ break;
case OPS_DEBUG:
netpgp_set_debug(optarg);
break;
Index: src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.5 src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.6
--- src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c:1.5 Mon Dec 7 16:18:44 2009
+++ src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c Mon Dec 14 23:29:57 2009
@@ -83,6 +83,7 @@
COREDUMPS,
PASSWDFD,
RESULTS,
+ SSHKEYFILE,
/* debug */
OPS_DEBUG
@@ -111,6 +112,7 @@
{"homedir", required_argument, NULL, HOMEDIR},
{"numbits", required_argument, NULL, NUMBITS},
{"ssh-keys", no_argument, NULL, SSHKEYS},
+ {"sshkeyfile", required_argument, NULL, SSHKEYFILE},
{"verbose", no_argument, NULL, VERBOSE},
{"pass-fd", required_argument, NULL, PASSWDFD},
{"results", required_argument, NULL, RESULTS},
@@ -172,49 +174,6 @@
}
}
-/* get even more lippy */
-static void
-give_it_large(netpgp_t *netpgp)
-{
- char *cp;
- char num[16];
- int val;
-
- val = 0;
- if ((cp = netpgp_getvar(netpgp, "verbose")) != NULL) {
- val = atoi(cp);
- }
- (void) snprintf(num, sizeof(num), "%d", val + 1);
- netpgp_setvar(netpgp, "verbose", num);
-}
-
-/* set the home directory value to "home/subdir" */
-static int
-set_homedir(netpgp_t *netpgp, char *home, const char *subdir, char *progname)
-{
- struct stat st;
- char d[MAXPATHLEN];
-
- if (home == NULL) {
- (void) fprintf(stderr, "%s: NULL HOME directory\n",
- progname);
- return 0;
- }
- (void) snprintf(d, sizeof(d), "%s%s", home, (subdir) ? subdir : "");
- if (stat(d, &st) == 0) {
- if ((st.st_mode & S_IFMT) == S_IFDIR) {
- netpgp_setvar(netpgp, "homedir", d);
- return 1;
- }
- (void) fprintf(stderr, "%s: homedir \"%s\" is not a dir\n",
- progname, d);
- return 0;
- }
- (void) fprintf(stderr, "%s: warning homedir \"%s\" not found\n",
- progname, d);
- return 1;
-}
-
int
main(int argc, char **argv)
{
@@ -234,7 +193,7 @@
exit(EXIT_ERROR);
}
/* set some defaults */
- set_homedir(&netpgp, getenv("HOME"), "/.gnupg", *argv);
+ netpgp_set_homedir(&netpgp, getenv("HOME"), "/.gnupg", 1);
netpgp_setvar(&netpgp, "sshkeydir", "/etc/ssh");
optindex = 0;
while ((ch = getopt_long(argc, argv, "", options, &optindex)) != -1) {
@@ -286,7 +245,7 @@
netpgp_setvar(&netpgp, "userid", optarg);
break;
case VERBOSE:
- give_it_large(&netpgp);
+ netpgp_incvar(&netpgp, "verbose", 1);
break;
case HOMEDIR:
if (optarg == NULL) {
@@ -295,7 +254,7 @@
*argv);
exit(EXIT_ERROR);
}
- set_homedir(&netpgp, optarg, NULL, *argv);
+ netpgp_set_homedir(&netpgp, optarg, NULL, 0);
break;
case NUMBITS:
if (optarg == NULL) {
@@ -322,6 +281,9 @@
}
netpgp_setvar(&netpgp, "results", optarg);
break;
+ case SSHKEYFILE:
+ netpgp_setvar(&netpgp, "sshkeyfile", optarg);
+ break;
case OPS_DEBUG:
netpgp_set_debug(optarg);
break;
Index: src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile
diff -u src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.3 src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.4
--- src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile:1.3 Sat Jun 13 05:25:09 2009
+++ src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile Mon Dec 14 23:29:57 2009
@@ -30,8 +30,8 @@
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = i386-unknown-netbsdelf5.99.11
-host_triplet = i386-unknown-netbsdelf5.99.11
+build_triplet = i386-unknown-netbsdelf5.99.20
+host_triplet = i386-unknown-netbsdelf5.99.20
bin_PROGRAMS = netpgpverify$(EXEEXT)
subdir = src/netpgpverify
DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
@@ -69,15 +69,15 @@
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run aclocal-1.10
-AMTAR = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run tar
+ACLOCAL = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run aclocal-1.10
+AMTAR = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run autoheader
-AUTOM4TE = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run autom4te
-AUTOMAKE = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run automake-1.10
+AUTOCONF = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autoheader
+AUTOM4TE = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run autom4te
+AUTOMAKE = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run automake-1.10
AWK = awk
-CANONICAL_HOST = i386-unknown-netbsdelf5.99.11
+CANONICAL_HOST = i386-unknown-netbsdelf5.99.20
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
@@ -111,27 +111,27 @@
LN_S = ln -s
LTLIBOBJS =
MAINT = #
-MAKEINFO = ${SHELL} /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/src/crypto/external/bsd/netpgp/dist/buildaux/missing --run makeinfo
MKDIR_P = ../../buildaux/install-sh -c -d
OBJEXT = o
PACKAGE = netpgp
PACKAGE_BUGREPORT = Alistair Crooks <[email protected]> c0596823
PACKAGE_NAME = netpgp
-PACKAGE_STRING = netpgp 20090611
+PACKAGE_STRING = netpgp 20091210
PACKAGE_TARNAME = netpgp
-PACKAGE_VERSION = 20090611
+PACKAGE_VERSION = 20091210
PATH_SEPARATOR = :
RANLIB = ranlib
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/ksh
STRIP = strip
-VERSION = 20090611
+VERSION = 20091210
WARNCFLAGS = -Werror -Wall -Wpointer-arith
-abs_builddir = /usr/src/crypto/external/bsd/netpgp-hack/dist/src/netpgpverify
-abs_srcdir = /usr/src/crypto/external/bsd/netpgp-hack/dist/src/netpgpverify
-abs_top_builddir = /usr/src/crypto/external/bsd/netpgp-hack/dist
-abs_top_srcdir = /usr/src/crypto/external/bsd/netpgp-hack/dist
+abs_builddir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgpverify
+abs_srcdir = /usr/src/crypto/external/bsd/netpgp/dist/src/netpgpverify
+abs_top_builddir = /usr/src/crypto/external/bsd/netpgp/dist
+abs_top_srcdir = /usr/src/crypto/external/bsd/netpgp/dist
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
@@ -141,10 +141,10 @@
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
-build = i386-unknown-netbsdelf5.99.11
+build = i386-unknown-netbsdelf5.99.20
build_alias =
build_cpu = i386
-build_os = netbsdelf5.99.11
+build_os = netbsdelf5.99.20
build_vendor = unknown
builddir = .
datadir = ${datarootdir}
@@ -152,15 +152,15 @@
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
-host = i386-unknown-netbsdelf5.99.11
+host = i386-unknown-netbsdelf5.99.20
host_alias =
host_cpu = i386
-host_os = netbsdelf5.99.11
+host_os = netbsdelf5.99.20
host_vendor = unknown
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = $(SHELL) /usr/src/crypto/external/bsd/netpgp-hack/dist/buildaux/install-sh
+install_sh = $(SHELL) /usr/src/crypto/external/bsd/netpgp/dist/buildaux/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
Index: src/crypto/external/bsd/netpgp/lib/config.h
diff -u src/crypto/external/bsd/netpgp/lib/config.h:1.1 src/crypto/external/bsd/netpgp/lib/config.h:1.2
--- src/crypto/external/bsd/netpgp/lib/config.h:1.1 Tue May 26 05:11:17 2009
+++ src/crypto/external/bsd/netpgp/lib/config.h Mon Dec 14 23:29:57 2009
@@ -125,19 +125,19 @@
#define PACKAGE_NAME "netpgp"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "netpgp 20090525"
+#define PACKAGE_STRING "netpgp 20091210"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "netpgp"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "20090525"
+#define PACKAGE_VERSION "20091210"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "20090525"
+#define VERSION "20091210"
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the