Commit Graph

1450 Commits

Author SHA1 Message Date
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
agc dba5f8d52a When listing keys, if a key ring has been specified, list the keys in
that key ring.  If no key ring has been specified, list the keys in
the default public key ring, rather than dying with a usage message.
Matches gpg behaviour, and stops openpgp violating the POLA.
2009-01-22 00:59:12 +00:00
agc da7f9470ea Convert commented out printf() statements into proper debugging statements 2009-01-22 00:56:13 +00:00
agc 67c903aedc Add more debugging information 2009-01-22 00:55:15 +00:00
lukem 0e88dfdc76 do the PRINTOBJDIR dance to find the (potentially uninstalled) library
in ../lib  (just like we do many other apps)
2009-01-22 00:22:20 +00:00
lukem 9b100d5b4e don't need LDADD here; LIBDPLIBS does the right thing 2009-01-22 00:20:58 +00:00
lukem 87e4630751 descend into lib first 2009-01-22 00:13:19 +00:00
lukem b8a38f2310 update paths 2009-01-22 00:01:52 +00:00
agc b3b80bc7d6 Fix a typo when printing the type of trust 2009-01-21 22:29:04 +00:00
agc bbfe341047 gmtime(3) returns a pointer to a struct tm with a month value in the
range [0,11], so add 1 to this to get a useful value for human
interpretation.
2009-01-21 20:17:14 +00:00
agc 1dbcf9a927 Avoid leaking storage in one function.
Set USE_FORT to yes, and fix the fallout.
2009-01-21 15:35:00 +00:00
agc c80363d779 WARNS=4 (w00t, no changes necessary) 2009-01-21 07:08:10 +00:00
agc 644e4c1f7f Build the openpgpsdk library with WARNS=3 2009-01-21 05:48:56 +00:00
agc 1cf88afccb Fix WARNS=2 warnings (shadow vars again), but don't switch WARNS=2 on for
the application, since WARNS=2 includes fatal warnings when linking, and we
get a warning about IDEA being a patented algorithm.
2009-01-21 03:37:12 +00:00
agc 6dfd9b1804 WARNS=2 for the library build 2009-01-21 03:32:08 +00:00
agc 5bc2794550 WARNS=2 (mainly shadow variable declarations) 2009-01-21 03:31:22 +00:00
agc 2626a640dd Previously debugging information seems to have been output by editing a
static variable and recompiling. Make this a bit more dynamic, adding a
--debug "filename" argument to the application, and by using a filename-
based debug framework to replicate previous behavior. Multiple filenames
can be provided.

In addition, add more debugging information by printing out the human
values of signature type and key algorithm when parsing packets.
2009-01-21 01:32:54 +00:00
agc 84ce5f6759 Restore the exit semantics of the original. If success, the exit code is
EXIT_SUCCESS. If failure, exit code is EXIT_FAILURE. (Duh). If an error
has occurred, use an exit code of 2.
2009-01-21 01:27:55 +00:00
agc 4442e07493 Add the dependent libs to the openpgpsdk library itself, rather than making
any program that uses the library specifically add them.

Install header files in the appropriate place
2009-01-20 19:48:23 +00:00
agc f6ab492fbf Use EXIT_* error codes rather than numeric constants 2009-01-20 19:46:08 +00:00
agc 35a399083a Get rid of a file that's not used 2009-01-20 19:44:42 +00:00
agc c86c75ce57 Add a subdir Makefile to descend into openpgpsdk 2009-01-20 19:42:56 +00:00
agc 68d230573c The openpgp application breaks its own abstraction rules by including a
header file that is meant to be local, so that it can access the content
type of a packet. This change uses an accessor function to find the packet
content type.
2009-01-20 16:58:09 +00:00
tteras 2b68c3a06a Autogenerate ChangeLog from NetBSD CVS. Put sourceforge.net changes to
ChangeLog.old.
2009-01-20 14:36:07 +00:00
agc 0055cf2b60 Add a reachover framework for the openpgp application as well. 2009-01-20 07:50:54 +00:00
agc d4beb7925c Remove duplicated functions 2009-01-20 07:35:26 +00:00
agc e4f17bf621 Also make shared lib 2009-01-20 07:34:42 +00:00
agc cba3672b08 Add a README file, derived form external/src/README, to describe the contents
of the tree rotted at this directory.
2009-01-20 07:15:30 +00:00
agc 5e633613d2 Make this compile (WARNS=1) on NetBSD.
Add reachover library Makefile for the external framework.
2009-01-20 07:12:16 +00:00
agc 9b993b5409 Missed this when removing old sources. 2009-01-20 06:49:14 +00:00
agc 5c077856b5 Second initial import of openpgpsdk v0.9 into the external section of
the crypto sources, per conversation with core.

License is 3-clause BSD.

        An OpenPGP library implementation (RSA and partial DSA), conformant
        with RFC4880 "OpenPGP Message Format".

        RSA Key Generation
            * S2K Usage: ENCRYPTED_AND_HASHED
            * S2K Specifier: SALTED
            * Symmetric algorithm: CAST5

        RSA Encryption
            * Generates "Symmetrically Encrypted Integrity Protected
              Data" packets (required by RFC)
            * Hash: SHA1 (required by RFC)
            * Symmetric Algorithm: CAST5 (hard-coded)
            * Uses compression
            * Optional ASCII armouring

        RSA Decryption
            * Symmetric Algorithm: CAST5, AES, AES256, 3DES
            * Optional Compression: ZIP, ZLIB, BZIP2
            * Optional ASCII armouring

        RSA Signature
            * Armoured, unarmoured or clearsigned
            * Hash algorithm: SHA1

        RSA Verification
            * Armoured, unarmoured or clearsigned
            * V3 or V4 signatures
            * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224

        DSA Signature
            * Armoured, unarmoured or clearsigned
            * Hash algorithms: SHA1

        DSA Verification
            * Armoured, unarmoured or clearsigned
            * V3 or V4 signatures
            * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224
2009-01-20 06:43:54 +00:00
agc 32a7726202 Remove the botched import of the openpgpsdk sources. "They'll be back" 2009-01-20 06:36:37 +00:00
agc ca2dba9441 Make the library compile with WARNS=1 2009-01-12 23:00:00 +00:00
agc 4ca3d4e421 Initial import of openpgpsdk v0.9 into the external section of the crypto
sources, per conversation with core.

License is 3-clause BSD.

	An OpenPGP library implementation (RSA and partial DSA), conformant
	with RFC4880 "OpenPGP Message Format".

	RSA Key Generation
	    * S2K Usage: ENCRYPTED_AND_HASHED
	    * S2K Specifier: SALTED
	    * Symmetric algorithm: CAST5

	RSA Encryption
	    * Generates "Symmetrically Encrypted Integrity Protected
	      Data" packets (required by RFC)
	    * Hash: SHA1 (required by RFC)
	    * Symmetric Algorithm: CAST5 (hard-coded)
	    * Uses compression
	    * Optional ASCII armouring

	RSA Decryption
	    * Symmetric Algorithm: CAST5, AES, AES256, 3DES
	    * Optional Compression: ZIP, ZLIB, BZIP2
	    * Optional ASCII armouring

	RSA Signature
	    * Armoured, unarmoured or clearsigned
	    * Hash algorithm: SHA1

	RSA Verification
	    * Armoured, unarmoured or clearsigned
	    * V3 or V4 signatures
	    * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224

	DSA Signature
	    * Armoured, unarmoured or clearsigned
	    * Hash algorithms: SHA1

	DSA Verification
	    * Armoured, unarmoured or clearsigned
	    * V3 or V4 signatures
	    * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224
2009-01-12 22:55:41 +00:00
wiz 67cbe60826 Make ready for HTML output.
Use proper escape for backslash ('\e').
2009-01-10 21:58:38 +00:00
tteras f7557f766d From Cyrus Rahman:
Accept RFC2253 compliant escaped special characters for asn1dn identifier.
2009-01-10 19:08:40 +00:00
tteras a0b1dc6be0 Fix a CPPLAGS typo to CPPFLAGS which was intended 2009-01-09 06:31:38 +00:00
tteras 9df0ec5c7e Fix a CPPLAGS type to CPPFLAGS which was intended 2009-01-09 06:31:37 +00:00
christos 10c9b70baa Correct error checking for DSA and ECDSA keys (from FreeBSD) 2009-01-07 23:05:07 +00:00
tteras b264308e87 Remove obsolete configuration options, fix radius configuration block and
add GRE as recognized protocol.
2009-01-05 06:03:58 +00:00
tteras 328859aef7 Do not use counting in signal handling as it was unsafe by not using
atomic functions (post increment is not necessarily atomic).
Instead reap all children on SIGCHLD as that was the only signal needing
signal counting.
2009-01-05 06:00:27 +00:00
tteras a3c1a92d23 schedular() call can now modify fd mask so make the working copy just
before calling select(); otherwise it can contain bad file descriptors
2008-12-30 15:50:24 +00:00
mlelstv e5b90a2fc2 support icmp codes. Fixes PR 39056. 2008-12-29 12:54:33 +00:00
christos aa3382cd31 remove sin{6,}_len linux does not have it. From Timo Teras. 2008-12-24 20:20:52 +00:00
christos 6c532322d2 I was wrong. addr is actually set. 2008-12-24 19:05:48 +00:00
christos 16b17fbeab - make this compile by zeroing out the whole structure not just bogus fields.
- set length field of sockets appropriately.
- mark bogus no-op code (I don't understand what the author intended here).
2008-12-24 15:25:44 +00:00
wiz c1e7a459ca Bump date for identity configuration option removal. 2008-12-23 19:28:18 +00:00
tteras 535280aca9 Remove the obsoleted global identity configuration option. 2008-12-23 14:04:42 +00:00
tteras bd378f6dda rewrite local address detection
make some functions static that arr not needed globally
rework how fd_set is construction for the main loop select()
2008-12-23 14:03:12 +00:00
tteras 182f0b93be From Arnaud Ebalard:
Delete larval ph2handles when expire with hard lifetime received
2008-12-18 07:20:25 +00:00
tteras 50a2f2e6d0 Update README 2008-12-16 06:48:38 +00:00
tteras b2b7434a10 Fix transport mode address selection in acquire handling.
Some earlier fixes got lost on 2008-12-05 commit.
2008-12-16 06:08:46 +00:00
vanhu a75f34b133 Fixed compilation on FreeBSD (RTM_IFINFO and RTM_OIFINFO stuff) 2008-12-11 15:45:24 +00:00
vanhu cffd15164d Fixed compilation when DPD support is disabled 2008-12-11 15:33:59 +00:00
bad f140528153 Document my fix to src/racoon/privsep.c for the SIG_IGN typo on 2008-12-04. 2008-12-09 23:28:08 +00:00
tteras dae665ff27 Do not cache pfkey sockets: it might cause to not handle some pfkey events
when select() has marked pfkey socket readable, but a timer callback first
calls pfkey_dump_sadb().
2008-12-08 06:00:53 +00:00