From willem at nlnetlabs.nl Thu Mar 26 22:54:16 2015 From: willem at nlnetlabs.nl (Willem Toorop) Date: Thu, 26 Mar 2015 17:54:16 -0500 Subject: [getdns-users] getdns 0.1.7 release candidate Message-ID: <55148E18.30909@nlnetlabs.nl> -----BEGIN PGP SIGNED MESSAGE----- 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 ChangeLog ========= * 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJVFI4YAAoJEOX4+CEvd6SYHJcQAIO5SkO47lNMgP24bNhoEh69 Cf/79n8dmHq6oRttVb06L+hXH/apVlntANI2Gnte3MhP6HRCxZEmg57Zgal+dPKm LlPnaFs96MZDfm6PtILHYvSV+6TQa0seAbwl0w0JU+RseUvn58XneKjdcU/z5A2P 3X8coCNOU4VlfIV2CfRGWzFEBD1Z5cSI1JOC8G926Jwmvcnaz8uN+RCTl5MhHede lOaf6kDlJsmXUIEjDQdbQuLXPo4gUS0cDY14RSopJHRlu9Oc0T2ja4sGyddbTY5f 1vHLo+BFZeOtfO/ia75KN4cSJVdWnKA0p2yJDZRZ0lCohMa2D0wDjxnKCmlrqwDY 1sDM2UdY9XoiRkh7zsuTvInpobMgc4Wx2tj+B+99VHwF70jsMPX/YgdqNeSnGWm7 eueCkHkcA9CV3B+javwZqcxAIbUYbO1oSBTZ4vl7yegEFexV6rsjwB44BiuXlPGn MJuwykQb/KKCynHPtpwwCcyB6DMbBzMTBhdmLHTBdtvNoW9ByH0PJZtOjA4X5RN4 YNegOSXx1ZQAdkpv7XXqoPPIQtA2It2aJSNODLUAkR87z11DexYFaPorSSv6zYBe b3LTZ3tVLP/bGly3MvNmDkSna541XIOfEwpw7OWCFo/U8OMToj4Twiwlxon9kbAz JjiWE+07Oue7Ne/UFdVN =xcgO -----END PGP SIGNATURE-----