Commit Graph

1805 Commits

Author SHA1 Message Date
christos e97383ebc1 Don't lets this linger around forever. Causes hidden bugs. 2009-07-20 22:55:47 +00:00
christos d7ed66ca45 make tests compile! 2009-07-20 20:41:05 +00:00
christos 71cfba1556 ssh has moved (a long time ago) 2009-07-20 17:39:01 +00:00
christos 75efea6592 bump libcrypto and friends; OpenSSL abi change: do_cipher last argument
changed from u_int to size_t. Affects _LP64 only.
2009-07-20 17:30:52 +00:00
christos 35bdca4d17 use the proper libcrypto 2009-07-20 15:48:16 +00:00
christos 58e8878cb5 use the proper libcrypto 2009-07-20 15:43:51 +00:00
christos 9610bc301c make sha256/512 binary compatible with the libc version which we now use. 2009-07-20 15:34:49 +00:00
christos c9c3cfbcf5 catch up with openssl's abi change. do_cipher length changed from u_int to
size_t.
2009-07-20 15:33:44 +00:00
christos 22505a154a add openssl 2009-07-19 23:44:20 +00:00
christos e3aebf9996 new openssl 2009-07-19 23:43:46 +00:00
christos 2e69c03e37 openssl moved 2009-07-19 23:34:00 +00:00
christos 75534b786a Add one more generated file and install in /usr/bin 2009-07-19 23:33:34 +00:00
christos 49d46fa3c8 - add build glue
- apply our changes
2009-07-19 23:30:37 +00:00
christos a89c9211e5 import new openssl snapshot 2009-07-19 23:01:17 +00:00
apb 87c0c2be33 Add missing va_start before varargs processing.
Part of PR 41255 from Kurt Lidl.
2009-07-14 20:54:25 +00:00
tteras aab4a00722 From Arnaud Ebalard: Fix possible usage of uninitialized local variable
(not sure if any code path triggers this, but this makes compiler happy).
2009-07-07 12:25:22 +00:00
agc 51e16c73a5 Move the null file checks for sign/verify/encrypt/decrypt down into the
library itself. Update the regression test script to add some tests.
2009-07-07 01:13:07 +00:00
agc 1eddadf4f7 Add two more items to the TODO list 2009-07-07 01:12:06 +00:00
spz 1513d3badc fix break for non-64bit systems due to non-applying macro resp variable
having crept in with the last patch.
ok martin, compile tested mbalmer and martin
2009-07-05 11:35:53 +00:00
tonnerre a75354f443 Fix various vulnerabilities in OpenSSL which have not previously been
addressed: CVE-2009-1377, CVE-2009-1378, CVE-2009-1379, CVE-2009-1386
and CVE-2009-1387.

Changes deal mostly with size checking of various elements and fixes
to various error paths.
2009-07-04 19:52:10 +00:00
tteras 3d0db58d61 Get rid of the evil CMPSADDR macro. Trac #295. 2009-07-03 06:41:46 +00:00
tteras edd4f79009 From Yvan Vanhullebus: Use SADB_X_EXT_NAT_T_* consistently for passing the
NAT-T port information. This might break compatibility with some kernels,
but as discussed this is the proper way to pass NAT-T ports and the broken
kernels need to be fixed.
2009-07-03 06:40:10 +00:00
agc 0ff3383f59 Check that a filename has been given, where one has required. Fixes a bug
reported by Mark Kirby.
2009-06-30 18:54:20 +00:00
tonnerre f7384c4a6a Add special handling for CBC cipher modes to make them appear less favorable
than CTR modes. Also, in order to avoid creating oracles unnecessarily,
change behavior in various situations from "Drop connection" to "Ignore
packets up to 256kB". This affects CBC mode ciphers only.

Patch from OpenBSD.
2009-06-29 22:52:13 +00:00
tteras a8d702d9b1 Fix a call to null pointer: in some cases, the unmonitor_fd can be called
from another fd's callback. That could lead to still have callback pending
after unmonitoring the fd resulting in a call to null pointer.
This is fixed by making unmonitor_fd now clear the pending fd_set too.
Bug was introduced by my commit in 2008-12-23.
2009-06-24 11:28:48 +00:00
christos f48c7833ea PR/41628: Jukka Salmi: OpenSSL's c_rehash can't find openssl binary 2009-06-23 14:08:02 +00:00
martin 14c9b3749d Actually use the new (non-shortcut) functions for SHA224 2009-06-16 11:15:29 +00:00
joerg a44a031cb3 Don't take short cuts and use the SHA224 functions to compute SHA224.
At least for Final it makes a difference in some situation.
2009-06-14 14:18:35 +00:00
agc f72138f83a Don't complain if $HOME/.gnupg does not exist (and using --homedir).
Don't require a userid to be set in the gpg.conf file - it can be set
on the command line when it's needed (for signing and encryption, the
other operations in netpgp(1) will take the userid from the
signed/encrypted file).

Add tests for the lack of a default userid in the config file.
2009-06-13 05:25:08 +00:00
agc d1923dbd04 add 3 more niggles (from Luke)
check whether a callback function is needed
2009-06-12 04:12:25 +00:00
agc b655c49f3f Update to version 1.99.12
CHANGES 1.99.11 -> 1.99.12

+ only prompt for the passphrase for the secret key if the secret key is
  protected by a passphrase
+ portability fix for Mac OS X
2009-06-11 17:05:17 +00:00
agc 6808773a84 Remove workaround not needed any more. 2009-06-11 06:45:11 +00:00
agc 7478ab55e5 + only prompt for the passphrase for the secret key if the secret key is
protected by a passphrase
2009-06-11 04:57:51 +00:00
lukem 0a833e378f Use grep to search for specific error messages rather than expecting
the entire command stderr to never change.
2009-06-11 02:55:35 +00:00
lukem 87ffa43d9a Run the "diff of expected output" in a separate AT_CHECK instead of
using the 'run-if-pass' section; this correctly detects failure.
2009-06-11 02:48:20 +00:00
lukem b042093ed7 (ab)use --pass-fd to avoid the passphrase prompt 2009-06-11 02:36:38 +00:00
lukem efcb034d7c Use AT_TESTED
Modify the PATH to the build dir instead of hardcoding NETPGP* vars.
2009-06-11 02:28:50 +00:00
lukem 99f0a62f6e two items I want and/or am working on with Al. 2009-06-11 01:17:43 +00:00
agc 9b75345600 CHANGES 1.99.10 -> 1.99.11
+ address keys array from 0 with unsigned indices
+ print results to io->res stream - default to stderr, and set using
	netpgp_setvar(..., "results", filename)
+ __ops_keyid()'s third arg was always the size of the keyid array - no need
  to pass it
+ get rid of the excessive type-checking in packet-show-cast.h, which wasn't
  necessary, and fold all the show routines into packet-show.c
+ introduce a generic __ops_new() and use it for some structure allocation
2009-06-11 01:12:42 +00:00
agc 380fd10dc6 Add netpgpkeys to the programs to build, and list the keys in the current
keyring as another test.
2009-06-10 16:38:21 +00:00
agc 14f8874ae5 Update userland programs to be able to use the "results" file 2009-06-10 16:37:41 +00:00
agc 01f9a2cc5c Add a separate res output stream for results, and print results to it.
This is settable from userlevel by using
	netpgp_setvar(..., "results", filename)
2009-06-10 16:36:23 +00:00
njoly 260e7036e1 Make _PATH_XAUTH use X11BASE prefix again, instead of hard-coded
"/usr/X11R6".
2009-06-10 16:14:29 +00:00
agc ef1ef480a8 Get rid of an unusual architectural construct:
The original code had dynamic arrays indexed by unsigned indices,
except for the array of keys, which was indexed by a signed integer,
and initialised to -1.  Subsequently, when a new id was created, the
index was pre-incremented, and later on, in a different call, the
userid (a different packet) was assigned to the current index. This
has implications for growing the array, for signed comparison checks,
and just general cleanliness.

This change overhauls the construct:  don't special case anything,
just address the array from 0, use unsigned indices same as everything
else, and complain if we get a user id for which we haven't received a
public or secret key.
2009-06-10 16:01:37 +00:00
wiz b0c00dcfa4 Remove duplicate Pp, fix a typo, wording. 2009-06-10 14:38:14 +00:00
agc 7e61309607 CHANGES 1.99.9 -> 1.99.10
+ fix a bug in decryption whereby a bad passphrase would cause a segmentation
  violation
+ fix some regressions in key searching in the underlying find keys routines
+ add C++ declaration protection to the external interface in netpgp.h
+ split out the key management parts of netpgp(1) into netpgpkeys(1)
2009-06-10 00:38:08 +00:00
agc 481090ff86 avoid a double-free of the passphrase 2009-06-09 19:32:11 +00:00
stacktic 806bebc4f9 Fixed strvisx usage 2009-06-09 13:32:46 +00:00
agc cefa0f256e Fix a bug in decryption whereby a bad passphrase would cause a segmentation
violation
2009-06-09 02:19:47 +00:00
agc d69b68cb05 Adapt to the new directory structure 2009-06-09 00:56:15 +00:00
agc 41335e2dda CHANGES 1.99.8 -> 1.99.9
+ make more use of __ops_io_t structure
+ addition of standalone, stripped-down netpgpverify utility
+ addition of test for --list-packets on an empty file
+ bring forward some simplifications from netpgpverify
	+ some name changes
	+ get rid of the increment and then decrement keycount around
	  accumulated data ("it's to do with counting")
	+ then use unsigned integers for the size and counts for the
	  dynamic array of keys, and use the common dynamic array macros
	  for keys in a keyring
	+ if it's a union, let's use it as a union, not a struct
+ modified documentation to correct the --list-packets command (sorry, ver)
+ add a new directory structure for both the distribution and the
  reachover Makefiles. The autotest framework has been partially overhauled
  but more TLC is needed here.
+ add a --pass-fd=n option so that external programs can provide the
  passphrase on a file descriptor without going through the callback,
  requested by joerg
2009-06-09 00:51:00 +00:00
wiz b1c6e76295 Sort options, fix a typo. 2009-06-08 08:02:32 +00:00
agc c24ee81d8d Fix up paths for the reachover Makefile for netpgpverify 2009-06-08 06:29:33 +00:00
agc 9067a616b3 Fix merge botch in test script 2009-06-08 06:19:31 +00:00
agc da8de2a7e7 Add the netpgpverify tests into the test script. 2009-06-08 06:16:34 +00:00
agc b3acd3dbb1 Add a manual page for netpgpverify(1). 2009-06-08 06:15:51 +00:00
agc 1dfa6d3632 Add a reachover Makefile for building the standalone netpgpverify program 2009-06-08 06:13:56 +00:00
agc 953dc192b5 Move to a different directory structure - this is the directory and
Makefile for building the netpgp program.
2009-06-08 06:13:07 +00:00
agc bfb9a93fd0 Add a cut-down, streamlined, stand-alone netpgp verification program. 2009-06-08 06:09:53 +00:00
christos 983ad222a3 handle mkcrypto 2009-06-07 22:44:04 +00:00
christos d8bad821d7 connect openssh 2009-06-07 22:42:31 +00:00
christos 733a2dd888 Add openssh 2009-06-07 22:39:35 +00:00
christos 313c6c94c4 Merge in our changes:
- conditionalize login_cap
- conditionalize bsd_auth
- bring in pam from portable
- restore krb5, krb4, afs, skey
- bring in hpn patches, disable mt aes cipher, keep speedups and cipher none
- add ignore root rhosts option
- fix ctype macro arguments
- umac is broken, disable it
- better ~homedir handling
- netbsd style tunnels
- urandom, xhome, chrootdir, rescuedir NetBSD handling
- utmp/utmpx handling
- handle tty posix_vdisable properly
- handle setuid and unsetuid the posix way instead of setresuid()
- add all missing functions
- add new moduli
- add build glue
2009-06-07 22:38:44 +00:00
christos ca32bd8de9 import 5.2 from ftp.openbsd.org 2009-06-07 22:19:00 +00:00
agc e4c9a22cd7 Add a test for the null list-packets file. 2009-06-07 01:55:02 +00:00
agc 871e03b1c5 Fix an core dump reported by Oliver Gould - if there is no file from which
to read packets to list, fail with a decent error message.
2009-06-07 01:52:48 +00:00
agc 732655c303 Some autoconfig glue around header files inclusion. 2009-06-02 15:10:07 +00:00
agc d21b929e26 CHANGES 1.99.7 -> 1.99.8
+ get rid of __ops_malloc_passphrase() - strdup() works just as well
+ generalise __ops_seckey_forget() to become __ops_forget(), give it a size
  parameter, and make it work on things other than secret keys (passphrases
  for instance)
+ minor struct field enum renaming
+ minor function call renaming
+ add ops_io_t struct to hold pointers to IO streams, and pass it down
  where necessary
2009-05-31 23:26:20 +00:00
agc 393ecd9217 CHANGES 1.99.6 -> 1.99.7
+ added to the regression tests
+ get rid of some magic constants, replace with more obvious names
+ zero out the memory used for a passphrase before freeing it in one place
2009-05-28 01:52:42 +00:00
lukem 2ae31d0241 regenerate 2009-05-28 00:32:07 +00:00
lukem c26604cdeb wrap "copy the test file" in AT_CHECK 2009-05-28 00:29:06 +00:00
lukem 90194f6da2 libtool is in the builddir not the srcdir.
wrap "copy the test file" in AT_CHECK
2009-05-28 00:28:38 +00:00
lukem 47c3c476b0 sort main tests (arguable asthetic benefit) 2009-05-28 00:27:39 +00:00
lukem 8c3a3d0499 add new tests to TESTSUITE_DEPS 2009-05-28 00:27:03 +00:00
agc a95ce5ae7c More tests for netpgp 2009-05-27 22:13:06 +00:00
agc 334e533951 Add tests for detached signature creation and verification, and for
encryption and decryption via netpgp.
2009-05-27 14:42:07 +00:00
lukem 9fe7631b77 Ensure we can't verify an unsigned file
Rename a test filename
Add some comments
2009-05-27 07:00:32 +00:00
lukem 0f17222c1c Provide a passphraseless test key for the testsuite.
Use gpg to import the test key until netpgp's key management is overhauled.

Per discussion with Alistair.
2009-05-27 06:47:57 +00:00
agc d70007f532 CHANGES 1.99.5 -> 1.99.6
+ made --homedir=d consistent with POLS. Default is $HOME/.gnupg, and
  if a directory is specified with --homedir=d, the directory containing
  conf file and keyrings is taken to be "d".
2009-05-27 05:42:24 +00:00
agc 2df14e286f Use a relative path, rather than an absolute one, to find the source 2009-05-27 04:47:08 +00:00
agc 419050018f bump shlib version 2009-05-27 04:46:33 +00:00
lukem b79d450ba1 simplify definition of TESTROOT 2009-05-27 01:54:22 +00:00
agc c64158a1df CHANGES 1.99.4 -> 1.99.5
+ Luke Mewburn completely overhauled the auto tools infrastructure
+ changed signature (hah!) of some netpgp file management prototypes to
  use const char * for file names and user ids, not char * - suggested by
  christos
+ change some of the openpgpsdk display functions to return integer values,
  and send those values back from the netpgp functions - suggested by
  christos
+ rather than passing a shedload of variables to netpgp_init(), get rid
  of them, and set variables using the netpgp_[gs]etvar() interface
+ replace some magic constants with descriptive names
+ use a netpgp variable to skip userid checks if necessary
+ add ability to allow coredumps via --coredumps if (a) you have taken
  leave of your sanity, and (b) you have some magical persistent
  storage which doesn't spare sectors, and (c) you know how to remove
  a file securely
+ bumped library version on NetBSD to 1.0 for interface changes
2009-05-27 00:38:26 +00:00
lukem b0d9fe21fa regenerate 2009-05-26 05:47:32 +00:00
lukem 14bfdb876a rcsid fixup 2009-05-26 05:42:25 +00:00
lukem 9d4ec13409 simplify header install 2009-05-26 05:41:41 +00:00
lukem fa0f212aba Improve SHA256_CTX checks; OS/X provides it in <CommonCrypto/CommonDigest.h>
even though their <openssl/sha.h> is too old.
2009-05-26 05:40:03 +00:00
lukem 5fc6630f84 Install libnetpgp.3.
Don't build -static
2009-05-26 05:20:25 +00:00
lukem 074150647a Provide a generated config.h in the NetBSD build reachover. 2009-05-26 05:11:17 +00:00
lukem bd9a120207 regen from configure.ac 1.13 2009-05-26 05:03:57 +00:00
lukem dd536fdc21 - Require <bzlib.h> -- don't just check for it.
- Check for types: long long, size_t
- <openssl/sha.1> needs <sys/types.h> on some platforms
2009-05-26 05:03:08 +00:00
lukem 1c576705ba Overhaul build infrastructure:
- use automake to generate the Makefile.in
- style reorg in configure.ac
- ensure <openssl/sha.h> provides SHA256_CTX (openssl 0.9.8 or greater)
- move the "build helpers" to buildaux
- add a rudimentary (and not yet functional) test suite

(There's still more to do.)

Per chat with Alistair.
2009-05-26 04:27:28 +00:00
lukem 11076a94d7 remove a generated file 2009-05-26 04:20:22 +00:00
agc 6715e11a99 CHANGES 1.99.3 -> 1.99.4
+ get rid of some magic constants
+ revamped regression test script to count number of tests passed
+ made checkhash array in ops_seckey_t dynamic, rather than statically
  allocated
+ made mdc array dynamic, and added a length field to mdc for future use
+ revamped usage message to match reality
+ made portable version again for the autoconfed package sources
+ add separate netpgpdigest.h file so that separate digest sizes can be
  used without having to include "packet.h" in everything
2009-05-25 06:43:31 +00:00
stacktic 9cdc17cae0 Fixed strvisx usage (ok Christos@) 2009-05-23 14:43:36 +00:00
agc b6d342175b CHANGES 1.99.2 -> 1.99.3
+ modified regression tests to make it easier to see status messages
+ modified --encrypt, --decrypt, --sign, and --clearsign as well as --cat
  to respect the --output argument for the output file. Default behaviour
  remains unchanged - if --output is not specified, standard file names
  and suffixes apply. Note that --verify has not been changed - this is
  for compatibility with gpg, POLA/POLS, and because --verify-cat/--cat
  provides this behaviour
2009-05-22 02:28:54 +00:00
wiz 3f570851bc New sentence, new line. Add ".An -nosplit" to AUTHORS section for better
formatting. Mark up filenames with .Pa. Remove trailing whitespace. Try
only using mdoc macros. Some other minor nits fixed.
2009-05-21 09:21:35 +00:00
agc 2eb852f377 Get rid of a few TODO items that aren't needed. 2009-05-21 00:35:01 +00:00
agc 648b5a9919 CHANGES 1.99.1 -> 1.99.2
+ various minor cleanups
+ fix longstanding pasto where the key server preference packets are
  displayed with the correct ptag information
+ up until now, there has been an asymmetry in the command line
  options for netpgp(1) - whilst a file may have signature information
  added to it with the "--sign" command, there has been no way to
  retrieve the contents of the file without the signature.  The new
  "--cat" option does this (there are synonyms of "--verify-show" and
  "--verify-cat") - the signature is verified, and if it matches, the
  original contents of the file are sent to the output file (which
  defaults to stdout, and can be set with the --output option on the
  command line).  If the signature does not match, there is no output,
  and an EXIT_FAILURE code is returned.
+ revamped netpgp(1) to make it clear what commands are available, how
  these commands relate to each other, and which commands take custom
  options
2009-05-21 00:33:31 +00:00
vanhu f61fedc250 typo 2009-05-20 07:54:50 +00:00
agc 7e7091d626 Remove files which aren't used any more 2009-05-19 20:07:32 +00:00
tteras 68ab535bfd From Jukka Salmi: Fix couple of typos from previous commit. 2009-05-19 09:34:52 +00:00
agc 0df5e957ce CHANGES 1.0.0 -> 1.99.1
+ released and tagged version 1.0.0; development version now 1.99.1
+ get rid of some fields which are no longer needed
+ minor name changes
+ add mmapped field to ops_data_t struct to denote that the array needs an
  munmap(2) and not a free(3)
+ add an __ops_mem_readfile() function, and use it for reading files.
  The function does mmap(2), and then falls back to read(2) if that fails.
  Retire unused __ops_fileread() which had an unusual interface
+ drop sign_detached() from netpgp.c down into signature.c as
  __ops_sign_detached()
2009-05-19 05:13:09 +00:00
tteras 0ab43f031c From Tomas Mraz: Introduce union sockaddr_any and use it to make code
more readable. Related to trac #293.
2009-05-18 17:40:38 +00:00
tteras ef94861331 From Tomas Mraz: Remove variable that is not really used; only referenced
while uninitialized causing valgrind error.
2009-05-18 17:07:15 +00:00
tteras 5e83df8c82 From Tomas Mraz: Fix natt_flags check. 2009-05-18 17:00:42 +00:00
agc f4badd9b47 + some more name changes
+ we've had the ability to sign files with a detached signature for
  a while now. We can now verify the files using the detached signature
  file.
+ in honour of this, update version numbers - 1.0.0/20090517
2009-05-18 03:55:42 +00:00
he 8cce58a8c3 Add LDADD+= and DPADD+= settings so that this builds on sun2 as well,
where we can't rely on shared libraries expressing the needs of the
program.
2009-05-17 11:38:42 +00:00
agc 57324b9f3d + don't use arrays of length 1 to hold single instances of characters,
unsigned or not - just use a single character itself
+ misc cleanup
+ rename cinfo to "output" and ops_createinfo_t to "ops_output_t" to
  be a bit more descriptive
+ shorten some long names
+ get rid of test for libgen.h - it's not needed anymore
+ bump to version 0.99.4, and 20090515 sources, regenerate configure and co
+ numerous name changes to be more consistent and more concise
+ add verbosity level to the variables that can be set and retrieved by
  netpgp_setvar() and netpgp_getvar()
+ added --verbose option to netpgp(1)
+ add __RCSID() to all files
2009-05-16 06:30:38 +00:00
wiz 4cb2500307 Remove trailing whitespace. 2009-05-14 09:42:09 +00:00
agc 4b3a3e1885 + got rid of "local" header files. These aren't necessary since the openpgpsdk
code was modified to all be in the same directory
+ added netpgp_getvar() and netpgp_setvar(), and use them to get and set the
  user id and hash algorithm preference
+ get rid of <stdbool.h> usage - I'm still not sure this is the way we should
  be going long term, but the bool changes got integrated with the others,
  and are there in cvs history if we want to resurrect them. Correct autoconf
  accordingly. Bump netpgp minimus version, and autoconf-based date version.
+ updated documentation to reflect these changes
2009-05-14 03:59:53 +00:00
agc 2232f8005f Commit the weekend's changes:
+ minor name changes
+ remove duplicated code (commented out) in packet-print.c
+ original code contained abstraction violations for hash size - fix them
+ get rid of some magic constants related to length of hash arrays
+ allow a choice of hash algorithms for the signature digest (rather
  than hardcoding SHA1 - it is looking as though collisions are easier
  to manufacture based on recent findings)
+ move default signature RSA hash algorithm to SHA256 (from SHA1). This is
  passed as a string parameter from the high-level interface. We'll
  revisit this later after a good way to specify the algorithm has been
  found.
+ display the size of the keys in --list-packets
+ display the keydata prior to file decryption
2009-05-12 00:37:52 +00:00
agc b1b5870651 + add a --help option
+ if setrlimit exists, set the core dump size to be 0
  (with thanks to mrg for the reference implementation)
+ get rid of __ops_start_cleartext_sig/__ops_start_msg_sig abstractions
  and just "export" the __ops_start_sig function - the function is not
  actually exported, just usable by other __ops functions
+ bump internal version number to 0.99.2, autoconf version to 20090506
+ prettify usage message output
2009-05-08 06:06:38 +00:00
agc 5b5e53256c Make it obvious what the pointer refers to, rather than its type. 2009-05-06 14:26:12 +00:00
agc 0c31095918 More cosmetic changes, no functional differences. 2009-05-06 07:01:43 +00:00
agc 3326c4c54b Change some names to something a bit less obscure.
e.g. For some unfathomable reason, I find "__ops_write_mem_from_file" a bit
counterintuitive - replace that by "__ops_fileread"
2009-05-06 03:02:02 +00:00
agc 0d85ad6ad7 Don't bother searching for assert.h, it's not needed any more 2009-05-05 15:29:46 +00:00
agc ed0df671c8 Get rid of remaining assert()s in netpgp. 2009-05-05 15:25:27 +00:00
agc bcfd85659b + __ops_packet_t -> __ops_subpacket_t
+ __ops_parser_content_t -> __ops_packet_t
+ rename some other long names
  51 chars is the record function name length so far
+ preliminary moves to support detached signatures
  as yet, incomplete
+ add back command line option to list packets in a signed or encrypted file
+ make __ops_parse() take an argument whether to print errors, and kill the
  __ops_parse_and_print_errors() function
+ get rid of some assertions in the code - this is a library - about 100 to go
2009-05-05 01:28:15 +00:00
wiz decd684ac0 Remove superfluous spaces around parentheses. 2009-05-04 22:28:30 +00:00
wiz 14a563a89f Punctuation. 2009-05-02 09:40:33 +00:00
wiz c6b94f4c8a Bump date for netpgp_sign_file signature change. 2009-05-02 09:40:01 +00:00
agc ea53d15fcc Reorder the args to a static function to mirror some other function calls.
Attempt to use mmap(2) to read a file, and fall back to multiple read(2)
calls if that fails.
2009-05-02 04:19:43 +00:00
agc 7cf9b94e1a Document the way to get detached sig files from this library 2009-05-02 02:44:36 +00:00
agc 32262391d9 Give credit where credit is due. 2009-05-02 02:43:15 +00:00
agc de70477951 Make this code WARNS=4
Add an option to the netpgp command to produce a detached signature.
2009-05-02 02:38:54 +00:00
agc 71e559c1d8 Fix a build failure reported by Perry 2009-05-02 02:31:35 +00:00
agc 1991192fb5 Retire openpgpsdk - replaced by netpgp 2009-05-01 23:10:29 +00:00
agc 794ef7cba4 Don't descend into openpgpsdk directory - it's about to go away. 2009-05-01 23:00:37 +00:00
agc 1f71d3ede1 Build the netpgp library with WARNS=3 2009-04-30 04:59:14 +00:00
agc 8507301865 WARNS=3 fixes 2009-04-30 04:57:57 +00:00
tteras ec20a1edf8 From Ross Meng: Fix a memory leak in X509 certificate validation. 2009-04-29 10:50:01 +00:00
agc b0de80b42e Sync the portable autoconfed Makefile with reality 2009-04-28 20:51:16 +00:00
agc 763288c777 Sync the portable autoconf Makefile with reality 2009-04-28 20:50:48 +00:00
agc aa732d7398 Don't try to be clever here - sizeof(uint32_t) will always be 4... 2009-04-28 20:49:57 +00:00
tteras 8bcee86f68 Reset nat_oa variables too when reusing phase two handler. Otherwise
phase2 rekeying might fail in some scenarios.
2009-04-28 13:54:07 +00:00
wiz 4ad6ecab0a Use Fl Fl for long flags. 2009-04-28 09:19:15 +00:00
wiz fefeeb6f5e Fix In argument (no <> needed). Use .Pa for paths. Drop trailing space.
Punctuation nits.
2009-04-28 07:59:35 +00:00
wiz 7d7afa233d Fix xrefs, comment out the one to libbz2 (no man page exists for that). 2009-04-28 07:56:19 +00:00
agc 167587fd07 Clean up minor pieces of lint 2009-04-28 00:41:40 +00:00
agc 702f5adb30 Use .Ar properly 2009-04-28 00:40:45 +00:00
agc f5bbd5a825 Let's allocate enough space for the keyring structure, and not a pointer to it. 2009-04-26 16:55:44 +00:00
agc ee219f892b Enable netpgp in the build, and amend set lists accordingly. 2009-04-25 05:54:50 +00:00
agc efdd9dba1e WARNS=4 changes 2009-04-25 01:29:14 +00:00
agc ea21613ec1 Remove artefacts which should not have been imported - sorry for the noise 2009-04-24 01:05:59 +00:00
agc 93bf6008f8 Import netpgp source into crypto/external - this is a heavily-modified
version of openpgpsdk, and will replace it. Differences between netpgp
and the NetBSD repository version of openpgpsdk are:

+ Wrap source code in GNU autoconf/configure
+ New high-level interface for libnetpgp(3) and netpgp(1)
+ Hide prolifery of local headers in the internal lib directory -
  there is now one exported header called netpgp.h
+ Hide all ops_* functions and structs behind __ops_* names
+ Fix long-standing bug - make decryption work with files > 8192 bytes
  (fix for signature verification of signed files > 8192 bytes was already
  brought forward from the NetBSD repository of openpgpsdk)
+ Use mmap(2) to read files, falls back to read(2) if can't do mmap
+ Compile portable package using libtool
+ Rationalise the number of source files - merge a number of smaller ones
+ Case-insensitive matching of key ids
+ Use PRIsize throughout
+ Use calloc(3) throughout to zero memory
+ Get rid of global symbols which abused a macro
+ Use more descriptive names - remove "_arg_" components, name things for their
  purpose, rather than what they are (their type)
+ No more --passphrase= argument to netpgp(1) - this is now always
  done through callbacks
+ Report source code date and build date in version number, as well as the
  version number itself

This will form the basis of the portable netpgp package.
2009-04-23 06:31:55 +00:00
joerg 4287c61008 Apply rev 1.21 from src/lib/libcrypto/man/ssl.3:
Fix typo.
2009-04-22 13:10:33 +00:00
tteras 95b420bbeb From Neil Kettle: Fix a possible null pointer dereference in fragmentation
code.
2009-04-22 11:24:20 +00:00
tteras fab62310e7 Fix strict_address to work again. The lists needs to be initialized
before configuration is read, which happens before my_addr_init() call.
2009-04-21 18:38:31 +00:00
tteras 7019ec4077 Fix a memory leak in certificate request generation. 2009-04-20 13:24:36 +00:00
tteras f273c7c2bb Orignally from Bin Li: Fix possible memory corruption in binsanitize(). 2009-04-20 13:23:54 +00:00
tteras a2f9e36ab3 From Stephen Bevan: Fix a x509 signature verification memory leak. 2009-04-20 13:22:41 +00:00
tteras b1fd61f62f Originally from Bin Li: Fix a crash with racoonctl logout user. 2009-04-20 13:22:00 +00:00
tteras 8759a6c72c Fix a memory leak in nat-t keepalive code. 2009-04-20 13:17:35 +00:00
tteras 8c22b469e0 From Paul Moore: Phase2 message id's should be unique wrt phase1, not
globally.
2009-04-20 13:16:52 +00:00
lukem 0b173a25f2 Redo previous -- cast to (unsigned char) 2009-04-14 21:58:36 +00:00
apb 74214207d5 Fix two bugs in handling banners in sshconnect2:
1) If the length of the banner is zero, don't bother printing it.
   This can happen if the remote server has a zero-length /etc/issue
   file.  Previously, ssh would die with "xmalloc: zero size".
2) strvisx() needs an extra byte for the nul terminator.
2009-04-14 11:53:40 +00:00
lukem e015e1d018 Call toupper() with an int argument. 2009-04-14 10:03:55 +00:00
yamt cdc5fc06ff restore INETD_SUPPORT. PR/40722. 2009-04-09 06:34:34 +00:00
drochner fb693f55f7 apply patches from upstream CVS to fix 3 security problems:
-ASN1 printing crash (CVE-2009-0590)
-Incorrect Error Checking During CMS verification (CVE-2009-0591)
-Invalid ASN1 clearing check (CVE-2009-0789)
2009-03-27 10:41:29 +00:00
perry 4bfc10355c add missing commas to .Dd fix, pointed out by wiz 2009-03-22 14:29:34 +00:00
perry c8a35b6227 OpenBSD uses a custom CVS hack to handle Dd fields ($Mdocdate$) which
we don't have. Replace ".Dd $Mdocdate" with ".Dd Month Day Year" so
that the date comes out right when man pages get built. This will
doubtless need hand conflict resolution whenever these pages are
re-imported.

Note that it would be interesting to have some similar facility for
NetBSD, but I don't think a custom rcs keyword is the right thing --
maybe we can teach groff to parse $Date$
2009-03-21 00:15:52 +00:00
tteras 0c68acc1de From Arnaud Ebalard: Fix couple of problems with previous commit. 2009-03-13 04:49:16 +00:00
he 976380d183 When casting to/from a pointer to an integral type (a bad practice,
if you ask me), you need to cast via intptr_t for portability.
2009-03-12 23:05:27 +00:00
wiz 2df943f931 New sentence, new line. Avoid marking up punctuation. 2009-03-12 15:18:57 +00:00
wiz 0d4480d10a Bump date for previous. Sort options to establish-sa.
Stop using Xo/Xc.
2009-03-12 14:01:09 +00:00
tteras 983cc8fecf Support multiple anonymous remotes and decide remoteconf based on identity,
received certificates and other information. General code clean up.
2009-03-12 10:57:26 +00:00
joerg 997634fe14 Fix preamble to match order set out by mdoc(7). Discussed with wiz. 2009-03-09 19:24:26 +00:00
tteras e3372d2f8f setkey: fix deleteall in Linux
Linux requires SADB_DELETE message to have SPI. So send
a SADB_DELETE message for each matching SA. Trac #284.

From: Gabriel Somlo <somlo@cmu.edu>
2009-03-06 11:45:03 +00:00
he 64be3821eb This program also uses the following libs: -lcrypto -lz -lbz2.
Add them explicitly so that this program links for sun2 as well.
2009-02-23 08:25:07 +00:00
agc 88ba3068b1 Use one struct for both zlib and bzip2 decompression. 2009-02-22 16:29:33 +00:00
agc 7bc38e3159 Use pointers to traverse some arrays, and make the code a bit more
readable.
2009-02-20 02:47:54 +00:00
agc 5d3eeabad1 Be a bit less zealous when copying memory, so that we don't copy beyond
th end of the buffer, and provoke a core dump.
2009-02-20 02:45:43 +00:00
christos ce563f1b55 CID 4960: Plug memory leak. 2009-02-18 20:10:23 +00:00
uebayasi aa58ef4867 Revert previous for now. The hidden intent was to rewrite duplicate rules
of ${TOOL_COMPILE_ET} seen in lib/*/Makefile, using make(1) suffix rule.
But I have not figured out the best way yet.

(The reason why I want to rewrite them is to strip absolute paths embedded in
/usr/include/krb5/*.h.)
2009-02-18 01:18:57 +00:00
dogcow 0d280a6b94 sig_atomic_t is long on alpha (?!); use %ld and cast to long. 2009-02-17 05:28:32 +00:00
uebayasi 5b1f280b89 To name output files, replace only suffix part exactly. 2009-02-17 05:24:14 +00:00
christos 79290a1b6f remove extra args. 2009-02-16 22:50:17 +00:00
christos 9341d6b102 put back deleted files 2009-02-16 20:55:22 +00:00
christos abbe9cc1c0 merge changes 2009-02-16 20:53:54 +00:00
tteras b1ab726a1a From Paul Moore: Fix a heap corruption bug (yacc return non-null terminated
buffer and sprintf writes over bounds).
2009-02-16 18:36:21 +00:00
christos 9d3c9d9c55 from ftp.openbsd.org 2009-02-16 17:14:22 +00:00
jmmv 44d668a632 Fix build; need to constify the return value of a function. 2009-02-13 22:01:05 +00:00
lukem d237abe695 fix -Wsign-compare issues 2009-02-12 10:43:41 +00:00
vanhu 3723c0b8cf trac#301: fixed IPsec SAs flush in purge_remote() when NAT-T enabled but no NAT-T on tunnel 2009-02-11 15:18:59 +00:00
agc 00be53a929 Remove argument names from function prototypes in header files. 2009-02-07 07:00:01 +00:00
agc fd38df44a9 Be a bit more consistent with the naming scheme (and a bit less verbose). 2009-02-07 05:57:39 +00:00
agc 47eb47e6b3 The catch-all header file also includes version.h now, in case we want
to display the version number of the openpgpsdk library.
2009-02-07 05:37:57 +00:00
agc 6aef23c4e0 Re-order header file inclusion order to be alphabetic.
Print out the version number of the openpgpsdk library when showing the
version string.

Parse the existing ~/.gnupg/gpg.conf to get the default user id, if any.

Use the actual size of the arrays in snprintf(), rather than a size which
may or may not be accurate.

Get rid of an unused 8K array on the stack - it's not needed.
2009-02-07 05:36:51 +00:00
agc 02ebfd8cdc Minor cosmetic change - no functional difference. 2009-02-07 05:32:27 +00:00
agc 852e7a06c8 Be a bit less rigid when re-allocating memory - don't just keep doubling
the size we've allocated; instead, if the current size is more than 8 MiB,
then add 1 MiB on; current behaviour remains unchanged for re-allocations
less than 8 MiB.
2009-02-07 05:31:28 +00:00
agc c62065c7b1 Check the characters we're given when trying to decide whether it's a
key id, or a user id/name.
2009-02-07 05:28:55 +00:00
agc eab6d9dfa6 Only use O_BINARY if it's defined (rather than the vague WIN32 definition
test).

Minor cosmetic changes
2009-02-07 05:26:19 +00:00
agc 203a89fce5 Fix a bug which prevented files signed with an RSA public key from being
decrypted.
2009-02-06 06:36:03 +00:00
agc 80a7466337 No need to define our own ops_boolean_t, ops_true and ops_false when
there are perfectly good values like bool, true and false waiting to
be used in <stdbool.h>
2009-02-05 06:03:49 +00:00
agc dda6c6990e When signing or encrypting files, allow the userid to be specified using
the (8 or 16) character keyid.

One more thing off the TODO list.
2009-02-05 01:42:39 +00:00
tteras ee2923bc73 From: Phil Sutter. Fix script environment variables with IPv6 addresses. 2009-02-03 20:21:45 +00:00
agc 57ef716bf6 Document the --version switch to print out the version information from
the libopenpgpsdk(3) library
2009-02-02 20:24:36 +00:00
agc c350af2e45 Document the function to get the version information for the openpgpsdk
library.
2009-02-02 20:21:26 +00:00
agc 40cade5517 Add a --version command to the openpgp utility, and document it. The
version is grabbed from the openpgpsdk library.

Make openpgp just include the one catch-all openpgpsdk header file.
2009-02-02 20:13:59 +00:00
agc fed46fd602 Remove a block of text, which wiz had commented out - it was not meant to
be.
2009-01-31 16:00:18 +00:00
wiz 127b1b6933 mdoclint cleanup:
remove trailing whitespace and a few nits.
2009-01-31 14:16:34 +00:00
wiz 8edb63eafb Add all options to SYNOPSIS.
Sort option descriptions.
Describe --passphrase, while it still is supported.
Use more markup.
Comment out block of text that didn't make sense to me in the context.
Punctuation improvements.
2009-01-31 14:14:10 +00:00
agc fce523c3f5 Get rid of 3 static functions which performed the same operation on 3
different arrays, and replace them with a function which takes the array
and size as arguments. No functional change.
2009-01-31 02:33:22 +00:00
agc aa5adc9663 Cosmetic change to surround the argument to sizeof in (brackets). No
functional change.
2009-01-31 01:44:31 +00:00
agc d2d3b6f70a Get rid of all occurrences of ops_mallocz(), since all it did was allocate
zeroed storage, and calloc(3) seems to do that just fine.
2009-01-31 01:20:32 +00:00
agc f058249f4f Add a manual page for the openpgpsdk library - very bare bones right now,
all contributions gratefully received.

Also add a convenience header file, which includes the other necessary
openpgpsdk header files - this means that

#include <openpgpsdk/openpgpsdk.h>

will get all the necessary definitions and declarations.
2009-01-31 00:48:18 +00:00
wiz 22e63019c0 mdoclint cleanup:
Sort sections.
Make HTML-ready.
Add RCS Id.
Fix section and man page names.
2009-01-30 22:59:37 +00:00
agc c804754594 Make source match the documentation (I thought I'd committed these yesterday,
but it seems not).

Bump default number of bits from 1024 to 2048.

Add --armor as a synonym for --armour, and prepare for the great spelling war
of 2009.
2009-01-30 21:39:42 +00:00
agc 990ca9e392 Mac OS X has a CommonDigest wrapper around openssl - use this if necessary. 2009-01-30 04:16:15 +00:00
agc 467d65ac1a Add a manual page for openpgp.1 (all contributions welcome, it's incomplete
right now).

Explain the reason for the WARNS=0 directive in openpgp(1)'s Makefile.
2009-01-30 04:14:19 +00:00
agc 00bc87c557 Run all the sources through indent.
Always print fingerprint information for keys when listing them.

Always display the publick key algorithm used (because of a bug, the
algorithm name was being ignored, rather than printed out).
2009-01-29 05:14:44 +00:00
martin b9c66cb587 avoid comment inside comment 2009-01-28 19:03:10 +00:00
agc fff13c1447 Fix problem in build reported by Paul Goyette 2009-01-28 17:27:35 +00:00
agc 06a360215d Move to /* ... */ style of comments in this code - facilitates running
indent on the code.
2009-01-28 16:54:20 +00:00
agc 8da84dc021 Abstract away all the %zu uses, and use a symbolic constant for them.
With thanks to uwe for the information to make this portable.

Expose the ops_memory_t structure, since we're now using it outside
its own source file.

Various cosmetic changes, mainly for debugging purposes.
2009-01-28 01:29:15 +00:00
agc ff02cd3e84 Use some symbolic constants where possible - take some of the magic out
of this.

Make the --list-keys command work again.
2009-01-28 01:24:49 +00:00
tnn c7c8fe9828 Fix previous. That should of course be %zu. 2009-01-27 17:15:26 +00:00
tnn b7888d42fa use %zd for size_t 2009-01-27 15:34:39 +00:00
agc ed31bb989a The existing code has problems verifying a signed file which is more
than 8192 bytes long, as the callback data simply assigns any data it
receives to a buffer, and then calls the hash function on that buffer
when EOF is reached.

Use an inefficient temporary workaround for this by holding the memory
in a temporary buffer in the callback argument structure.
2009-01-27 02:25:13 +00:00
tteras 98b638ac57 Argument parsing needs lcconf initialized. 2009-01-26 18:13:06 +00:00
veego 1ac066df3f Print size_t values using %zu printf format, not %ld
Thanks to Havard (and Matt Thomas) for pointing that out.
2009-01-25 13:38:17 +00:00
he 80506ca579 As Matt Thomas points out, %zu, not %zd, is the correct format
for size_t, since it's unsigned.
2009-01-25 13:31:58 +00:00
lukem 525b9d1b49 sign-compare fixes 2009-01-25 10:13:18 +00:00
agc ccc9f1a9af Make this compile after the last lint corrections 2009-01-25 01:49:20 +00:00
christos 1449463f65 try to fix the mess of headers:
- including each other
- calling non types _t
- doing forward enum declarations
- trailing , in enum
- some lint annotations
2009-01-24 19:55:33 +00:00
christos eb0c1ab347 small cleanups:
1. lint annotations
2. some size_t
3. remove silly breaks
2009-01-24 19:42:20 +00:00
he 6568aa2748 No, our openssl _encrypt routines do not take a *size_t as the 6th
argument, they take an *int, and those are not necessarily compatible.
Papering that over with a cast just gets us a warning that
de-referencing a type-punned pointer will break strict-aliasing
rules, which is turned into an error by our WARNS setting.

Instead, change the "num" field in _opt_crypt_t from size_t to int, and
get rid of the now-redundant casts.
2009-01-24 12:51:11 +00:00
he 99bb07565a Print size_t values using %zd printf format, not %d. 2009-01-24 12:07:44 +00:00
wiz 58b2161948 Sort options in usage. 2009-01-24 10:43:47 +00:00
wiz a8e14ecee0 Sort options. New sentence, new line. 2009-01-24 10:43:38 +00:00
wiz 86a90d6c4e Sort options. 2009-01-24 10:42:31 +00:00
agc df41ea2ee2 Add the build glue and sets information for the libopenpgpsdk library, and
the openpgp binary.
2009-01-24 01:15:24 +00:00
agc ea48522368 Forgot a file in big commit from yesterday:
when matching userid, cheecck if the given userid has a '@' in it.
If so, treat it as an email address, and search for a case-insensitivee
match for the text in between '<' and '>' delimiters.

Otherwise, look for a case insensitive match on the full name.
2009-01-23 17:30:52 +00:00
tteras e9d216a40d Update usage and manpage for racoonctl. 2009-01-23 11:44:08 +00:00
tteras c6d64c37e0 Racoon -v to print version and compilation information. Update usage
message.
2009-01-23 11:28:27 +00:00
tteras 1f949d3b6c Update NEWS with major changes since 0.7 release. 2009-01-23 09:40:56 +00:00
tteras 731a29e03b Fix monotonic scheduler change, to not refresh 'now' before exit. Otherwise
we can return negative timeout after spending time handling other events.
2009-01-23 09:10:13 +00:00
tteras 7bc9f9e4ee From Arnaud Ebalard:
Handle reception of MIGRATE message during Phase 1 and Phase 2 negotiation.
Also corrects some debugging statements.
2009-01-23 08:32:58 +00:00
tteras b9ba86c968 From Arnaud Ebalard:
On the responder (for instance), there is a need to not only migrate local
and remote addresses of Phase 1 that match previous addresses but also
the local and remote addresses of a Phase 1 *associated* with a migrated
Phase 2. For instance, we have that need when receiving the first
MIGRATE/KMADDRESS message because the old addresses are still the HoA and
the address of the HA (while the peer has contacted us using the CoA and
we have negotiated this address as src attribute in Phase 2). The patch
fixes that by having migrate_ph1_ike_addresses() called from
migrate_ph2_ike_addresses() callback.
2009-01-23 08:29:34 +00:00
tteras 54bcc916f5 From Arnaud Ebalard: Set phase2 spid when acting as responder. 2009-01-23 08:27:24 +00:00
tteras 5d5e4e2fa3 Detect if monotonic system clock is available, and use it for relative
time measurements to avoid complite hang if time jumps backwards.
2009-01-23 08:25:06 +00:00
tteras 49c6438a45 Fix authentication method ambiguity by internally using unique ID and
setting/interpreting the wire format based on received vendor ID:s. Fixes
trac #280.
2009-01-23 08:23:51 +00:00
tteras 69697b4655 Introduce vendorid bitmask that can be used otherwhere to detect peer
capabilities.
2009-01-23 08:06:56 +00:00
tteras 2b7d4cd554 Remove "fastquit" configure option and make it the default behaviour. The
previous normal behaviour is buggy, as after flush kernel can immediately
create larval SA:s which would prevent exit.
2009-01-23 08:05:58 +00:00
agc 0306a7c61f Massive overhaul of openpgp.c, the driver program for the openpgpsdk
library.

A good signature verification now shows the filename, time of signing,
and the public keys of the signatories.

Made the interface much more standard by using any argv components after
the options have been parsed to indicate files, rather than a single
--file=filename long option.

Get rid of all assert() calls in the program - dumping core when an
argument is missing is a trifle uncompromising.

When matching userids, if the given userid contains a '@' character,
consider all characters from the rightmost '<' to the terminating
'>' of the file-based userid to be an email address. If there's no
'@' character, consider the given name as a real name, and match
from the start of the file-based userid. All comparisons are done
using case-insensitive searching. I'll consider implementing regexp
matching when enough chocolate bribes are received.

Rework the internals to call a major internal function, rather than doing
everything in main().

Run the results of all this through indent, since the current sources
bear little resemblance to what went before.
2009-01-23 06:07:18 +00:00
agc d0750f9b83 Convert another commented out printf() to a debugging statement 2009-01-22 01:46:51 +00:00
agc 29726fdfea When reading a keyring, often the failure of the initial limited_read_mpi()
when parsing a DSA signature means that we've reached the end of the keyring,
so only print out the annoying error message if we're debugging.
2009-01-22 01:45:59 +00:00
agc c785cc907d If the user hasn't passed the pass phrase in as a command line argument
(not such a great idea), use getpass() to get the passphrase.

Various debugging additions.

When verifying files, print out the file name which was verified, and exit
with either EXIT_FAILURE or EXIT_SUCCESS, depending upon the verification
result. This still needs to be reworked to print out the signatory to the
file, and the date of signing.
2009-01-22 01:43:35 +00:00
agc d26c2431dd Don't rely on a convenience macro when expanding a macro definition. 2009-01-22 01:01:47 +00:00