[getdns-users] getdns 0.1.7 release candidate

Willem Toorop willem at nlnetlabs.nl
Thu Mar 26 22:54:16 UTC 2015

Hash: SHA1

Dear all,

I am pleased to announce the special IETF92 edition release candidate
for version 0.1.7 of our getdns API implementation.

Besides bugfixes, this implementation has all the features on board
that will be demonstrated during tonight's Bits-n-Bites session at the
IETF92 in Dallas.

These features are most notably a draft implementation of the section
6 and 7 version of draft-ietf-dnsop-cookies-01.txt (
http://datatracker.ietf.org/doc/draft-ietf-dnsop-cookies/ ). This
implementation is compatible with (uses the same opcode as) bind's
9.10's implementation.  You need to specify the
- --enable-draft-edns-cookies option to compile with this feature.
Using it involves setting a "edns_cookies" extension.

Other visible additions are the getter functions of the context
properties, and the output to JSON printer functions.  The print
functions have a snprintf style version now too.

In this release, quite some work has gone into the elimination of the
ldns dependency.  The primary reason for this work is to reduce the
amount of memory allocation and deallocations while processing DNS
packets and to increase performance and robustness;  Before,
wireformat DNS packets would first be parsed by ldns to turn it into
ldns host format packet structures, which were then converted into the
getdns native response dict format.  This version will skip the ldns
host format step and build the response dict directly from the wireformat.

Other uses of ldns have been replaced as well.  This release does no
longer depend on ldns_get_random() for random number generation (for
query id's etc.) but includes OpenBSD's arc4random function for this.

Unfortunately we were not able to remove all ldns dependency for this
release in time.  ldns is still used for DNSSEC validation by the
getdns_validate_dnssec() function.  The release following this release
will have that replaced as well with native DNSSEC validation and will
no longer be dependent on ldns any more.

Note that this is a release candidate.  It is distributed for you to
review before we do an actual release.  Please review this candidate
carefully.  If no issues arise the actual 0.1.7 release will follow
over one week on the second of April 2015.

link   : https://getdnsapi.net/dist/getdns-0.1.7rc1.tar.gz
md5    : add324d83f209a2e974435a69d7bac24
sha1   : 9e19b6f522c156e41b7c434f7b441651912151cb
pgp sig: https://getdnsapi.net/dist/getdns-0.1.7rc1.tar.gz.asc

* 2015-0?-??: Version 0.1.7
  * Individual getter functions for context settings
  * Fix: --with-current-date function to make build deterministically
    reproducible (i.e. the GETDNS_COMPILATION_COMMENT define from
    getdns.h contains a date value).  Thanks Ond?ej Surý
  * Fix: Include m4 dir in distribution tarball
  * Fix: Link build requirements in tests too.  Thanks Ond?ej Surý
  * Fix: Remove executable flags on source files.  Thanks Paul Wouters
  * Fix: Return "just_address_answers" only when queried for addresses
  * Eliminate ldns intermediate wireformat parsing
  * The CSYNC RR type
  * Fix: canonical_name in response dict returns the canonical name
    found after following all CNAMEs
  * Implementation of the section 6 and 7 version of
    draft-ietf-dnsop-cookies-01.txt for stub resolution.  Enable with
    the --enable-draft-edns-cookies option to configure.  Use it by
    setting the edns_cookies extension to GETDNS_EXTENSION_TRUE.
  * Pretty printing of lists with:
    char *getdns_pretty_print_list(getdns_list *list)
  * Output to json format with:
    char *getdns_print_json_dict(const getdns_dict *dict, int pretty);
    char *getdns_print_json_list(const getdns_list *list, int pretty);
  * snprintf style versions of the dict, list and json print functions.
  * Better random number generation with OpenBSD's arc4random
Version: GnuPG v1


More information about the Users mailing list