chiark / gitweb /
b6193e852fb2dac360200c962e68e7d9ad7b5433
[adns.git] / changelog
1 adns (1.6.2) UPSTREAM; urgency=low
2
3   Minor bugfix:
4   * Disable debugging output to stderr from adns_addr2text and
5     adns_text2addr, when used with exciting values (eg scoped addresses).
6
7   Minor portability fix:
8   * Fix a harmelss compiler warning about sortlist never being NULL.
9
10   Build system:
11   * Rerun autogen.sh using autoconf 2.72 from Debian trixie.
12
13   Administrivia:
14   * Minor fixes to README, INSTALL and some copyright notices.
15
16  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Tue, 05 May 2026 18:25:45 +0100
17
18 adns (1.6.1) UPSTREAM; urgency=low
19
20   Minor bugfix:
21   * Suppress warning about `trust-ad` in resolv.conf.  Debian #1028112.
22
23   Build system:
24   * Honour DESTDIR, avoiding need for prefix= workaround.
25     [Contribution from Sergey Poznyakoff]
26   * regression tests: Add missing dependency on hsyscalls.h.
27     GNU #51329.  [Report from Sergei Trofimovich]
28   * regression tests: build with 64-bit time_t on 32-bit systems.
29     Debian #1065725, Ubuntu Launchpad #2057735.
30     [Report from Sebastian Ramacher]
31
32   Documentation:
33   * Fix all http: URLs in docs to be https: instead.
34
35  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 05 May 2024 22:39:28 +0100
36
37 adns (1.6.0) UPSTREAM; urgency=medium
38
39   Bugfixes:
40   * adnshost: Support --reverse in -f mode input stream
41   * timeout robustness against clock skew: track query start time and
42     duration.  Clock instability may now only cause spurious timeouts
43     rather than indefinite hangs or even assertion failures.
44
45   New features:
46   * adnshost: Offer ability to set adns checkc flags
47   * adnslogres: Honour --checkc-freq (if it comes first)
48   * adnsresfilter: Honour --checkc-freq and --checkc-entex
49   * time handling: Support use of CLOCK_MONOTONIC via an init flag.
50   * adns_str* etc.: Improve robustness; more allowable inputs values.
51
52   Build system improvements:
53   * clean targets: Delete $(TARGETS) too!
54   * Remove all m4 output files from the distributed source tree.
55   * Support DESTDIR=/some/absolute/path on `make install'.
56   * Provide autogen.sh.
57   * Rerun autoheader and autoconf (2.69).
58
59   Internal changes:
60   * adnshost: adh-opts.c: Whitespace adjustments to option table
61
62   Tests:
63   * New tests for fixes in 1.5.3.
64   * Fixes to test harness to avoid false positives during fuzzing.
65   * Other changes to support use with AFL.
66   * Many supporting improvements and refactorings.
67   * Fix skipped tests ($$ reference in Makefile)
68
69
70  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Thu, 11 Jun 2020 15:49:39 +0100
71
72 adns (1.5.2) UPSTREAM; urgency=medium
73
74   * Important security fixes:
75      CVE-2017-9103 CVE-2017-9104 CVE-2017-9105 CVE-2017-9109:
76         Vulnerable applications: all adns callers.
77         Exploitable by: the local recursive resolver.
78         Likely worst case: Remote code execution.
79      CVE-2017-9106:
80         Vulnerable applications: those that make SOA queries.
81         Exploitable by: upstream DNS data sources.
82         Likely worst case: DoS (crash of the adns-using application)
83      CVE-2017-9107:
84         Vulnerable applications: those that use adns_qf_quoteok_query.
85         Exploitable by: sources of query domain names.
86         Likely worst case: DoS (crash of the adns-using application)
87      CVE-2017-9108:
88         Vulnerable applications: adnshost.
89         Exploitable by: code responsible for framing the input.
90         Likely worst case: DoS (adnshost crashes at EOF).
91     All found by AFL 2.35b.  Thanks to the University of Cambridge
92     Department of Applied Mathematics for computing facilities.
93
94   Bugfixes:
95   * Do not include spurious external symbol `data' (fixes GCC10 build).
96   * If server sends TC flag over TCP, bail rather than retrying.
97   * Do not crash on certain strange resolv.conf contents.
98   * Fix various crashes if a global system failure occurs, or
99     adns_finish is called with outstanding queries.
100   * Correct a parsing error message very slightly.
101   * DNS packet parsing: Slight fix when packet is truncated.
102   * Fix ABI compatibility in string conversion of certain RR types.
103   * internal.h: Use `unsigned' for nextid; fixes theoretical C UB.
104
105   Portability fix:
106   * common.make.in: add -Wno-unused-value.  Fixes build with GCC9.
107
108   Internal changes:
109   * Additional comments describing some internal code restrions.
110   * Robustness assert() against malfunctioning write() system call.
111
112  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Thu, 11 Jun 2020 15:48:12 +0100
113
114 adns (1.5.1) UPSTREAM; urgency=medium
115
116   * Portability fix for systems where socklen_t is bigger than int.
117   * Fix for malicious optimisation of memcpy in test suite, which
118     causes failure with gcc-4.1.9 -O3.  See Debian bug #772718.
119   * Fix TCP async connect handling.  The bug is hidden on Linux and on most
120     systems where the nameserver is on localhost.  If it is not hidden,
121     adns's TCP support is broken unless adns_if_noautosys is used.
122   * Fix addr queries (including subqueries, ie including deferencing MX
123     lookups etc.) not to crash when one of the address queries returns
124     tempfail.  Also, do not return a spurious pointer to the application
125     when one of the address queries returns a permanent error (although,
126     the application almost certainly won't use this pointer because the
127     associated count is zero).
128   * adnsresfilter: Fix addrtextbuf buffer size.  This is not actually a
129     problem in real compiled code but should be corrected.
130   * Properly include harness.h in adnstest.c in regress/.  Suppresses
131     a couple of compiler warnings (implicit declaration of Texit, etc.)
132
133  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Fri, 12 Aug 2016 22:53:59 +0100
134
135 adns (1.5.0) UPSTREAM; urgency=low
136
137   * Release 1.5.0.  No changes since 1.5.0~rc1.
138
139  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 26 Oct 2014 14:57:10 +0000
140
141 adns (1.5.0~rc1) UPSTREAM; urgency=low
142
143   ABI/API changes:
144   * Provide adns_qf_cname_strict flag, currently ignored because it's the
145     default.  This will allow us to make this not the default in the future
146     while retaining forward and backward API and ABI compatibility.
147   * Add `sizeforce' enum member value to force enum types in the APIs to be
148     big (which will avoids theoretical future ABI-incompatibility).
149   * Reject unknown flags passed by our caller.  This will make it ABI-safe
150     (although not ABI-backward-compatible) to add new flags in the future,
151     as newer clients running against this old library will get ENOSYS.
152
153   resolv.conf parsing:
154   * Support `adns_ignoreunkcfg' resolv.conf option to ignore unknown
155     options and keywords in resolv.conf.
156   * Ignore various BIND9 resolv.conf keywords and options.
157   * Fix resolv.conf option word splitting.
158
159   Tests, build system, coding style, etc.:
160   * Test cases show rrtype flag values in hex.
161   * Parallelise `make check'.
162   * Make vbuf__append_quoted1035 no longer extern (there are no out-of-file
163     callers).
164   * Remove all RCSids.
165   * When releasing, check that the `make dist' tarball is identical to git.
166     And provide a test mode for the RELEASE-CHECKLIST doc/script.
167   * Add `make dist' tarball signature to .gitignore.
168   * More correctly and effectively work around bugs in make (Debian #4073,
169     #756123) affecting regress.
170
171  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 26 Oct 2014 13:24:00 +0000
172
173 adns (1.5.0~rc0) UPSTREAM; urgency=low
174
175   New features:
176   * Support for queries about IPv6 data in all applicable adns
177     query types (including AAAA, PTR, and adns_r_addr queries).
178     (Thanks very much to Mark Wooding.)
179   * Support for transport over IPv6.  (Thanks to Mark Wooding again.)
180   * adns_addr2text and adns_text2addr: Convenient functions for
181     converting between addresses and address literals.
182
183   Bugfixes:
184   * Fix a crashing bug in adnslogres.  (Debian#392102.)
185   * Do all checks of checked PTR owner name before actually sending the
186     query, and reject IPv4 PTR owner names whose labels have leading zero
187     digits or values >255.
188
189   Build system fixes and improvements:
190   * `make clean' removes the pipes.
191   * Work around bugs in make (Debian #4073, #756123) affecting regress.
192   * Do not include Makefile and src/config.h in distribution tarball.
193
194   Regression test debugging improvements:
195   * Provide gdbwrap convenience script.
196   * Honour ADNS_TEST_DEBUG env. var.  (Mark Wooding.)
197
198   Other improvements:
199   * Licence changed to GPLv3 (still LGPLv2 for adns.h).
200   * Source code cleanups.  (Some from Mark Wooding.)
201   * Now in git.
202   * Documentation and webpage updates.
203
204  -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Mon, 20 Oct 2014 01:29:50 +0100
205
206 adns (1.4); urgency=low
207
208   Improvements for multithreaded programs:
209   * New documentation comment in adns.h explaining thread guarantees
210     (or lack of them), replaces `single-threaded' note at the top.
211   * Fix string conversion of adns_r_addr not to use a static buffer
212     (function csp_addr) so as to make thread promise true.
213   * Make an internal variable const-correct (expectdomain in pa_ptr).
214
215  -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue, 17 Oct 2006 17:05:08 +0100
216
217 adns (1.3); urgency=low
218
219   Portability fixes:
220   * Cast ptrdiff_t to int for %.*s length in adnsheloex and adnslogres,
221     as is required.  (Report from Jim Meyering.)
222   * In configure.in, quote macro name argument to define() to
223     suppress spurious autoconf error.  (Report from Mihai Ibanescu.)
224   * Use autoconf's values for {bin,lib,include}dir rather than inventing
225     our own from @exec_prefix@, making configure --libdir work.
226     (Patch from Mihai Ibanescu.)
227   * Remove spurious `_' from {bin,lib,include}dir Makefile variables.
228     (Report from Mihai Ibanescu.)
229   * Do away with `mismatch' variable in parse.c:adns__findrr_anychk so that
230     overzealous GCC cannot complain about members of eo_fls being
231     uninitialised.  (Report from Jim Meyering.)
232
233  -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue,  6 Jun 2006 20:22:30 +0100
234
235 adns (1.2); urgency=medium
236
237   New features:
238   * Support for SRV RRs.
239   * Support for unknown RR types (according to RFC3597) via adns_r_unknown.
240   * Allow `;'-comments in resolv.conf (report from Colin Charles).    
241   * New adnsheloex client courtesy of Tony Finch.
242   * New adns_init_logfn etc. for having logging use a callback function.
243
244   Bugfixes:
245   * Fix error in prototype in definition of adns__parse_domain.
246   * Add missing ENOTSOCK to hcommon.c.m4 (was already in hcommon.c!)
247
248   Portability fixes prompted by Bernd Eckenfels, the Debian maintainer:
249   * Correct type of various printf arguments: ptrdiff_t != int.
250   * Do not print size of leaked blocks of memory (this causes
251     a spurious regression test failure on some platforms).
252   * Provide adns_if_none and adns_qf_none (which will help with compilers
253     which complain about plain `0' being passed where an enum is wanted).
254   * adnstest converts some errno values to EFOOBAR: all of the ones
255     mentioned in adns.h, at least.  This makes the regression test
256     more portable (fixes problem noticed by Bernd Eckenfels).
257   * Add -Wno-pointer-sign if GCC has that option.
258
259   Documentation improvements:
260   * Add documentation comment by definition of adns_r_ptr_raw type enum.
261   * Document in adns.h EINVAL from adns_init meaning bad configuration.
262   * Include several new references to related programs to README.html.
263   * Redacted the TODO list.
264   * New LICENCE.WAIVERS file for GPL-incompatility workarounds.
265   * Clarified GPL-vs-LGPL: a bit less hostile and a bit more mercenary.
266   * Copyright notices updated.
267
268   Packaging changes:
269   * Update MINOR to 2 and DISTVERSION and ADNS_VERSION_STRING to 1.2.
270   * Reran autoconf/autoheader (autoconf Debian 2.13-54).
271   * Create $(bin_dir) and $(lib_dir) on `make install', and also
272     make a libadns.so.1 -> libadns.so.1.<minor> link.  (Suggestions
273     and patch from Nix of esperi.org.uk.)
274   * Add .PHONY: install to Makefile, to help people with demented fs's.
275   * Darwin listed in INSTALL.
276
277   Minor test harness improvements:
278   * Hgettimeofday calls Tensurerecordfile (was Tensureinput/outputfile).
279   * Add bind(2) and listen(2) wrappers (for epithet, but harmless in adns).
280
281  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat,  8 Apr 2006 15:41:28 +0100
282
283 adns (1.1); urgency=medium
284
285   Major bugfixes:
286   * Do not spin if connect() fails immediately (!)
287   * Stop searching on a CNAME (even if it's broken).
288   * When search list runs out, _qf_owner sets owner to query domain.
289   * Fix bogus multiple updates to p in transmit.c (!)
290
291   Portability improvements:
292   * Fix up spurious #undef's in hredirect.h.
293   * Don't use <sys/select.h> any more, it was a mistake made in pre-1.0
294     (and there doesn't seem to be much explanation why).
295   * Understand and sort of check OpenBSD `lookup' resolv.conf directive.
296   * #include <stdlib.h> in internal.h (for abort etc).
297   * Always #include <sys/types.h> before <sys/socket.h> (for FreeBSD 4.6).
298
299   Cosmetic and documentation improvements:
300   * Added wishlist entry re configurable port no.
301   * Problem with SERVFAIL in TODO.
302   * README.html: mentioned Jarle Aase's Windows port, and other fixes.
303   * Some better source code formatting/wrapping.
304
305  -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue,  1 Jul 2003 22:55:29 +0100
306
307 adns (1.0); urgency=medium
308
309   Bugfixes:
310   * Treat 8-bit characters in email addrs as RFC822 `special' (=> quote).
311   * Fix incorrect `compressed datagram contains loop' error.
312   * Actually compile shared libraries by default !
313   * Fix adnsresfilter usage message to include correct default timeout.
314
315   General improvements:
316   * adnshost, adnslogres, adnsresfilter have options for config override. 
317   * adnsresfilter has --debug option.
318   * Improvements to adnslogres (incl. new -c option) from Tony Finch.
319   * adnslogres has --help option, all utilities support --version.
320   * Documentation improved somewhat, including new GPL-vs-LGPL file.
321
322   Changes for non-BETA release:
323   * Change shared library soname to 1.0.
324   * Do not install adnstest test utility.
325
326   Regression test improvements:
327   * Tests now include adnshost, adnslogres and adnsresfilter.
328   * Test cancellation both before and after query completion.
329
330   Portability fixes and cleanups:
331   * adnstest: setvbuf(stdout,...) before we do first output.
332   * Cope with compilers that don't do `inline'.
333   * Add and fix various missing system #includes.
334   * Find install-sh properly when we need to use it, and chmod it +x.
335   * Do not use variadic macro, use stdarg instead (adnslogres.c).
336   * Regression tests work even if some syscalls are already macros.
337   * #include "config.h" before "adns.h".
338   * Cast a sizeof(...) in src/event.c to unsigned long before printing.
339   * Add pre-generated versions of m4-generated files in regress/.
340   * Kill bogus warning, adh-main.c: `arg2' might be used uninitialized ...
341   * Add extra {...} near adnslogres.c:167 to kill spurious warning.
342   * Use `printf' instead of `echo -n'.
343   * Add list of tested platforms in INSTALL file.
344
345  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 17 Sep 2000 15:15:58 +0100
346
347 adns (0.9) BETA; urgency=high
348
349   Bug fixes:
350   * Don't make _processany always kill the TCP connection with the message
351     `TCP connection failed: poll/select: exceptional condition detected'.
352   * Call MEM_ROUND in __transfer_interim (avoids assert fail
353     `qu->interim_allocd>=0' on some platforms eg 64 bit).
354   * adnsresfilter doesn't resolve textual prefixes of addresses (eg,
355     10.0.0.1 out of 10.0.0.123) if input happens to block at that point.
356   * Do not spin if TCP connection blocks for writing (and add test case).
357   * Fail queries if TCP dies repeatedly, rather than retrying many times.
358   * Do not abort in a couple of places if TCP unexpectedly broken.
359   * Do not free something twice if query fails and is then cancelled.
360
361   Portability/compilation fixes:
362   * Move `extern "C" {' to after #include <...>'s.
363   * Pass LDFLAGS from configure on to ld via settings.make.in.
364   * make clean deletes *.so and *.so.* files.
365   * New --disable-dynamic configure option for non-ELF systems.
366   * Use AC_PROG_INSTALL (=> perhaps install-sh), to avoid bad `install'.
367
368   Minor improvements:
369   * Do not print warning if sendto() gives EAGAIN.
370   * adnsresfilter default timeout changed to 1000ms.
371   * m1test script can invoke `hrecord' differently.
372   * regress/output-<case>.report file contains more useful info.
373   * TODO list and other docs updated slightly.
374   * Referrals with RD+RA set, or RCODE=Refused, don't generate warnings,
375     just debug messages.  BIND does this kind of thing all the time.
376
377  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed,  9 Aug 2000 16:59:28 +0100
378
379 adns (0.8) BETA; urgency=medium
380
381   Bugfixes:
382   * Race near adns_beforeselect which could cause infinite timeout fixed
383     (it's now less agressive, and will more often return a zero timeout.)
384   * Fixed infrequent race causing assertion failure in adns__tcp_broken
385     `ads->tcpstate == server_connecting || ads->tcpstate == server_ok'.
386   * Spurious `server failure on unidentifiable query' warning suppressed.
387   * If we get a referral, don't also always complain falsely about RD==0.
388   * adnslogres: cast chars to unsigned char before using ctype.h macros.
389   * In _beforeselect, global failure now means zero timeout, and in
390     tcp_events, really never try to do anything with the TCP connection if
391     act is zero.  This might possibly cause an infinite delay (ie, lockup)
392     if things go badly wrong *and* a really unlikely race happens.
393   * Test suite `lines of syscall left' value is correct; !0 is failure.
394
395   Portability fixes:
396   * install-sh (from autoconf 2.12 Debian r13) included.
397   * adnslogres: do not call equivalent of printf("%.*s",0,(char*)0).
398
399   Documentation improvements:
400   * Security/performance note added, about local nameservers and DNSSEC.
401   * Documented that adns_rr_info _rr_hostaddr ( ) for address list
402     means permanent failure, and ? means temporary failure.
403   * Typo (*now for now in _beforeselect description) in adns.h fixed.
404   * Copyright notices updated.
405   
406   Changes to produce more defensive code:
407   * In adns_wait, assert that the timeout is not infinite.
408   * Make qu->id start out as -2 when initially allocated.
409
410  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun,  7 May 2000 23:37:13 +0100
411
412 adns (0.7) BETA; urgency=medium
413
414   * New adns_submit_reverse_any for eg RBL lookups, and corresponding
415     option to adnshost.
416   * README updated (from www home page).
417
418   * In answers, quote all except alphanums and - _ / + (and document).
419   * Don't reject specials in cnames even without adns_qf_quotefail_cname.
420   * Better checking of long domain names and labels in queries.
421   * answer->owner may be null on error.  Documented, and adnshost copes.
422   * Better reporting of unexpected or weird replies from nameserver.
423   * Add test case for recursion (infinite loop) domain compression.
424
425  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu,  2 Mar 2000 01:55:53 +0000
426
427 adns (0.6) BETA; urgency=high
428
429   Core library bugfixes:
430   * Avoid infinite timeouts, causing lockup, when they should be zero !
431   * TCP handling revamped (avoids undefined behaviour due to reentrancy).
432   * Do not fail assertion if _qf_owner, _qf_search, domain ends in `.'.
433   * Many memory leaks fixed.
434
435   Cool new utility:
436   * adnsresfilter is like `cat' but converts addresses to names without
437     delaying the output.  Pipe `netstat -n', `tcpdump -ln', etc. into it.
438
439   Test and client program bug and portability fixes:
440   * Dynamic library building works properly.
441   * adnshost prints somewhat better messages about some wrong usages.
442   * Include <stdlib.h> and <sys/types.h> in adnshost.h.
443   * adnslogres: parsing and error checking improved (Tony Finch).
444   * Regression tests can cope with zero-length reads.
445   * Regression tests check for memory leaks.
446   * adnstest copes with empty query type list.
447   * adnstest uninitialised memory bug fixed.
448
449   General improvements
450   * Better control of adnshost output and error messages (new -F options).
451   * New adns_if_logpid option (functionality suggested by Tony Finch).
452   * New fanftest test program from Tony Finch (ignored by `make install').
453   * Reads /etc/resolv-adns.conf if it exists.
454   * Declare flags parameters as enums again, not ints.
455
456  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 24 Nov 1999 17:13:03 +0000
457
458 adns (0.5) unstable; urgency=high
459
460   New features:
461   * adnslogres, ~100x faster replacement for Apache logresolve;
462     Thanks to Tony Finch for the program and the performance figure.
463   * Internal consistency checking with assert if right options set.
464   * adns_wait_poll function like adns_wait but uses poll, not select.
465   * adns_reverse_submit function for easy in-addr queries.
466   * adns_errtypeabbrev funcion for getting eg "permfail" from _s_nodata.
467   * adnshost utility for scripts and the like (rather alpha).
468
469   Incompatible changes:
470   * RRs with mailboxes never rejected due to strange chars if _raw.
471   * Lack of a mailbox produces `.' not `<>'.
472   * Better usage messages (and no default query domain) for adnstest.
473   * Return EAGAIN from _check instead of EWOULDBLOCK.
474   * adns_rr_info on _r_mx etc. shows status type abbrev and status number.
475   
476   Bugfixes:
477   * Do not invoke __autosys indirectly from __procdgram (result: coredump
478     usually in memmove, unless adns_if_noautosys was used).
479   * Do not scramble innards when a query on the output queue is cancelled.
480   * Do not close tcp socket twice.
481   * Mailboxes containing spaces in their names are quoted.
482   * Give ESRCH, not EAGAIN, if _check called with no queries outstanding.
483   * adns_rr_hostaddr naddrs is -1 on temporary failure (as documented).
484   * Reject TXT RRs with no strings.
485   * Correct error messages for qname CNAME foo, foo CNAME bar.
486   * adns_processany actually does something.
487   * Fixed typos in adns.h.
488
489   General improvements:
490   * Promise not to change fds in adns_beforepoll (if now is specified).
491   * Improved textual error string for _s_prohibitedcname.
492   * New comment in adns_processany and return 0 (not r which is 0).
493   * Documentation of resolv.conf directives and options, and of environment
494     variables understood, in adns.h
495   * Regression test scripts set EF_DISABLE_BANNER (for Electric Fence).
496
497   Portability and build improvements:
498   * Give install the '-c' flag (otherwise some delete the original !).
499   * Do not remove top-level Makefile on `make clean'.
500   * Don't complain so much about poll(2) tests if not available.
501   * Do not give -u 0 -g 0 options to install.
502   * Remove trailing , from some enums in adns.h.
503   * Dynamically linked clients now made with -l, so as to avoid rpath.
504   * Do not use $^ in make rules (should help with non-GNU make).
505   * Declare flags parameters as ints not enums because C++ is crap.
506
507  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 13 Oct 1999 02:24:35 +0100
508
509 adns (0.4) unstable; urgency=high
510
511   General important bugfixes:
512   * make _qf_owner work if _qf_search not specified, and test it (oops!)
513   * ads->configerrno now initialised (in setup.c).
514   * timercmp(,,<=) doesn't work - use !timercmp(,,>).
515   * Changed memory semantics of internal queries to fix bugs.
516   * Restarting a TCP-using query (eg due to CNAME) doesn't abort.
517   
518   Fixes for handling of broken kinds of reply:
519   * Only accept a reply from the subset of servers we sent the query.
520   * Ignore CNAME(s) in answer after RR(s) (and test).
521
522   Other bugfixes and improvements:
523   * adns_s_systemfail is in table of errors (for eg adns_strerror).
524   * Do not ship config.cache, Makefile, etc.
525   * Improvements to install instructions, TODO, etc.
526   * Regression tests compile on systems without poll(2).
527   * Do not install adnstest_s.
528   * _submit returns ENOSYS, not adns_s_unknownquery; documented, tested.
529   * <adns.h> includes <sys/types.h>, <sys/time.h>, <unistd.h>.
530
531  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 5 Aug 1999 01:17:38 +0100
532
533 adns (0.3) unstable; urgency=low
534
535   Incompatible changes:
536   * Low adns_status values (below adns_s_max_tempfail) renumbered to make
537     room for future locally-induced and locally-detected errors.
538   * Event loop functions for use by select(2) renamed and tidied up.
539   
540   Features / improvements:
541   * New adns_errabbrev() for getting status abbreviation strings.
542   * regress/checkall prints summary list of failed tests, if any.
543   * Event loop functions for poll(2), and some raw variants.
544   * adnstest has ability to use poll(2), and user can set initflags.
545   * checkall prints passed list as well as failed list, if any failed.
546   * You can iterate over outstanding queries (but only once at a time).
547   
548   Bugfixes:
549   * Non-RFC822 mailbox `domain' formatting now works, and clarified.
550   * Rejection of bad characters in domains (without quoteok) works.
551   * Clean up parents from adns->childw (otherwise would abort/segfault).
552   * In adnstest, allocate enough space for, and terminate, query types.
553   * In adnstest, don't print errno values as adns_status values.
554  
555   * Added TODO file.
556   * Made adnstest.c test context pointers.
557
558  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 15 Jul 1999 00:23:12 +0100
559
560 adns (0.2) experimental; urgency=low
561
562   Portability fixes for compilation on various platforms:
563   * Include <sys/socket.h> and <netinet/in.h> in files with <arpa/inet.h>.
564   * Don't use GCC union assignment feature (.rrs=0 => .rrs.untyped=0).
565   * Explictly cast things to [const] struct sockaddr* in syscall args.
566   * Check whether we need -lsocket.
567   * Include <sys/times.h> in a few more files.
568   * Include <unistd.h> and <sys/time.h> for select.
569   * Look for inet_aton and inet_ntoa (in -lnsl and -lsocket).
570   * LDLIBS removed from dependency lists (some makes don't support this).
571   * An `ambiguous else' warning from some compilers in types.c is removed.
572
573   Other changes:
574   * Added COPYING (copy of the GPL).
575   * Regression test failure output improved.
576   * Missing targets in regress/Makefile.in added.
577   * Regression test doesn't rely on value of fcntl flags eg O_NONBLOCK.
578
579  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 20 May 1999 00:27:32 +0100
580
581 adns (0.1) experimental; urgency=low
582
583   * Initial public alpha release.
584
585  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 17 April 1999 17:42:19
586
587 Local variables:
588 mode: debian-changelog
589 fill-column: 75
590 End: