[getdns-api] Todays getdns releases
willem at nlnetlabs.nl
Thu Jul 14 21:09:36 UTC 2016
This email is to outline the content of two getdns releases made today:
1.0.0b2 - a second beta release for version 1.0.0 of getdns
1.1.0a1 - an alpha release for a new feature release, version 1.1.0 of
The specifics of the release will be in the separate release
announcements, but here we discuss more generally some of the background
work that has been going in lately.
Since the 1.0.0b1 release our efforts have been concentrated on
assessing the library to make sure that the final 1.0.0 release will be
production ready and minimise the number of known issues and omissions.
To this end we have been measuring coverage of the code base and we have
also been evaluating the behaviour of the library with Deckard, the DNS
software testing tool developed at CZ.NIC. (Both methods were first
introduced by Shane Kerr as part of his IETF95 hackathon project). This
work is still ongoing.
getdns_query was originally developed as a test tool. In order to
evaluate the getdns library with Deckard, we had to provide it as a
(configurable) DNS server and so we extended the getdns_query test tool
in order to facilitate this. In 1.0:
* The getdns_context used by getdns_query can now also be configured
with the help of a configuration file (given with the -C option).
The configuration file format is the JSON like format that it is
returned by the getdns_pretty_print_*() functions.
The pretty printed version of the getdns_dict returned by
getdns_context_get_api_information() can be used as a configuration
file directly, but a less verbose form is also accepted.
* getdns_query can now answer DNS requests through the library
configured with command line options or config file, by providing
the IP(6) addresses to listen on either with an -z command line
option or by specifying them in the configuration file.
While working on this functionality for getdns_query, we realised that
such features would be convenient for the application developer too,
however to minimise disruption in 1.0 we chose to make the significant
changes needed in 1.1. Therefore in the 1.1 release:
getdns_query is promoted to be a a first class citizen of the getdns
suite and it is relocated to src/tools and built by default.
The 1.1 release contains function prototypes (prototyped in
getdns_query) to the library user to enable easy configuration and use
as a DNS server.
More information and example configuration files can be found here
We now have a preliminary documentation available in doxygen, which can
be built locally using ‘make doc’ or viewed on line at
https://getdnsapi.net/doxygen/ and https://getdnsapi.net/doxygen-1.1/ .
This provides details of both the Official getdns API and the
'Additional’ API (see the ‘Modules’ page). The Additional API specifies
the additional functionality that this implementation offers to
supplement that in the official getdns API and is available in the
getdns_extras.h file. Some additions are convenient utility functions
but other functionality is experimental prior to be being recommended
for inclusion in the official API. This documentation is also a work in
Apart from the changes to getdns_query, the major updates in the 1.1.0a1
release compared to 1.0.0b1 are new functions to convert text strings to
the getdns native types, configure a context directly from a
configuration file and register listen addresses. It also enhances the
handling of upstreams for stub mode. More details are in the 1.1 release
note. DNS64 functionality and the addition of new error codes will be
added in a later release.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: OpenPGP digital signature
More information about the Users