Commit Graph

1827 Commits

Author SHA1 Message Date
agc
8c81a236f7 add a test for RSA key generation 2010-04-14 06:22:55 +00:00
agc
dbd4d2db70 sync manual page with reality, catch up with key generation 2010-04-14 04:01:55 +00:00
agc
d10356af5f allow the user to pass the equivalent of the gecos information into the
key generation function.
2010-04-14 00:26:25 +00:00
agc
38beab948a get rid of a hardcoded test for the hash agorithm being SHA1, which was just
plain wrong these days.

don't duplicate functionality needlessly.
2010-04-14 00:25:10 +00:00
agc
b286ee594c allow the desired hash algorithm to be passed down from the user to the place
where it matters - change the required prototype.
2010-04-14 00:24:00 +00:00
agc
77e396863d use a better name for a key in a function - no functional change 2010-04-14 00:23:09 +00:00
agc
10cd83189e Fix (RSA) key generation.
Part of the fix for PR 42435 from Jukka Ruohonen.
2010-04-14 00:22:21 +00:00
agc
f0264dce79 Fixes to make key generation work properly - duplicate the public key RSA
BIGNUM fields - part of long-standing bug inherited from openpgpsdk.

Part of the fix for PR 42435 from Jukka Ruohonen.

Also pass the desired hash algorithm down, so that SHA1 is no longer
hardcoded.
2010-04-14 00:21:40 +00:00
agc
ed10b84f91 optimise one function a bit 2010-04-14 00:19:52 +00:00
agc
b71b7b3dbc remove a comment which makes no sense any longer - subkey logic is done elsewhere 2010-04-14 00:19:22 +00:00
agc
4312921835 Don't warn about erroneous errors in skey_checksum_finaliser().
Allocate space for the checkhash before attempting to use it - a
long-standing bug from openpgpsdk.  Part of the fix for PR 42435 from
Jukka Ruohonen.
2010-04-14 00:18:46 +00:00
joerg
1236f09bea Regen with modern pod2man and drop trailing whitespace. 2010-04-12 18:03:46 +00:00
joerg
c987ee8936 Rename management target to not overlap with the normal mk rules.
Explicitly drop trailing whitespace after pod2man.
2010-04-12 18:02:46 +00:00
joerg
86c2d11e12 Regen man pages with modern pod2man to get more normalised version. 2010-04-12 17:59:37 +00:00
joerg
1e8d9fce59 Add management target for the man pages. 2010-04-12 17:58:40 +00:00
bouyer
769c627b01 Fix crash in openssl (I suspect caused by malformed packets):
handshake_dgst[] may be used without being allocated, causing NULL
pointer dereference.
Fix by checking that handshake_dgst is not NULL before use.
Reported to openssl as ticket openssl.org #2214.
Fix tested on netbsd-5 by Luke Mewburn with apache, and by me with
freeradius (fixing segmentation fault in both cases).
2010-04-09 04:34:13 +00:00
vanhu
ba30b496b8 by Eric Preston: fixed a typo 2010-04-07 14:53:52 +00:00
christos
f1b28409da ctime can return NULL 2010-04-04 01:36:03 +00:00
christos
4167ec87c5 make it obvious what ctime it is used for. 2010-04-02 15:28:16 +00:00
christos
ec03fa3be9 handle ctime returning NULL. 2010-04-02 15:26:17 +00:00
christos
467b66f1cd make it obvious to grep that ctime is being checked. 2010-04-02 15:25:04 +00:00
christos
ef20b5e868 handle ctime returning NULL. 2010-04-02 15:23:17 +00:00
christos
53ab8e0b3c make it obvious what ctime is used for. 2010-04-02 15:19:02 +00:00
christos
bd7ae6bd09 handle ctime returning NULL. 2010-04-02 15:13:26 +00:00
mrg
10c07693d7 for now, use the C versions of bn and des, not the (32 bit) versions,
on powerpc64.

from dennis.c.ferguson@gmail.com in PR#43073.
2010-03-30 07:23:51 +00:00
bouyer
542d193bfe Apply patchset 19476 from openssl repository, fixing CVE-2010-0740.
from http://www.openssl.org/news/secadv_20100324.txt:
"In TLS connections, certain incorrectly formatted records can cause an OpenSSL
client or server to crash due to a read attempt at NULL".
2010-03-28 11:32:29 +00:00
joerg
57d3f386e1 Quote lines that start with . and should appear literally. 2010-03-20 20:34:56 +00:00
uwe
2ff643e1f6 Move openssl to the front of SUBDIR list and add .WAIT after it since
both netpgp and openssh depend on it.  This should fix intermittent
failures of parallel builds (as seen e.g. on the autobuild cluster).
2010-03-20 02:07:33 +00:00
wiz
5bf3ce156d Sort options. Capitalize first letter in sentence. Use standard
section headers.
2010-03-16 08:29:09 +00:00
agc
65386b7262 Changes to 2.99.2/20100315
+ make subkey sigs available by hkp as well as on the command line
+ use the sketchily-defined vindex option to the hkp protocol to
  return the subkey signature information
+ add a netpgp_unsetvar() function as a corollary to netpgp_setvar()
+ use a variable name of ''subkey sigs'' to denote that subkey
  signatures should be returned with the pubkey uids
2010-03-16 04:14:29 +00:00
agc
298da0bcbe kill 2 benign errors - don't try to listen on a socket if it's not been
opened and bound.
2010-03-16 00:24:49 +00:00
agc
aa9b203774 various changes to the hkpd server
+ add a man page for hkpd(8)
+ add support for ipv6 as well as ipv4. individual families can be specified
  on the command line using the -f argument. default to inet4 and inet6.
+ rationalise the process of getting a socket and binding to it for hkpd.
2010-03-16 00:22:52 +00:00
agc
66373914f1 catch up with the change in signature (hah!) for netpgp_list_keys(3). 2010-03-14 00:55:32 +00:00
agc
5aae2c74b0 Changes to 2.99.1/20100313
+ add functionality to parse basic signature subkeys
+ in doing so, add expiration of keys
+ at the same time, add revocation of keys
+ recognise the primary user id, and use it when displaying user ids
+ recognise self signed keys and subkeys
+ rework the indentation of output
+ add the --list-sigs [userid] option to netpgpkeys(1)
+ use memcmp(3) rather than strcmp(3) when checking binary user ids to
  be exported
+ add expiration display to subkey signature output
+ update libnetpgp library version major number to 3
2010-03-13 23:30:40 +00:00
agc
989a0aa6c2 make sure that the expiration date and time are attached to the correct key 2010-03-12 01:22:01 +00:00
christos
fcbd1014fb PR/42363: Yasuoka Masahiko: Second part of the patch: iterate only on the
phase2 handles that are bound by the given phase1 handle.
2010-03-11 15:44:48 +00:00
agc
582004928e ensure that we have an element in the array before we try to store a value
in it.
2010-03-08 08:56:03 +00:00
agc
c973dd493c Changes to 1.99.22/20100307
+ add key expiry information to public key information display
2010-03-08 07:37:23 +00:00
agc
d9a9c03c7b Changes to 1.99.21/20100305
+ clean up some lint
+ the obligatory ''build on mac os x fixes'' - <inttypes.h> header file
2010-03-05 19:58:38 +00:00
agc
62ab1e4abf clean up some lint that crept in. 2010-03-05 16:30:05 +00:00
agc
b15ec256c0 Update netpgp to version 1.99.20/20100304 - portability improvements, and bug fixes:
Changes to 1.99.20/20100304

	+ move args to some functions around to be consistent
	+ use uint*_t where appropriate
	+ fix bug in verify memory
	+ add documentation to manual pages to show how to do combined
	  signing/encryption and decryption/verification
	+ make verification of ascii-armoured memory work the same as binary
	+ eliminate use of strdup(3), strcasecmp(3), and strptime(3). NetBSD/pkgsrc
	  PR 42922 applies - need to define _XOPEN_SOURCE and _BSD_SOURCE for
	  newer linux platforms with glibc 2.10.1. solved a bit differently, by
	  implementing strdup(3) and strcasecmp(3) independently, and using regexps
	  to avoid calling strptime(3).
2010-03-05 16:01:09 +00:00
tteras
e3413574b5 From Stefan Bauer: Fix multiple typoes and manpage formatting errors. 2010-03-05 06:47:58 +00:00
vanhu
709abc828e From Pierre POMES: fixed admin port initialization 2010-03-04 15:13:53 +00:00
joerg
0cb1711763 Ensure that SHA384 always calls the SHA384 functions.
Should fix PR 42881.
2010-03-01 21:47:43 +00:00
agc
b62679aaf5 add the scripts used to test the hkpd.
fwiw, the hkp client script is - essentially - 7 lines of lua, using
libcurl for the http transport.
2010-03-01 07:52:21 +00:00
agc
c854a26d0d add an embryonic httpd key server (hkpd) to netpgp. this is based on the
discontinued draft for hkp servers, in lieu of any official rfc.

the post method for adding keys to the server has not been implemented.
not until i've gone through all of the implications, anyway.

hkp servers serve up pgp public keys over http. the default port is 11371,
but it can be any port, specifiable at run time. whilst this hkpd will
return valid html to browsers, it is aimed at the ''machine readable''
side, using the ''&options=mr'' option to the http get string.

this hkpd server will get hooked into the build at a later date.
2010-03-01 07:41:56 +00:00
snj
ccaf1e96be Fight the ever-increasing size of src checkouts by spelling "useful"
without an extra l.
2010-02-28 15:52:16 +00:00
wiz
506778b851 New sentence, new line; remove trailing whitespace. 2010-02-24 08:22:58 +00:00
agc
156f140565 fix a bug in verifying memory.
add two examples to the netpgp(1) manual page outlining how to sign
and encrypt via a pipeline, and how to decrypt and verify/cat using a
pipeline.
2010-02-23 01:24:44 +00:00
wiz
8f657e21de Fix typo (specifed -> specified). 2010-02-18 14:00:39 +00:00
agc
de7c94ffb6 let's get modern int types defined so that netpgp will build on mac os x 2010-02-13 00:14:00 +00:00
agc
0aa60872e9 Changes to 1.99.19/20100212
+ plug some memory leaks, from cppcheck via Thomas Klausner (thanks!)
+ make the singular of time units read correctly
+ print decryption key info properly when prompting for passphrase
2010-02-12 03:38:48 +00:00
agc
fef71af2b2 changes to 1.99.18/20100211
small steps, but lots of them - this is the first one.

+ print out the correct key information when signing files and memory.
  what used to be printed out was the copy of the public key which is
  stored as part of the private key(!). does not address the info shown
  when decrypting, since that is done in a different way, by callback.
  this whole part needs to be re-written, but will have to wait for two
  good hands.
2010-02-11 17:46:09 +00:00
wiz
8e35c759e7 Fix typo in comment. 2010-02-09 23:05:16 +00:00
agc
2b48e3a662 Update netpgp to version 1.99.17/20100208
Changes to 1.99.17/20100208

+ get rid of last 2 static variables - use the __ops_printstate_t struct
  passed down, and add the indent variable here too
+ get rid of 3 occurrences in reader.c where an automatic buffer was
  addressed (as part of a subsequent callback) by a struct field from
  a calling scope, and only valid within the callback.  Found by
  Flexelint and phk - many thanks.
+ print filename/"memory" when time problems occur when validating signatures
2010-02-08 17:19:11 +00:00
dsl
024dc5b629 Fix printf formats on amd64 (and probably other 64bit systems). 2010-02-06 10:50:52 +00:00
agc
600b302b23 Changes to 1.99.16/20100205
+ minor simplifications to netpgp(1) internally
+ fix a bug in netpgp_verify_file where a non-existent file while listing
  packets would cause a SIGSEGV
+ add duration arg to netpgp(1), and check for validity when verifying
  signatures
+ add birthtime arg to netpgp(1), and check for validity when verifying
  signatures
+ add netpgp commands to print pubkey, if desired
+ allow the passphrase for the signature to be taken from --pass-fd
+ get rid of static indent value when printing packet contents
+ print signature validity times when verifying a file's signature
2010-02-06 02:24:33 +00:00
roy
98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
joerg
0fa8619ec0 Fix some POD errors in the OpenSSL man pages. Regen them. Install some
missing man pages.
2010-01-24 21:19:53 +00:00
joerg
92dbe11dbb Make VERSION work with newer OpenSSL. 2010-01-24 19:16:05 +00:00
christos
6439b76ce2 make the window size function return the lines and columns variables separately
instead of depending on the existance of struct winsize. Technically I should
bump the library version or version the symbol, but nothing seems to use this
outside the library!
2010-01-24 16:45:57 +00:00
christos
6e3a01841c don't expose struct winsize needlessly. 2010-01-24 16:42:12 +00:00
taca
bf8e25a5bf Fix to deal with CVE-2009-4355 from OpenSSL's repositroy. 2010-01-22 03:42:47 +00:00
tsutsui
9357df271a Backout previous. 2010-01-20 19:54:07 +00:00
tsutsui
64cc3f120f Backout previous which breaks build on NetBSD. Pointed out by wiz@.
Probably we have to add a check for HAVE_STRUCT_WINSIZE
in src/tools/configure as src/crypto/dist/heimdal/configure does.
2010-01-20 15:03:50 +00:00
tsutsui
ad30688c11 Don't include src/include heimdal/roken.h on tools build because
it's "an OS dependent, generated file" configured for the target NetBSD
as noted in itself.  Instead, include <roken-common.h>
(which is included from generated <roken.h> and required
for TRUE and fALSE definitions) and "nbtool_config.h" on tools build.

Fixes PR toolchain/41435 and makes cross build on Cygwin-1.7 work.
No particular comments in the PR.
2010-01-20 12:54:17 +00:00
wiz
e15635055f Free strdeupped string after using it. Found by cppcheck. 2010-01-17 23:03:01 +00:00
wiz
44e3b1fff7 Close file handles after using them. Found by cppcheck. 2010-01-17 23:02:48 +00:00
joerg
0e901e0c61 Use .%U instead of .%O for URLs. 2010-01-15 19:18:51 +00:00
tonnerre
e5ca1f295b Instead of unconditionally disabling SSL3 renegociation, add the flag
SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION which can be set by the
software which needs unsafe renegociation. Patch from OpenSSL CVS.
2010-01-10 16:39:10 +00:00
joerg
3a06db1475 Don't use .Xo/.Xc. Fix date format. 2010-01-08 16:37:39 +00:00
christos
47dc77041d merge changes. 2009-12-27 01:40:46 +00:00
christos
3fab09205c import openssh 5.3 2009-12-27 01:07:02 +00:00
christos
bfc463fe1e merge conflicts and undo the session renegotiation disabling code. 2009-12-27 00:48:55 +00:00
christos
cef2ee707e import SNAP-20091226 2009-12-26 23:29:52 +00:00
agc
bb371892fc Add tests for memory encryption and decryption, and signing and verification
(by pipes).
2009-12-22 07:09:39 +00:00
agc
46c46156b2 Remove a code excerpt which is not ready for primetime just yet 2009-12-22 06:55:03 +00:00
agc
5836ded60b Modify regression test suite behaviour - remove the (error) tests for
commands with no file arguments, as input will now be taken from stdin,
and output will go to stdout, if no file arguments are given on the
command line.
2009-12-22 06:53:26 +00:00
agc
7e08eafcff Fix error in merge of previous change shown up by regression tests. 2009-12-22 06:51:31 +00:00
agc
d369874e4b Netpgp changes to 1.99.15/20091221
+ some ssh host keys do not have the username of the generator included
  in the key itself. If there is no username in there, create one.
+ added netpgp_encrypt_memory() and netpgp_decrypt_memory()
+ overhaul netpgp(1) to work with stdin/stdout if no filenames specified:

% netpgp --encrypt < a | netpgp --decrypt > b
netpgp: default key set to "C0596823"
netpgp: default key set to "C0596823"
pub 2048/RSA (Encrypt or Sign) 1b68dcfcc0596823 2004-01-12
Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823
uid              Alistair Crooks <agc@netbsd.org>
uid              Alistair Crooks <agc@pkgsrc.org>
uid              Alistair Crooks <agc@alistaircrooks.com>
uid              Alistair Crooks <alistair@hockley-crooks.com>
netpgp passphrase:
% diff a b
% ls -al a b
-rw-r--r--  1 agc  agc  15243 Dec 20 08:55 a
-rw-r--r--  1 agc  agc  15243 Dec 21 17:15 b
%

% netpgp --sign < a | netpgp --cat > b
netpgp: default key set to "C0596823"
netpgp: default key set to "C0596823"
pub 2048/RSA (Encrypt or Sign) 1b68dcfcc0596823 2004-01-12
Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823
uid              Alistair Crooks <agc@netbsd.org>
uid              Alistair Crooks <agc@pkgsrc.org>
uid              Alistair Crooks <agc@alistaircrooks.com>
uid              Alistair Crooks <alistair@hockley-crooks.com>
netpgp passphrase:
Good signature for <stdin> made Mon Dec 21 18:25:02 2009
using RSA (Encrypt or Sign) key 1b68dcfcc0596823
pub 2048/RSA (Encrypt or Sign) 1b68dcfcc0596823 2004-01-12
Key fingerprint: d415 9deb 336d e4cc cdfa 00cd 1b68 dcfc c059 6823
uid              Alistair Crooks <alistair@hockley-crooks.com>
uid              Alistair Crooks <agc@pkgsrc.org>
uid              Alistair Crooks <agc@netbsd.org>
uid              Alistair Crooks <agc@alistaircrooks.com>
uid              Alistair Crooks (Yahoo!) <agcrooks@yahoo-inc.com>
%

+ add explanations of memory-based operations to manual pages
2009-12-22 06:03:24 +00:00
christos
c32b972e5f Put the CPPFLAGS in a separate Makefile.inc so that all the defines are
visible in the LIB build. Fixes problem with X11BASE and readpass.c
2009-12-19 18:00:26 +00:00
agc
5761f11cec Preserve the existing value of an extern variable across the call to
process_sign_request2().
2009-12-17 15:55:16 +00:00
agc
d028655a8d Bump the netpgp base version to 1.99.14 for the release changes. 2009-12-14 23:35:06 +00:00
agc
9e63cf3fca 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
2009-12-14 23:29:56 +00:00
tteras
119e5ecd44 From Paul Wernau: vmbuf.h was defined twice in the headers. Remove the
redundant entry so new install tool does not complain about overwriting
just installed file.
2009-12-11 09:04:04 +00:00
agc
1fc3f56acb Minor change (benign everywhere else) to pick up the asprintf(3)
prototype on Linux - caught by Alan Horn.
2009-12-09 22:10:51 +00:00
agc
5674064867 Add a prototype for netpgp_match_list_keys() 2009-12-07 16:56:03 +00:00
martin
071ab236f8 size_t %z police 2009-12-07 16:55:37 +00:00
agc
93d262f9d5 + The internal variable "sshetcdir" has been renamed to "sshkeydir"
+ Take advantage of the new regular expression searching methods
2009-12-07 16:18:44 +00:00
agc
99e2a61b78 The internal variable "sshetcdir" has been renamed to "sshkeydir" 2009-12-07 16:17:57 +00:00
agc
183e04eb84 + When using ssh keys, use the first key as the default userid, unless
specified.

+ The internal variable "sshetcdir" has been renamed to "sshkeydir"

+ When matching the text fields in the username, use an ICASE, NOSUB, EXTENDED
regular expression. This allows more advanced ways of searching, such as:

% netpgpkeys --list-keys '\.de\>'

to find all the keys in the default keyring which have an email address
in Germany. This is actually surprisingly useful.
2009-12-07 16:17:17 +00:00
agc
5b91f35fb9 Fix up some lint.
Change the license on new files to a 2-clause one.
2009-12-06 17:43:05 +00:00
martin
f20c48026a printf format fixes to make it compile 2009-12-05 17:23:39 +00:00
wiz
e34d48521a Correct Xref to libnetpgp(3). 2009-12-05 10:05:54 +00:00
agc
1e9d36d82d Update the manual page for the addition of ssh host keys. 2009-12-05 07:33:18 +00:00
agc
d6c0ee4fff One more thing in the "Done" section - add ssh host keys 2009-12-05 07:21:07 +00:00
agc
561d2d6ad0 Add new files into netpgp lib 2009-12-05 07:17:29 +00:00
agc
91c29c7450 Add the ability to use ssh host keys (on the fly) to provide RSA keys.
These keys can be used in the same way as normal PGP keys - to sign, verify,
encrypt and decrypt files and data.

	% cp configure a
	% sudo netpgp --ssh-keys --sign --userid 1e00404a a
	Password:
	pub 1024/RSA (Encrypt or Sign) 040180871e00404a 2008-08-11
	Key fingerprint: c4aa b385 4796 e6ce 606c f0c2 0401 8087 1e00 404a
	% sudo chmod 644 a.gpg
	% netpgp --ssh-keys --verify a.gpg
	netpgp: default key set to "C0596823"
	can't open '/etc/ssh/ssh_host_rsa_key'
	Good signature for a.gpg made Fri Dec  4 23:04:36 2009
	using RSA (Encrypt or Sign) key 040180871e00404a
	pub 1024/RSA (Encrypt or Sign) 040180871e00404a 2008-08-11
	Key fingerprint: c4aa b385 4796 e6ce 606c f0c2 0401 8087 1e00 404a
	uid              osx-vm1.crowthorne.alistaircrooks.co.uk (/etc/ssh/ssh_host_rsa_key.pub) <root@osx-vm1.crowthorne.alistaircrooks.co.uk>
	% uname -a
	NetBSD osx-vm1.crowthorne.alistaircrooks.co.uk 5.99.20 NetBSD 5.99.20 (ISCSI) #0: Wed Oct  7 17:16:33 PDT 2009  agc@osx-vm1.crowthorne.alistaircrooks.co.uk:/usr/obj/i386/usr/src/sys/arch/i386/compile/ISCSI i386
	%

The ssh host keys do not need to be manipulated in any way - the information
is read from existing files.
2009-12-05 07:08:18 +00:00
christos
4ab80ffe22 Disable SSL V3 session renegotiation since the protocol parameters of the
old session are not cryptographically tied to the new session ones.
NB: Applications that require session re-negotiation will fail after this
update.
2009-12-03 23:44:33 +00:00
agc
7d576ad983 Add python bindings for netpgp, via swig.
When using python, always add the dumb symbolic link to the library name.
2009-12-02 00:32:06 +00:00