Commit Graph

438 Commits

Author SHA1 Message Date
christos
8993f5949b Add GLOB_LIMIT to the glob calls to prevent DoS attacks. 2010-07-06 15:09:41 +00:00
mrg
4c92852a80 remove almost all the ability to build netbsd with an a.out target.
we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.

this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format.  ie, most of this code has been dead for
over a decade.

i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k.  this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.


some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
  down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
2010-07-06 05:59:50 +00:00
agc
2473820b58 take advantage of appropriate defaults when calling ssh key commands 2010-07-01 04:28:33 +00:00
agc
f46123a333 if using ssh keys with any of the netpgp programs, set the home
directory appropriately.

add some aliases for long command options across all programs
2010-07-01 04:27:21 +00:00
agc
8aede0d81f Use the correct default ssh user key file (just a typo).
Use the portable strcasecmp() function.
2010-07-01 03:52:13 +00:00
agc
5d9dc9f8e8 check both host and user ssh keys match the host and user keys from netpgpkeys.
also echo the keys being compared
2010-07-01 03:51:07 +00:00
agc
c24741dcba factor out the code which recognises ASCII-armour into its own function. 2010-07-01 00:42:51 +00:00
agc
708e54dea7 also calculate the length of DSA keys as well as RSA ones 2010-06-30 15:18:10 +00:00
agc
3f7db2c559 factor out code to append a key to the pubring file.
recognise ascii-armoured headers on keys when importing.
2010-06-30 15:17:40 +00:00
agc
ad39646b85 Fix build problems on LP64 platforms - thanks to Paul Goyette for the nudge. 2010-06-25 18:30:16 +00:00
wiz
5cee6a1fc5 Remove trailing whitespace. Use command without path (not
necessary on NetBSD, wrong if installed from pkgsrc). Bump date for previous.
2010-06-25 07:40:35 +00:00
agc
47561e266e Changes to 3.99.5
+ make ssh fingerprints (md5) match netpgp listing
+ use the more functional hexdump function from ssh2pgp in place of the
  older hexdump function from openpgpsdk
+ pass hash type down from command line where needed
+ add test for netpgp/ssh key fingerprint matching
+ make netpgpkeys(1) take a --hash= option

With these changes, netpgp can be made to generate the same fingerprint as
openssh (by default, ssh-keygen(1) uses an md5 digest)

% /usr/bin/netpgpkeys --ssh-keys --sshkeyfile=/etc/ssh/ssh_host_rsa_key.pub --list-keys --hash=md5
1 key
pub 1024/RSA (Encrypt or Sign) fcdd1c608bef4c4b 2008-08-11
Key fingerprint: e935 902d ebf1 76ba fcdd 1c60 8bef 4c4b
uid              osx-vm1.crowthorne.alistaircrooks.co.uk (/etc/ssh/ssh_host_rsa_key.pub) <root@osx-vm1.crowthorne.alistaircrooks.co.uk>

% ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
1024 e9:35:90:2d:eb:f1:76:ba:fc:dd:1c:60:8b:ef:4c:4b /etc/ssh/ssh_host_rsa_key.pub (RSA)
%
2010-06-25 03:37:27 +00:00
agc
5d13bf3258 At the request of Alan Horn, clarify the purpose of netpgp_get_info(). 2010-06-18 00:20:28 +00:00
agc
79874ba501 Check for a null keyring before listing keys - with thanks to Jeff Rizzo
for the problem report.
2010-06-02 03:38:01 +00:00
agc
d4dd9b7f87 commit version number change 2010-06-02 03:15:14 +00:00
agc
c1b0e8cc6b avoid another compiler warning 2010-06-01 06:07:56 +00:00
agc
b74565db46 remove an unused variable 2010-06-01 06:01:29 +00:00
agc
2ecd1d0a69 Update netpgp to 3.99.3
Changes since 3.99.2:
+ avoid possible free() of new value passed to netpgp_setvar(),
  with thanks to Anon Ymous.
+ netpgpkeys(1):  print keys to stdout, not stderr - reported by Anon
  Ymous.
+ fix DSA signatures and verification
+ simplify and shorten the internals of packet processing by getting rid of
  the intermediate pseudo-abstraction layer, which detracted from understanding
  and had no benefit whatsoever. Rename some enums and some definitions.
+ add some checking to new key generation, and don't try to read in
  the keys after writing them - reported by Tyler Retzlaff
2010-06-01 05:55:55 +00:00
agc
0e3d0b8191 make sure we have created a directory when generating a new key.
don't try to re-read the key after writing it - that's done by a separate
function. Problem found by Tyler Retzlaff, fixed in a different way.

check that keyrings are non-NULL before attempting to free them - from a
nudge by Tyler Retzlaff.
2010-06-01 05:22:38 +00:00
agc
9fc2904ac1 when cleaning up, don't try to free the public key which is part of the
secret key - shown up by Mac OS X malloc.
2010-06-01 03:19:26 +00:00
agc
806171a804 catch up with new structure for netpgpverify - from Tyler Retzlaff 2010-05-31 06:09:41 +00:00
agc
352d609304 WARNS=5 now 2010-05-25 01:06:41 +00:00
agc
d427c17d1e Simplify and shorten the internals of packet processing by getting rid of
the intermediate pseudo-abstraction layer, which detracted from understanding
and had no benefit whatsoever. Rename some enums and some definitions.
2010-05-25 01:05:10 +00:00
agc
2f931ff55c correct indentation - no functional change 2010-05-21 14:28:44 +00:00
agc
b70f7cde8e Protect against NULL pointers in key output in a different way - only
advance its counter if it's non-NULL.

Regression test for this is:

	netpgpkeys --list-key '\.de\>'

with my standard keyring (to list all keys which have at least one subuid
with a German email address).
2010-05-21 06:53:51 +00:00
agc
85e1ce333a avoid a duplicated error message 2010-05-20 14:43:42 +00:00
agc
8f036637a6 extend the resolve_userid() function to take a keyring, and use it for
functions which require a secret key as well.
2010-05-20 14:42:21 +00:00
agc
c2035aa4d5 add a static function to resolve the userid in one place, and start to use it 2010-05-20 00:36:31 +00:00
agc
9ec81417ee The experiment in keeping a separate, trimmed-down codebase for just the
verify functionality was useful, but the time has come to learn lessons
and move on.

Replace the trimmed down code with a call to the verification code from
libnetpgp(3).
2010-05-20 00:33:01 +00:00
agc
0eeb5498cc One more reason not to use DSA keys:
The DSA algorithm seems to require a digest value which is 20 bytes
long, which kind of implies SHA-1.

If we have a DSA signature, use SHA-1 as a hash algorithm, for backwards
compatibility. RSA signatures continue to use SHA256 by default, although
this can be given as an argument, if desired.

This fixes DSA signatures with netpgp:

% netpgp --sign --userid d4a643c5 a
pub 1024/DSA 8222c3ecd4a643c5 2010-05-19 [EXPIRES 2013-05-18]
Key fingerprint: 3e4a 5df4 033b 2333 219b 1afd 8222 c3ec d4a6 43c5
uid              Alistair Crooks (DSA TEST KEY - DO NOT USE) <agc@netbsd.org>
sub 1024/DSA 8222c3ecd4a643c5 2010-05-19 [EXPIRES 2013-05-18]
netpgp passphrase:
% netpgp --verify a.gpg
Good signature for a.gpg made Tue May 18 05:41:25 2010
using DSA key 8222c3ecd4a643c5
pub 1024/DSA 8222c3ecd4a643c5 2010-05-19 [EXPIRES 2013-05-18]
Key fingerprint: 3e4a 5df4 033b 2333 219b 1afd 8222 c3ec d4a6 43c5
uid              Alistair Crooks (DSA TEST KEY - DO NOT USE) <agc@netbsd.org>
sub 1024/DSA 8222c3ecd4a643c5 2010-05-19 [EXPIRES 2013-05-18]
%
2010-05-19 02:50:16 +00:00
agc
8755cbec2a When setting up res (results), errs (error) and outs (outputs) streams,
change the pre-defined stdio streams to be denoted by "<stdout>" and
"<stderr>", to distinguish them from file names.

In netpgpkeys(1), send the default "res" (results) stream to stdout,
rather than stderr. Requested by Anon Ymous (and makes perfect sense).
2010-05-16 06:48:52 +00:00
agc
b4f06d28e0 Avoid a possible overwrite of a value in the (key, value) array, in
the event that a reference to the value is passed to the
netpgp_setvar() function as the new value.  Problem noted, cause
detected, and most of the fix contributed by, Anon Ymous.  Thanks!
2010-05-16 06:21:14 +00:00
agc
37bb0457f6 fix a piece of lint 2010-05-16 02:46:25 +00:00
joerg
c0597ae815 RETURN VALUES -> EXIT STATUS 2010-05-14 17:27:35 +00:00
joerg
db8ff3b4ab Fix .Dd format. 2010-05-14 01:46:04 +00:00
joerg
5289091371 Fix date. Fix trailing whitespace. 2010-05-14 01:44:05 +00:00
jnemeth
ee8753142e Fix tunnelling (ssh -w). The kernel expects a device to be passed
to the socked, not a path.
2010-05-10 20:28:05 +00:00
agc
5111f71337 if the home directory does not exist, still set its value as a netpgp
variable, as the netpgpkeys(1) program, for one, will try to create the
home directory if it does not exist.

should fix PR 42435
2010-05-08 04:17:45 +00:00
agc
763a92f619 create the home directory, if it doesn't exist, in a slightly less opaque manner 2010-05-08 04:16:20 +00:00
agc
313fa53dd5 use the correct filed type for a size_t 2010-05-08 02:54:25 +00:00
agc
5c29ffdc5b regen for netpgp 3.99.2, 20100507 version 2010-05-08 02:45:45 +00:00
agc
3c1d4d3626 enumerate all the tests to see easily which ones failed.
add a test for signed armored detached signature and verification
2010-05-08 02:18:05 +00:00
agc
a6115c8c26 more uses of hexdump() rather than open-coded equivalents 2010-05-08 02:17:15 +00:00
agc
651dd2889a use hexdump() where possible.
get rid of all traces of dmalloc - it's not used anymore. we can now g/c
initialisation functions which do not do anything.

also get rid of the pkeyid() functions, which just prints a
hexadecimal string
2010-05-08 00:33:28 +00:00
agc
afcc02d5b5 use hexdump() function where appropriate.
change the way that we generate a detached signature file, so that ascii
armour is used if --armor is specified. addresses PR 43248 from Juan RP.
2010-05-08 00:31:07 +00:00
agc
c31f7586f7 minor cosmetic indentation fixes - no functional change 2010-05-08 00:27:08 +00:00
agc
026af9fa14 don't try to be too clever and guess the signature file name from the
raw data - just conform to expected practice, and only infer names if
given an ascii armoured detached signature, or a binary detached
signature.
2010-05-08 00:26:39 +00:00
agc
3c9ac68a81 not much point in defining a function to dump in hexadecimal if we don't
use it.
2010-05-08 00:24:47 +00:00
agc
2c8603b102 Sync with reality using patch provided by Juan RP in PR 43259. Thanks! 2010-05-07 16:29:09 +00:00
agc
24bfedc52f Don't rely on \r\n line endings when doing comparisons on strings for
the presence of ASCII armored signatures. Be consistent with the spelling
of certain transatlanticly-munged words.
2010-05-07 16:22:39 +00:00
agc
3644eb843e Overhaul the mechanism used to decide what is a detached signature, and
a detached armoured signature, as well as just a plain standard signed
file.

This is in response to PR 43245 from Juan RP, and addresses the
verification of detached armoured signatures, but in a different way
to the patch provided in the PR which is hopefully more generic, and
less reliant upon size of detached signature files.
2010-05-07 16:20:07 +00:00
agc
4a8a90f84b Remove a duplicate example - from Juan RP in private mail - thanks! 2010-05-07 05:58:25 +00:00
agc
3b87f49f1b refer to the key fingerprint, and show how to find it in normal output. 2010-05-07 05:55:46 +00:00
agc
9ce8176ea5 Make this compile with gcc 4.5 - patch from Juan RP in PR pkg/43244 2010-05-04 00:02:46 +00:00
wiz
45d13a5b07 Fix date strings. 2010-04-29 18:14:09 +00:00
tron
ed8d7a6df6 Don't mention "umac-64@openssh.com" MAC algorithm which is not enabled
in our SSH client and daemon as it causes crashes on architectures which
strict aligment requirements (e.g. NetBSD/sparc64).

This fixes PR bin/43221 by myself.
2010-04-29 17:56:53 +00:00
agc
902794345f update python bindings to work with newer library interface 2010-04-28 14:41:13 +00:00
agc
cc1edcab1c refresh the perl bindings to catch up with the changes in the library 2010-04-28 14:01:27 +00:00
wiz
5543ce710d Remove trailing whitespace; use standard section headers. 2010-04-14 08:14:26 +00:00
agc
67957bdf5e Update netpgp to version 3.99.1
Changes to 3.99.1/20100413

+ bump major command versions to be compatible with shlib major
+ fixed a number of bugs in (RSA) key generation
+ modified netpgpkeys(1) to take an optional argument to --generate-key
  if the argument is provided, it is used as the equivalent of the gecos
  field for the newly-generated key.
2010-04-14 06:31:23 +00:00
agc
a01ab05761 WARNS=4 fix for an unused arg 2010-04-14 06:23:37 +00:00
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
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
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
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
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
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