Archive for the ‘Releases’ Category

SoftHSM 2.2.0

Version 2.2.0 of SoftHSM has been released.


  • Issue #143: Delete a token using softhsm2-util.
  • Issue #185: Change access mode bits for /var/lib/softhsm/tokens/ to 1777. All users can now create tokens, but only access their own. (Patch from Rick van Rein)
  • Issue #186: Reinitializing a token will now keep the token, but all token objects are deleted, the user PIN is removed and the token label is updated.
  • Issue #190: Support for OpenSSL 1.1.0.
  • Issue #198: Calling C_GetSlotList with NULL_PTR will make sure that there is always a slot with an uninitialized token available.
  • Issue #199: The token serial number will be used when setting the slot number. The serial number is set after the token has been initialized. (Patch from Lars Silvén)
  • Issue #203: Update the command utils to use the token label or serial to find the token and its slot number.
  • Issue #209: Possibility to test other PKCS#11 implementations with the CppUnit test. (Patch from Lars Silvén)
  • Issue #223: Mark public key as non private by default. (Patch from Nikos Mavrogiannopoulos)
  • Issue #230: Install p11-kit module, to disable use –disable-p11-kit. (Patch from David Woodhouse)
  • Issue #237: Add windows continuous integration build. (Patch from Peter Polačko)


  • Issue #201: Missing new source file and test configuration in the Windows build project.
  • Issue #205: ECDSA P-521 support for OpenSSL and better test coverage.
  • Issue #207: Fix segmentation faults in loadLibrary function. (Patch from Jaroslav Imrich)
  • Issue #215: Update the Homebrew install notes for OSX.
  • Issue #218: Fix build warnings.
  • Issue #235: Add the libtool install command for OSX. (Patch from Mark Wylde)
  • Issue #236: Use GetEnvironmentVariable instead of getenv on Windows. (Patch from Jaroslav Imrich)
  • Issue #239: Crash on module unload with OpenSSL. (Patch from David Woodhouse)
  • Issue #241: Added EXTRALIBS to Windows utils project. (Patch from Peter Polačko)
  • Issue #250: C++11 not detected.
  • Issue #255: API changes in Botan 1.11.27.
  • Issue #260: Fix include guard to check WITH_FIPS. (Patch from Matt Hauck)
  • Issue #268: p11test fails on 32-bit systems.
  • Issue #270: Build warning about “converting a string constant”.
  • Issue #272: Fix C++11 check to look for unique_ptr. (Patch from Matt Hauck)


SoftHSM 1.3.8

Version 1.3.8 of SoftHSM has been released.


  • SOFTHSM-101: softhsm-keyconv creates files with sensitive material in insecure way. Also applies to softhsm-util when using –export or –optimize.
  • SOFTHSM-104: Inconsistencies between v1 and v2.
  • Issue #17: Use the MutexFactory wrapper functions correctly.


OpenDNSSEC 1.4.12

Version 1.4.12 of OpenDNSSEC has been released on 2016-10-17.


Hereby we announce the OpenDNSSEC 1.4.12 release. This is a bug fix release targeting a memory leak in the signer when being used in the “bump in the wire” model where the signer would send out notify messages and respond to IXFR requests for the signed zone. This typically would manifest itself with very frequent outgoing IXFRs over a longer period of time.
When upgrading from 1.4.10 (the 1.4.11 release was skipped) no migration steps are needed. For upgrading from earlier releases see the migration steps in the individual releases, most notably in This version of OpenDNSSEC does however require a slightly less older minimal version of the library ldns.


  • OPENDNSSEC-808: Crash on query with empty query section (thanks HÃ¥vard Eidnes).
  • SUPPORT-191: Regression, Must accept notify without SOA (thanks Christos Trochalakis).
  • OPENDNSSEC-845: memory leak occuring when responding to IXFR out when having had multiple updates.
  • OPENDNSSEC-805: Avoid full resign due to mismatch in backup file when upgrading from 1.4.8 or later.
  • OPENDNSSEC-828: parsing zone list could show data from next zone when zones iterated on single line.
  • OPENDNSSEC-811,OPENDNSSEC-827,e.o.: compiler warnings and other static code analysis cleanup
  • OPENDNSSEC-847: Broken DNS IN notifications when pkt answer section is empty.
  • OPENDNSSEC-838: Crash in signer after having removed a zone.
  • Update dependency to ldns to version 1.6.17 enabling the DNS HIP record.
  • Prevent responding to queries when not fully started yet.


OpenDNSSEC 2.0.3

Version 2.0.3 of OpenDNSSEC has been released on 2016-10-17.


Hereby we announce the OpenDNSSEC 2.0.3 release. Most of the changes are related to further smoothing the migration path from OpenDNSSEC 1.4 to 2.0. If you still need to migrate from 1.4.10 please migrate to 2.0.3 directly rather than via 2.0.1. Another important fix is a memory leak in the signer. It would cause a high memory usage for installations with very frequent outgoing IXFR’s.


  • OpenDNSSEC-839: update all no longer deletes zones or policies. Policy import now has a –remove-missing-policies option. (thanks David Peall)
  • OpenDNSSEC-840: Fix migration script to correctly interpret SOA serial strategy.
  • OPENDNSSEC-843: MaxZoneTTL defaults to 0 instead of 1 day.
  • Migration script can handle converting a database with zones in rollover better.
  • Fixed incorrect behaviour when more than 2 ZSKs involved in roll.
  • SUPPORT-201: Remove old keys from converted DB.
  • OPENDNSSEC-845: Memory leak on IXFR out.


OpenDNSSEC 2.0.1

Version 2.0.1 of OpenDNSSEC has been released on 2016-07-21.


This release is primarily focused on ironing out the issues on the migration path from 1.4 to 2.0. Besides that there are no functional changes.


  • Fixed crash and linking issue in ods-migrate.
  • Fixed case where 2.0.0 could not read backup files from 1.4.10.
  • Fixed bug in migration script where key state in the database wasn’t transformed properly.


OpenDNSSEC 2.0.0

It gives us pleasure to announce the release of OpenDNSSEC 2.0

OpenDNSSEC got a entire re-write of the enforcer. This part of OpenDNSSEC controls changing signing keys in the right way to perform a roll-over. Before, the enforcer would perform a roll-over according to a strict paradigm. One scenario in which deviations would not be possible.

The new enforcer is more aware of the zone changes being propagated in the Internet. It can therefore decide when it is safe to make changes, rather than to rely upon a given scenario. This makes it possible now for OpenDNSSEC to:

  • Allow changing your TTL values and all other related parameters in your key and signing policy (KASP). OpenDNSSEC will know which outdated records may still be on the Internet due to their TTL and only roll when it is safe.
  • It is possible to safely roll to an unsigned situation, without going bogus.
  • Perform a roll-over procedure at any time, even if a roll-over procedure is still in progress, this way you can abort a roll-over and perform emergency roll-overs.
  • Perform a roll-over to a different signing algorithm. DNSSEC requires the algorithm number of ZSK and KSK to be the same, so a roll-over to a different algorithm requires a different sequence.
  • Since there is no longer a single scenario, it will become possible to perform other roll-over methods, like a double DS roll-over or a double RRSIG roll-over.

These features keep your zone valid even in situations where changing parameters could trap you into a bogus situation. OpenDNSSEC chooses the fastest safe steps to keep (or even heal) your zone. Other features have also been realized in this rewrite:

  • Shared keys, allowing multiple zones to share the most recent signing key for that policy. Useful when having many zones, and a limited storage in your HSM.
  • Combined keys, allow KSK and ZSK to be the same key, also limiting the usage of keys, but also simplify key usage.
  • Also allow zones to pass unsigned. This allows for a chain of software packages where both signed and unsigned zones can follow the same steps in your chain, simplifying the set-up.
  • And the enforcer no longer requires to be run periodically, but runs as a proper daemon which wakes up at the proper time.
  • Allow for multiple HSMs, also allowing you to roll to roll your zone from keys in one HSM to another. Or to store KSK and ZSK separately.
  • This could even be used in set-ups where the key set is signed separately from your zone.
  • And the enforcer daemon can now be queried and given commands using command line channel.

Administratively, there has also been a major change. NLnet Labs has adopted the full development of OpenDNSSEC, where previously it was one of the partners in the project. This ensures a future-safe continued development of OpenDNSSEC. In this respect we will see more features enhancements in quicker release cycles soon.

Some heads-up when trying it out after being used to 1.4:

  • Scripted migration from 1.4 to 2.0 is available, see MIGRATION file
  • Use command ods-enforcer-db-setup rather than “ods-ksmutil setup”
  • Any other use of ods-ksmutil is replaced with the ods-enforcer command, which at the moment requires the enforcer daemon to be running
  • Use ods-enforcer zone add and delete rather than modifying the zonelist.xml file yourself. This file is not kept up-to-date automatically anymore
  • to start using OpenDNSSEC, use ods-enforcer policy import instead of update kasp to update your policies
  • Getting started at: Quick start guide.

Edit: Update from 2.0.0 to 2.0.0-1. Both releases are identical but 2.0.0 lacked some database generation scripts required for migration from 1.4.10.

Download it here:

OpenDNSSEC 1.4.10

Version 1.4.10 of OpenDNSSEC has been released on May 2nd, 2016.


This release fix targets stability issues which have had a history nad had been hard to reproduce.  Stability should be improved, running OpenDNSSEC as a long term service.

Changes in TTL in the input zone that seem not to be propagated, notifies to slaves under load that where not handled properly and could lead to assertions.  NSEC3PARAM that would appear duplicate in the resulting zone, and crashes in the signer daemon in seldom race conditions or re-opening due to a HSM reset.

No migration steps needed when upgrading from OpenDNSSEC 1.4.9.

Also have a look at our OpenDNSSEC 2.0 beta release, its impending release will help us forward with new development and signal phasing out historic releases.


  • SUPPORT-156 OPENDNSSEC-771: Multiple NSEC3PARAM records in signed zone.
    After a resalt the signer would fail to remove the old NSEC3PARAM RR until a manual resign or incoming transfer.
    Old NSEC3PARAMS are removed when inserting a new record, even if they look the same.
  • OPENDNSSEC-725: Signer did not properly handle new update while still distributing notifies to slaves.
    An AXFR disconnect looked not to be handled gracefully.
  • SUPPORT-171: Signer would sometimes hit an assertion using DNS output adapter when .ixfr was missing or corrupt but .backup file available.
  • Above two issues also in part addresses problems with seemingly corrected backup files (SOA serial). Also an crash on badly configured DNS output adapters is averted.
  • The signer daemon will now refuse to start when failed to open a listen socket for DNS handling.
  • OPENDNSSEC-478 OPENDNSSEC-750 OPENDNSSEC-581 OPENDNSSEC-582 SUPPORT-88: Segmentation fault in signer daemon when opening and closing hsm multiple times.
    Also addresses other concurrency access by avoiding a common context to the HSM (a.k.a. NULL context).
  • OPENDNSSEC-798: Improper use of key handles across hsm reopen, causing keys not to be available after a re-open.
  • SUPPORT-186: IXFR disregards TTL changes, when only TTL of an RR is changed.
    TTL changes should be treated like any other changes to records.
  • When OpenDNSSEC now overrides a TTL value, this is now reported in the log files.


SoftHSM 2.1.0

Version 2.1.0 of SoftHSM has been released.


  • Issue #136: Improved guide and build scripts for Windows. (Thanks to Jaroslav Imrich)
  • Issue #144: The password prompt in softhsm2-util can now be interrupted (ctrl-c).
  • Issue #166: Add slots.removable config option. (Patch from Sumit Bose)
  • Issue #180: Windows configure script improvements. (Patch from Arnaud Grandville)

Bug fixes:

  • Issue #128: Prioritize the return values in C_GetAttributeValue. (Patch from Nicholas Wilson
  • Issue #129: Fix errors reported by Visual Studio 2015. (Patch from Jaroslav Imrich)
  • Issue #132: Handle the CKA_CHECK_VALUE correctly for certificates and symmetric key objects.
  • Issue #154: Fix the Windows build and destruction order of objects. (Patch from Arnaud Grandville)
  • Issue #162: Not possible to create certificate objects containing CKA_CERTIFICATE_CATEGORY, CKA_NAME_HASH_ALGORITHM, or CKA_JAVA_MIDP_SECURITY_DOMAIN.
  • Do not attempt decryption of empty byte strings. (Patch from Michal Kepien)
  • Issue #165: Minor changes after a PVS-Studio code analysis, and C_EncryptUpdate crash if no ciphered data is produced. (Patch from Arnaud Grandville)
  • Issue #169: One-byte buffer overflow in call to EVP_DecryptUpdate.
  • Issue #171: Problem while closing library that is initialized but improperly finalized.
  • Issue #173: Adjust return values for the template parsing.
  • Issue #174: C_DeriveKey() error with leading zero bytes.
  • Issue #177: CKA_NEVER_EXTRACTABLE set to CK_FALSE on objects created with C_CreateObject.
  • Issue #182: Resolve compiler warning. (Patch from Josh Datko)
  • Issue #184: Stop discarding the global OpenSSL libcrypto state. (Patch from Michal Trojnara)
  • SOFTHSM-123: Fix library cleanup on BSD.



OpenDNSSEC 1.4.9

Version 1.4.9 of OpenDNSSEC has now been released.


The main motivations for this release are bug fixes related to use cases with large number of zones (more than 50 zones) in combination with an XFR based setup. Too much concurrent zone transfers causes new transfers to be held back. These excess transfers however were not properly scheduled for later.

No migration steps needed when upgrading from OpenDNSSEC 1.4.8.


  • Add TCP waiting queue. Fix signer getting ‘stuck’ when adding many zones at once. Thanks to Håvard Eidnes to bringing this to our attention.
  • OPENDNSSEC-723: received SOA serial reported as on disk.
  • Fix potential locking issue on SOA serial.
  • Crash on shutdown. At all times join xfr and dns handler threads.
  • Make handling of notifies more consistent. Previous implementation would bounce between code paths.



Version of OpenDNSSEC has now been released.


  • Support for RFC5011 style KSK rollovers. KSK section in the KASP now accepts element.
  • Enforcer: New repository option allows to generate keys with CKA_EXTRACTABLE attribute set to TRUE so keys can be wrapped and extracted from HSM.


  • SUPPORT-145: EOF handling an ARM architecture caused signer to hang.
  • Fixed signer hitting assertion on short reply XFR handler.
  • Include revoke bit in keytag calculation.
  • Increased stacksize on some systems (thanks Patrik Lundin!).
  • Stop ods-signerd on SIGINT.


  • By error 1.4.8 did not include database migration scripts for upgrading existing installations. resolves this issue.


You are currently browsing the archives for the Releases category.