Jonathan McDowell [Sun, 18 Aug 2019 10:03:47 +0000 (11:03 +0100)]
Fix memory leak when merging key signatures
This is a long-standing memory leak when merging signed packet lists. It
hasn't been observed in the wild because the key merging is normally
done in a transient process. Found using GCC with -fsanitize=leak
Jonathan McDowell [Mon, 12 Aug 2019 18:03:05 +0000 (19:03 +0100)]
Cleanup DB4 deletion code from pre-fingerprint period
Some remanents from the key ID based deletion function that are no
longer needed.
Jonathan McDowell [Mon, 12 Aug 2019 17:59:54 +0000 (18:59 +0100)]
Fix up key deletion by key ID with onak tool
The call to db_delete_key() was claiming we were in a transaction, which
isn't true and causes failures with deletion with DB4.
Jonathan McDowell [Mon, 5 Aug 2019 18:27:06 +0000 (19:27 +0100)]
Expose more of calculating the packet signature hash
As preparation for full signature verification move to calculating the
signature hash and exposing it, and then doing the verification in the
cleaning routine.
Jonathan McDowell [Sun, 4 Aug 2019 18:19:31 +0000 (19:19 +0100)]
Drop v3 keys by default when cleaning keys
v3 keys have long been considered insecure. While we want to retain
support for them there's no reason most keyservers should actually store
them these days. So drop them by default when running cleankeys()
Jonathan McDowell [Sat, 3 Aug 2019 10:10:09 +0000 (11:10 +0100)]
Fix header size for v5 packet sig checks
The keyheader for a v5 signature has a 4 byte length instead of a 2 byte
length, but the structure hadn't been increased in size.
Jonathan McDowell [Sat, 3 Aug 2019 08:35:23 +0000 (09:35 +0100)]
Move CGI sources to their own subdirectory
Cleanup the code structure a bit by pulling those files only used for
the HKP interface into their own directory.
Jonathan McDowell [Sat, 3 Aug 2019 08:09:41 +0000 (09:09 +0100)]
Remove unused worddb_cmp() from DB4 backend
This function was no longer used, so remove it.
Jonathan McDowell [Thu, 1 Aug 2019 21:32:51 +0000 (22:32 +0100)]
Remove getfullkeyid functionality
This expanded a 32 bit key ID into a 64 bit key ID. It's mostly
redundant, so encode 64 bit key IDs where necessary and rely on the
fetch fallback to 32 bit elsewhere.
Jonathan McDowell [Thu, 1 Aug 2019 21:18:24 +0000 (22:18 +0100)]
Change delete_key to use a full fingerprint
delete_key was deleting a key based on the keyid, which is
insufficiently precise. Move over to the full fingerprint (even though
with some backends this is an effective no-op for now).
Jonathan McDowell [Thu, 1 Aug 2019 18:19:30 +0000 (19:19 +0100)]
Improve handling of colliding 64-bit key IDs
Originally key retrieval was all performed on the 64 bit key ID but back
in 2013 support was added for fetching by fingerprint. However not all
the pieces to deal with colliding 64 bit IDs were added at this time.
This commit improves things by:
* Using the fingerprint to retrieve the key to update in update_keys()
* Returning all keys that share a 64 bit key ID from the DB4 backend,
rather than just the first found.
* Adding a test to ensure multiple keys are returned for a colliding
key lookup.
It also removes the old compatibility code for the DB4 backend with key
lookups by 64 bit key ID.
Note this isn't yet common in the wild; unlike Evil32 it is not possible
to create collisions for arbitrary key IDs.
Jonathan McDowell [Wed, 31 Jul 2019 19:49:30 +0000 (20:49 +0100)]
Fix potential memory leak in wotsap tool
In failure paths we can leak the memory allocated to hold the directory
path. This isn't really a problem, as we'll exit shortly afterwards, but
scan-build complains and we should really fix for completeness.
Jonathan McDowell [Wed, 31 Jul 2019 18:17:44 +0000 (19:17 +0100)]
Enable sighash checking for v5 keys
v5 signatures are calculated slightly differently than v4 signatures, so
allow for this when checking the 2 leading bytes of the signature hash.
Jonathan McDowell [Wed, 31 Jul 2019 18:08:37 +0000 (19:08 +0100)]
Exit on failure to initialise a dynamic DB backend
The dynamic DB backend does a lot of checks to ensure it can load the
requested backend successfully, but didn't actually check that it
initialised correctly. Bomb out with a graceful error message if this
happens rather than leading the caller to think everything is ok.
Jonathan McDowell [Tue, 30 Jul 2019 18:40:17 +0000 (19:40 +0100)]
Add an OpenPGP keyring backed database backend
Allow the use of an OpenPGP keyring (like keyring.gpg from GnuPG v1) as
a read-only database backend. This is just a collection of keys
concatenated together. The file is mmaped on load and parsed for keys,
then simple linear searches are done for keyids/fingerprints.
Performance with large numbers of keys will not be good.
Jonathan McDowell [Tue, 30 Jul 2019 18:32:34 +0000 (15:32 -0300)]
Add more generic OID parsing to decodekey
Rather than only parsing the encoded OID to calculate the key size make
a helper function in decodekey and use that. This will be useful when
trying to parse key material for signature checks.
Jonathan McDowell [Tue, 30 Jul 2019 18:26:58 +0000 (15:26 -0300)]
Export fingerprint_cmp from keyarray.c
Comparing fingerprints is generally useful outside of the routines in
keyarray.c, so export the function prototype in the header file.
Jonathan McDowell [Mon, 8 Jul 2019 11:06:31 +0000 (12:06 +0100)]
Remove Version: header from armored output
There is no benefit to this header and it leaks information about the
implementation of OpenPGP in use, which may open up other attacks. Drop
it.
Jonathan McDowell [Tue, 16 Apr 2019 08:14:03 +0000 (09:14 +0100)]
Remove auto* related files from .gitignore
Jonathan McDowell [Tue, 16 Apr 2019 20:09:29 +0000 (21:09 +0100)]
Stop using 32-bit key IDs
The time for 32-bit key IDs is long past (and even 64-bits are risky),
so switch to 64-bit IDs everywhere we display a key ID.
Jonathan McDowell [Tue, 16 Apr 2019 06:48:24 +0000 (07:48 +0100)]
Assume if we have Nettle it has all the hashes we need
Older versions of Nettle didn't support the SHA2 functions fully so we
checked for their existence. Switch to assuming they're present if we
have Nettle at all.
Jonathan McDowell [Mon, 15 Apr 2019 18:48:58 +0000 (19:48 +0100)]
Move Travis to do CMake configure + build
Once more, with feeling, for the move from autoconf to cmake.
Jonathan McDowell [Mon, 15 Apr 2019 18:39:24 +0000 (19:39 +0100)]
Add CMake dependency for Travis CI
Jonathan McDowell [Mon, 15 Apr 2019 18:34:47 +0000 (19:34 +0100)]
Drop "autoreconf -i" for Travis CI now we're using CMake
Jonathan McDowell [Mon, 15 Apr 2019 18:23:20 +0000 (19:23 +0100)]
Don't require a database connection for a key index
We need an active keydb backend if we want to be able to lookup
UIDs for signatures, but if we don't have one we can still index the
key. Only use keyid2uid when we have a non-NULL dbctx.
Jonathan McDowell [Mon, 15 Apr 2019 18:19:22 +0000 (19:19 +0100)]
Add support for v5 keys
v5 is being specified in RFC4880bis. It uses a slightly different packet
format for public key packets and uses SHA2-256 for fingerprints. Add
basic support for parsing and storing these days, and some new unit
tests using the v5 test key.
Jonathan McDowell [Mon, 15 Apr 2019 09:22:12 +0000 (10:22 +0100)]
Add support for issuer fingerprint subpackets
A new subpacket containing the entire fingerprint of the signature
issuer has been added in RFC4880bis. This improves the old issuer keyid
subpacket type.
Jonathan McDowell [Sun, 14 Apr 2019 16:51:11 +0000 (17:51 +0100)]
Move to CMake over autoconf
The auto* tools are hard to work with, and I'd like to split out various
bits of onak into a shared library useful to other projects as well as
various internal helpers (e.g. a backend DB library). To help with that
move over to CMake as a more modern but still widely available build
system.
Jonathan McDowell [Wed, 10 Apr 2019 18:05:10 +0000 (19:05 +0100)]
Cleanup tests to be able to run from a different directory
runtests assumes its run from the directory it lives in, and that this
is the build directory. Improve it to be able to cope with a build in a
different directory to the source and work out the correct paths.
Jonathan McDowell [Tue, 9 Apr 2019 19:54:57 +0000 (20:54 +0100)]
Add ability to drop overly large packets
As per draft-dkg-openpgp-abuse-resistant-keystore add the ability to
drop "large" packets. These are defined as UIDs more than 1024 bytes
long, UATs greater than 64k in size and all other packets larger than
8383 bytes (the maximum that will fit in a 2 byte new format packet
length). Disabled by default, enable with "check_packet_size" in the
verification config section.
Jonathan McDowell [Tue, 9 Apr 2019 18:53:54 +0000 (19:53 +0100)]
Use a set of policy flags to indicate what key cleaning to perform
To decouple cleankeys.c from the keyserver config, and prepare for an
extension of the policies available, use a set of flags to indicate what
key cleaning to perform.
Jonathan McDowell [Tue, 9 Apr 2019 18:30:53 +0000 (19:30 +0100)]
Add Vim backup files + GNU Global tags to .gitignore
Jonathan McDowell [Tue, 9 Apr 2019 18:22:03 +0000 (19:22 +0100)]
Update Travis CI config to use Xenial
The default of Trusty is failing to find libsystemd-dev.
Jonathan McDowell [Tue, 9 Apr 2019 14:55:02 +0000 (15:55 +0100)]
Move keysigs into its only user, keydb.c
keysigs is only actually used within keydb.c and pulls in stats
structures unnecessarily to decodekey.c, so pull it inline.
Jonathan McDowell [Tue, 9 Apr 2019 14:42:28 +0000 (15:42 +0100)]
Move free_statskey into hash.c
free_statskey() is only used within hash.c, so move it out of mem.c and
scope it more narrowly.
Jonathan McDowell [Tue, 9 Apr 2019 13:54:13 +0000 (14:54 +0100)]
Update GPL location to URL rather than postal address
Jonathan McDowell [Tue, 9 Apr 2019 13:38:03 +0000 (14:38 +0100)]
Cleanup various includes
Run include-what-you-use and do some cleanups based on its suggestions.
Pull out some logging dependencies that don't need to be there in the
process.
Jonathan McDowell [Tue, 9 Apr 2019 12:30:37 +0000 (13:30 +0100)]
Clean up a couple of format truncation warnings
Newer GCCs will warn about truncation in strncpy/snprintf etc, so re-jig
things a bit to try and avoid it.
Jonathan McDowell [Tue, 25 Sep 2018 10:07:06 +0000 (11:07 +0100)]
Use generic fallback in stacked backend for non core routines
The non-core routines that don't directly return or store a key
structure often fall back to the generic routines under the hood. This
means we can miss propagating a retrieved key up to the top level of the
stack. Avoid this by only calling the non-generic version for the top
layer, then falling back to the generics which will do the appropriate
store on fallback.
Jonathan McDowell [Sun, 28 Aug 2016 15:26:17 +0000 (16:26 +0100)]
0.5.0 release
Release; update version string in configure.ac, README, Doxyfile.
Update HISTORY and debian/changelog.
Jonathan McDowell [Tue, 23 Aug 2016 10:54:30 +0000 (11:54 +0100)]
Relax packet version check
The version check on packets was too strict - there are a bunch of
packets that don't have a version (such as the UID). Make these checks
more specific based on the definitions from RFC4800.
(Lesson learned: Do not commit without running the automated tests.)
Jonathan McDowell [Tue, 23 Aug 2016 08:27:30 +0000 (09:27 +0100)]
Improve subpacket parsing robustness
Although we checked on each round of subpackets that we were still
within the correct length, we weren't checking the subpacket length
itself fit within the remaining data. Fixes some issues found using
American Fuzzy Lop.
Jonathan McDowell [Mon, 22 Aug 2016 22:14:24 +0000 (23:14 +0100)]
Add sanity check for PGP packet version
At present only PGP packet versions up to 4 are supported. There's no
indication version 5+ will be backwards compatible, so if we see
anything higher it indicates something unsupported. Fixes some issues
found using American Fuzzy Lop.
Jonathan McDowell [Mon, 22 Aug 2016 16:35:02 +0000 (17:35 +0100)]
Throw away invalid packet data when parsing packets
We would detect that a packet wasn't correctly formed, and handle
requests to try to allocation too much memory that failed, when parsing
keys. However the old partial packet structure was still left around. If
we hit an error when parsing an incoming packet make sure it's fully
cleaned up.
Jonathan McDowell [Mon, 22 Aug 2016 16:32:37 +0000 (17:32 +0100)]
Be more robust when handling unexpected lack of data
Make sure we don't assume packets have data (though they should), or
that a key has any uids. Found using American Fuzzy Lop.
Jonathan McDowell [Mon, 22 Aug 2016 16:30:14 +0000 (17:30 +0100)]
Prevent sign extension when parsing large packet sizes
A 2GB+ packet is likely to be a mistake, but in the event it was
legitimate sign extension could result in a much larger amount of
memory being allocated (and probably failing). Fix this by trying
to ensure we're doing an unsigned left shift.
Jonathan McDowell [Mon, 8 Aug 2016 22:05:18 +0000 (23:05 +0100)]
Include - in the permitted characters for the HKP base URL
- had been missed out as a valid character in the domain name for
the host we forward HKP requests to; add it.
Jonathan McDowell [Mon, 8 Aug 2016 22:04:14 +0000 (23:04 +0100)]
Add logging of the HKP base URL for the HKP forwarding backend
Jonathan McDowell [Mon, 8 Aug 2016 16:35:45 +0000 (17:35 +0100)]
Add cleankey.o to CORE_OBJS
Move cleankey.o from being an extra object to being part of the core
objects; the HKP backend is using it for starters and it so do various
other bits.
Jonathan McDowell [Mon, 4 Jul 2016 08:07:02 +0000 (10:07 +0200)]
Add KEYD_CMD_UPDATE to keyd protocol
When a key was being updated over keyd it would do a delete and then
a store, which ended up being outside a transaction. Add an update
command so that the backend can do the update fully itself.
Jonathan McDowell [Fri, 10 Jun 2016 07:58:12 +0000 (08:58 +0100)]
Fix errors in onak-mail.pl
The change to the new configuration file format introduced some paper
bag errors in the mail processing script. Fix these, and add a Perl
syntax check into the test target to try and prevent this sort of thing
in future.
Jonathan McDowell [Fri, 10 Jun 2016 07:26:53 +0000 (08:26 +0100)]
Fix use of keyd backend
When keyd is in use any backend configuration is ignored for the clients
and keyd contacted instead. The new config changes failed to correctly
migrate the overriding mechanism for this and as a result nothing was
using keyd.
Jonathan McDowell [Thu, 9 Jun 2016 14:35:09 +0000 (15:35 +0100)]
Fix compilation breakage with PostgreSQL backend
The migration to a specific backend database configuration structure
was incomplete for the PostgreSQL backend, causing compilation failures.
Jonathan McDowell [Thu, 9 Jun 2016 14:23:33 +0000 (15:23 +0100)]
Run autoreconf -i to produce configure script for Travis CI builds
Jonathan McDowell [Thu, 9 Jun 2016 14:20:19 +0000 (15:20 +0100)]
Add initial Travis CI configuration for GitHub CI builds
Jonathan McDowell [Thu, 9 Jun 2016 11:00:50 +0000 (12:00 +0100)]
Include statistics for fetching by SKS hash in "keydctl status"
These statistics were already being collected and passed to keydctl,
but were not being displayed.
Jonathan McDowell [Wed, 8 Jun 2016 22:24:05 +0000 (23:24 +0100)]
Clean keys before storing them in the stacked backend
If we fetch keys from a lower level of the stacked backends then run
the clean functions before trying to store them in the top level.
Jonathan McDowell [Wed, 8 Jun 2016 18:10:05 +0000 (19:10 +0100)]
Add all hardening options for Debian build (in particular for bindnow + pie)
Jonathan McDowell [Wed, 8 Jun 2016 18:08:36 +0000 (19:08 +0100)]
Add onak to Provides: in Debian init script rather than just pgp-server
Jonathan McDowell [Wed, 8 Jun 2016 18:07:28 +0000 (19:07 +0100)]
Update Debian Vcs URLs to use secure variants
Jonathan McDowell [Wed, 8 Jun 2016 15:25:39 +0000 (16:25 +0100)]
Fix up Debian systemd control file to allow non-socket activation
Rather than relying on socket activation allow keyd to be started on
boot by adding the appropriate stanza to the onak.service file.
Jonathan McDowell [Wed, 8 Jun 2016 14:14:15 +0000 (15:14 +0100)]
Bump Debian Standards-Version to 3.9.8.0
No changes.
Jonathan McDowell [Wed, 8 Jun 2016 14:07:35 +0000 (15:07 +0100)]
Fix use of absolute path in Debian postinst script
The changes to the Debian postinst to update an existing modified
configuration to the new style called onak with a full pathname. This
is contrary to Policy, so drop the path as dpkg should call us with
a sane $PATH.
Jonathan McDowell [Wed, 8 Jun 2016 11:35:10 +0000 (12:35 +0100)]
Add stacked backend
This backend takes advantage of the new configuration file flexibility
to enable the stacking of multiple backends together, with each being
tried in turn until the desired keys are found. All stores go to the
first configured backend, and fetches from subsequent backends are
also stored in the first backend.
Jonathan McDowell [Wed, 8 Jun 2016 11:27:41 +0000 (12:27 +0100)]
Silence scan-build warning about uninitialised fd_set structure
This is a false positive by scan-build (as FD_ZERO will initialise the
structure for us), but silence it anyway to achieve a clean run.
Jonathan McDowell [Tue, 7 Jun 2016 15:28:06 +0000 (16:28 +0100)]
Error out when trying to load a dynamic backend with no configuration
If we don't have a valid onak_db_config when trying to load a backend
in keydb_dynamic, error out right at the start.
Jonathan McDowell [Tue, 7 Jun 2016 15:11:04 +0000 (16:11 +0100)]
Update Debian packaging to cope with onak.conf -> onak.ini change
Use the "onak dumpconfig" utility to provide a smooth upgrade path for
previous versions of onak, and notify the user that the change has taken
place.
Jonathan McDowell [Tue, 7 Jun 2016 12:59:56 +0000 (13:59 +0100)]
Add "dumpconfig" command to onak to aide configuration file migration
onak is capable of parsing both old and new style configuration files,
but future improvements will only be added to the new style. To aide
users in the migration to the new format add a "dumpconfig" option to
the onak binary which will dump the current configuration in new format.
Jonathan McDowell [Tue, 7 Jun 2016 12:49:59 +0000 (13:49 +0100)]
Add getlogthreshold() to obtain current log level setting
Jonathan McDowell [Tue, 7 Jun 2016 11:23:18 +0000 (12:23 +0100)]
Change config format to a cleaner .ini style
onak's config file format grew from the pksd config style. pksd is long
obsolete and there are a number of features it would be nice to support
in onak which this config format makes hard to support cleanly. Move to
a .ini style config file, with [section] and name=value definitions. The
old format is still supported and at present an old style config is
searched for first to ensure smooth upgrades, but any new config options
will only be supported by the new style.
Additionally add tests against both old + new config styles for all
backends.
Jonathan McDowell [Tue, 7 Jun 2016 10:37:37 +0000 (11:37 +0100)]
Improve memory clean-up on exit
onak + wotsap were failing to free the memory allocated for the config
file name if it was passed on the command line, and the config structure
cleanups failed to free any configured sock_dir or the actual DB
backend config structure. All of this gets cleaned up by normal program
exit (which is when we do our clean-up anyway), but fix it anyway.
Jonathan McDowell [Tue, 7 Jun 2016 10:09:32 +0000 (11:09 +0100)]
Pass config file name into test scripts
Rather than having each test script hard code the config file that
should be use, have the top level runtests script pass the filename
to use as the config in as a command line parameter.
Jonathan McDowell [Tue, 7 Jun 2016 08:36:33 +0000 (09:36 +0100)]
Pull config line parsing out to its own function
The indentation in the config file reading function is horrible, so
pull the actual parsing of the line out to its own function simplifying
the loop to primarily be about reading each line and trimming white
space.
Jonathan McDowell [Tue, 7 Jun 2016 07:37:07 +0000 (08:37 +0100)]
Parse pks_bin_dir / mail_dir in the C config handling
pks_bin_dir and mail_dir are only used by the Perl that handles
incoming keyserver email, but parse them in the C code rather than
just ignoring them. This helps pave the way for some config file format
changes and tightening up the parsing to complain about unused options.
Jonathan McDowell [Mon, 6 Jun 2016 22:03:11 +0000 (23:03 +0100)]
Fix compilation breakage introduced in last commit
An unrelated change sneaked in as part of the proper splitting out of
backend database configuration - configuration initialisation for not
yet present config options. Remove them.
Jonathan McDowell [Mon, 6 Jun 2016 20:54:42 +0000 (21:54 +0100)]
Properly isolate database backend configuration
While database backends have had private context for some time they've
all been using the same configuration details from the global config
structure. Create a new DB specific config structure and initialise
a single instance from the config file. Also modify the DB backend
initialise functions to take this config structure as a parameter.
This will allow in the future for multiple different backends (whether
the same type or different) to be included at the same time.
Jonathan McDowell [Mon, 6 Jun 2016 19:19:17 +0000 (20:19 +0100)]
Switch to C99 struct initialisation for default configuration
Inbound changes to the configuration file handling will change the
config structure around. Switch to using C99 style initialisation, which
is much clearer to read and reduces the risk of assigning values to the
wrong configuration variable.
Jonathan McDowell [Sun, 5 Jun 2016 20:28:58 +0000 (21:28 +0100)]
Switch to using mail_dir for incoming mail lock file
Rather than using the db_dir for the lock file to prevent multiple
onak-mail instances processing incoming requests at the same time, use
the mail_dir file where the incoming messages are spooled anyway. This
is cleaner and will cope with the potential for multiple DB backends to
be in play in the future.
Jonathan McDowell [Sun, 17 Jan 2016 14:14:21 +0000 (14:14 +0000)]
Remove Ross Burton from Uploaders
Ross requested to be removed from Uploaders due to a lack of
time/inclination to work on onak maintainership.
Jonathan McDowell [Tue, 25 Aug 2015 15:19:14 +0000 (16:19 +0100)]
0.4.6 release
Release; update version string in configure.ac, README, Doxyfile.
Update HISTORY and debian/changelog.
Jonathan McDowell [Tue, 25 Aug 2015 15:46:30 +0000 (16:46 +0100)]
Fix stupid sock_dir bug
I forgot to actually parse the sock_dir info from the config file. Do
so.
Jonathan McDowell [Tue, 25 Aug 2015 14:22:24 +0000 (15:22 +0100)]
Support --runstatedir with autoconf 2.70+
Rather than putting our socket in $localstatedir/run use $runstatedir
which is support by the Debian package autoconf 2.69-9 and will be in
autoconf 2.70. Fall back to $localstatedir/run when an older version
of autoconf is used.
Jonathan McDowell [Fri, 21 Aug 2015 10:44:22 +0000 (12:44 +0200)]
Add config option to specify keyd socket directory
keyd was stashing its Unix domain socket in the DB directory, which
is contrary to convention. Add a sock_dir config option and default it
to ${prefix}/var/run in the sample config file.
Jonathan McDowell [Thu, 20 Aug 2015 12:22:25 +0000 (14:22 +0200)]
Update version.h when source files change
Make $(SRCS) a Makefile dependency for version.h so once any of the
source files change we can update our version to reflect this fact.
Jonathan McDowell [Thu, 20 Aug 2015 10:43:01 +0000 (12:43 +0200)]
Update debian/watch file to deal with non-gz compressed tarballs
Jonathan McDowell [Thu, 20 Aug 2015 10:30:52 +0000 (12:30 +0200)]
Add git commit details to non-release builds
The previous bzr version info is long unused, so replace with
'git describe' to embed the git version status in builds from git.
Jonathan McDowell [Sat, 15 Aug 2015 09:28:31 +0000 (10:28 +0100)]
Add Curve25519 ECC OID details
Jonathan McDowell [Sat, 15 Aug 2015 09:24:58 +0000 (10:24 +0100)]
Fix keysize for
Ed25519 to 255 bits
Jonathan McDowell [Sat, 15 Aug 2015 09:23:54 +0000 (10:23 +0100)]
Add support for displaying EDDSA keys
EDDSA is not yet formally defined, but understood by GnuPG 2.1 and
has been seen in the wild. Key size is defined by the OID as for
ECDH/ECDSA keys.
Jonathan McDowell [Fri, 14 Aug 2015 17:19:15 +0000 (18:19 +0100)]
Add de-duplication of subkeys on a key
GnuPG will incorrectly add a pre-existing subkey that it doesn't
understand (e.g. ECC) to a key. This results in keys with a large
number of identical subkeys. Avoid this by detecting such keys and
de-duplicating the identical subkeys.
(gnupg bug report at https://bugs.gnupg.org/gnupg/issue1962)
Jonathan McDowell [Sun, 17 May 2015 20:11:04 +0000 (21:11 +0100)]
Re-order linking for backend plugins to cope with ld --as-needed
The shared libraries for DB4/curl/PostgreSQL should all come after the
object file that uses them so that ld --as-needed can correctly pick up
the required linkage.
Fixes Debian bug #772433
Jonathan McDowell [Thu, 5 Mar 2015 15:27:14 +0000 (15:27 +0000)]
Add additional ECC OIDs
In addition to the 3 NIST curves add
Ed25519, the 3 brainpool curves and
secp256k1 (as used in Bitcoin).
Jonathan McDowell [Sun, 5 Oct 2014 13:43:11 +0000 (14:43 +0100)]
Don't build-depend on Debian systemd dev packages for non-Linux architectures
Later versions of systemd aren't build on FreeBSD etc so the Debian build
was failing due to an unmet build-dep on libsystemd-dev; limit this
requirement to Linux archs.
Fixes Debian bug #763924. Thanks to Pino Toscano <pino@debian.org>
Jonathan McDowell [Fri, 3 Oct 2014 16:30:51 +0000 (17:30 +0100)]
0.4.5 release
Release; update version string in configure.ac, README, Doxyfile.
Update HISTORY and debian/changelog.
Jonathan McDowell [Wed, 1 Oct 2014 08:37:56 +0000 (09:37 +0100)]
Check for sd_listen_fds in libsystemd as well as libsystemd-daemon
Upstream systemd has moved the sd_listen_fds function from
libsystemd-daemon into a combined libsystemd. For Debian this change
happens in the 214-1 package. Make the autoconf script look in both
and change the Debian build-deps to look for either suitably
recent libsystemd-dev or fall back to libsystemd-daemon-dev (to aid
backports).
Jonathan McDowell [Tue, 30 Sep 2014 21:38:04 +0000 (22:38 +0100)]
0.4.4 release
Release; update version string in configure.ac, README, Doxyfile.
Update HISTORY and debian/changelog.
Jonathan McDowell [Tue, 30 Sep 2014 21:34:21 +0000 (22:34 +0100)]
Use strtouq to parse keyid instead of strtoul
The use of strtoul to parse the key ID breaks parsing 64 bit key IDs
on 32 bit platforms. Use strtouq instead, which is defined as returning
a 64 bit rather than being dependant on the length of "unsigned long".
Jonathan McDowell [Tue, 30 Sep 2014 09:10:03 +0000 (10:10 +0100)]
0.4.3 release
Release; update version string in configure.ac, README, Doxyfile.
Update HISTORY and debian/changelog.
Jonathan McDowell [Tue, 30 Sep 2014 08:59:35 +0000 (09:59 +0100)]
Bump Debian Standards-Version to 3.9.6.0
No changes.
Jonathan McDowell [Tue, 30 Sep 2014 08:52:01 +0000 (09:52 +0100)]
Add dependency on dh-systemd to Debian packaging