137 lines
4.6 KiB
Plaintext
137 lines
4.6 KiB
Plaintext
|
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.
|