You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
4.6 KiB

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