|
|
NEWS User-visible changes in udns library. Recent changes on top.
0.4 (Jan 2014)
- bugfix: fix a bug in new list code introduced in 0.3 - portability: use $(LD)/$(LDFLAGS)/$(LIBS)
0.3 (Jan 2014)
- bugfix: refactor double-linked list implementation in udns_resolver.c (internal to the library) to be more strict-aliasing-friendly, because old code were miscompiled by gcc.
- bugfix: forgotten strdup() in rblcheck
0.2 (Dec 2011)
- bugfix: SRV RR handling: fix domain name parsing and crash in case if no port is specified on input for SRV record query
- (trivial api) dns_set_opts() now returns number of unrecognized options instead of always returning 0
- dnsget: combine -f and -o options in dnsget (and stop documenting -f), and report unknown/invalid -o options (and error out)
- dnsget: pretty-print SSHFP RRs
0.1 (Dec 2010)
- bugfix: udns_new(old) - when actually cloning another context - makes the new context referencing memory from old, which leads to crashes when old is modified later
- use random queue IDs (the 16bit qID) in queries instead of sequentional ones, based on simple pseudo-random RNG by Bob Jenkins (udns_jran.[ch]). Some people believe that this improves security (CVE-2008-1447). I'm still not convinced (see comments in udns_resolver.c), but it isn't difficult to add after all.
- deprecate dns_random16() function which was declared in udns.h (not anymore) but never documented. In order to keep ABI compatible it is still exported.
- library has a way now to set query flags (DNS_SET_DO; DNS_SET_CD).
- dnsget now prints non-printable chars in all strings in DNS RRs using decimal escape sequences (\%03u) instead of hexadecimal (\%02x) when before - other DNS software does it like this.
- recognize a few more record types in dnsget, notable some DNSSEC RRs; add -f option for dnsget to set query flags.
- udns is not a Debian native package anymore (was a wrong idea)
0.0.9 (16 Jan 2007)
- incompat: minor API changes in dns_init() &friends. dns_init() now requires extra `struct dns_ctx *' argument. Not bumped soversion yet - I only expect one "release" with this change.
- many small bugfixes, here and there
- more robust FORMERR replies handling - not only such replies are now recognized, but udns retries queries without EDNS0 extensions if tried with, but server reported FORMERR
- portability changes, udns now includes getopt() implementation fo the systems lacking it (mostly windows), and dns_ntop()&dns_pton(), which are either just wrappers for system functions or reimplementations.
- build is now based on autoconf-like configuration
- NAPTR (RFC3403) RR decoding support
- new file NOTES which complements TODO somewhat, and includes some important shortcomings
- many internal cleanups, including some preparations for better error recovery, security and robustness (and thus API changes)
- removed some #defines which are now unused (like DNS_MAXSRCH)
- changed WIN32 to WINDOWS everywhere in preprocessor tests, to be able to build it on win64 as well
0.0.8 (12 Sep 2005)
- added SRV records (rfc2782) parsing, thanks to Thadeu Lima de Souza Cascardo for implementation.
- bugfixes: o use uninitialized value when no reply, library died with assertion: assert((status < 0 && result == 0) || (status >= 0 && result != 0)). o on some OSes, struct sockaddr_in has additional fields, so memcmp'ing two sockaddresses does not work.
- rblcheck(.1)
0.0.7 (20 Apr 2005)
- dnsget.1 manpage and several enhancements to dnsget.
- allow nameserver names for -n option of dnsget.
- API change: all dns_submit*() routines now does not expect last `now' argument, since requests aren't sent immediately anymore.
- API change: different application timer callback mechanism. Udns now uses single per-context timer instead of per-query.
- don't assume DNS replies only contain backward DN pointers, allow forward pointers too. Change parsing API.
- debianize
0.0.6 (08 Apr 2005)
- use double sorted list for requests (sorted by deadline). This should significantly speed up timeout processing for large number of requests.
- changed debugging interface, so it is finally useable (still not documented).
- dnsget routine is now Officially Useable, and sometimes even more useable than `host' from BIND distribution (and sometimes not - dnsget does not have -C option and TCP mode)
- Debian packaging in debian/ -- udns is now maintained as a native Debian package.
- alot (and I really mean alot) of code cleanups all over.
|