chiark / gitweb /
* adnstest converts some errno values to EFOOBAR: all of the ones
[adns.git] / changelog
1 adns (1.1.999.0.2); urgency=medium
2
3   * Include reference to Peter Simons's Haskell bindings
4     in README.html.
5   * Create $(bin_dir) and $(lib_dir) on `make install', and also
6     make a libadns.so.1 -> libadns.so.1.<minor> link.  (Suggestions
7     and patch from Nix of esperi.org.uk.)
8   * Update MINOR to 2 because of adns_init_logfn.
9   * adnstest converts some errno values to EFOOBAR: all of the ones
10     mentioned in adns.h, at least.  This makes the regression test
11     more portable (fixes problem noticed by Bernd Eckenfels).
12
13   Fixes from or suggested by Bernd Eckenfels, the Debian maintainer:
14   * Correct type of various printf arguments: ptrdiff_t != int.
15   * Do not print size of leaked blocks of memory (this causes
16     a spurious regression test failure on some platforms)
17   * Provide adns_if_none and adns_qf_none (which will help with compilers
18     which complain about plain `0' being passed where an enum is wanted).
19
20  --
21
22 adns (1.1.999.0.1); urgency=medium
23
24   * Fix error in prototype in definition of adns__parse_domain.
25   * New LICENCE.WAIVERS file for GPL-incompatility workarounds.
26   * Clarified GPL-vs-LGPL: a bit less hostile and a bit more mercenary.
27   * Allow `;'-comments in resolv.conf (report from Colin Charles).    
28   * Added a TODO list item.
29   * Add .PHONY: install to Makefile, to help people with demented fs's.
30   * Darwin listed in INSTALL.
31   * New adnsheloex client courtesy of Tony Finch (and copyright notices
32     updated).
33   * Add documentation comment by definition of adns_r_ptr_raw type enum.
34   * Add -Wno-pointer-sign if GCC has that option.
35   * Call Tensurerecordfile in Hgettimeofday (Tensurerecordfile was
36     Tensureinputfile/Tensureoutputfile).
37   * Add bind(2) and listen(2) to test harness (for epithet's benefit, but
38     harmless in adns).
39   * Add missing ENOTSOCK to hcommon.c.m4 (was already in hcommon.c!)
40   * New adns_init_logfn etc. for having logging done with a callback
41     function.
42
43  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat,  7 Jan 2006 17:10:11 +0000
44
45 adns (1.1); urgency=medium
46
47   Major bugfixes:
48   * Do not spin if connect() fails immediately (!)
49   * Stop searching on a CNAME (even if it's broken).
50   * When search list runs out, _qf_owner sets owner to query domain.
51   * Fix bogus multiple updates to p in transmit.c (!)
52
53   Portability improvements:
54   * Fix up spurious #undef's in hredirect.h.
55   * Don't use <sys/select.h> any more, it was a mistake made in pre-1.0
56     (and there doesn't seem to be much explanation why).
57   * Understand and sort of check OpenBSD `lookup' resolv.conf directive.
58   * #include <stdlib.h> in internal.h (for abort etc).
59   * Always #include <sys/types.h> before <sys/socket.h> (for FreeBSD 4.6).
60
61   Cosmetic and documentation improvements:
62   * Added wishlist entry re configurable port no.
63   * Problem with SERVFAIL in TODO.
64   * README.html: mentioned Jarle Aase's Windows port, and other fixes.
65   * Some better source code formatting/wrapping.
66
67  -- Ian Jackson <ian@davenant.greenend.org.uk>  Tue,  1 Jul 2003 22:55:29 +0100
68
69 adns (1.0); urgency=medium
70
71   Bugfixes:
72   * Treat 8-bit characters in email addrs as RFC822 `special' (=> quote).
73   * Fix incorrect `compressed datagram contains loop' error.
74   * Actually compile shared libraries by default !
75   * Fix adnsresfilter usage message to include correct default timeout.
76
77   General improvements:
78   * adnshost, adnslogres, adnsresfilter have options for config override. 
79   * adnsresfilter has --debug option.
80   * Improvements to adnslogres (incl. new -c option) from Tony Finch.
81   * adnslogres has --help option, all utilities support --version.
82   * Documentation improved somewhat, including new GPL-vs-LGPL file.
83
84   Changes for non-BETA release:
85   * Change shared library soname to 1.0.
86   * Do not install adnstest test utility.
87
88   Regression test improvements:
89   * Tests now include adnshost, adnslogres and adnsresfilter.
90   * Test cancellation both before and after query completion.
91
92   Portability fixes and cleanups:
93   * adnstest: setvbuf(stdout,...) before we do first output.
94   * Cope with compilers that don't do `inline'.
95   * Add and fix various missing system #includes.
96   * Find install-sh properly when we need to use it, and chmod it +x.
97   * Do not use variadic macro, use stdarg instead (adnslogres.c).
98   * Regression tests work even if some syscalls are already macros.
99   * #include "config.h" before "adns.h".
100   * Cast a sizeof(...) in src/event.c to unsigned long before printing.
101   * Add pre-generated versions of m4-generated files in regress/.
102   * Kill bogus warning, adh-main.c: `arg2' might be used uninitialized ...
103   * Add extra {...} near adnslogres.c:167 to kill spurious warning.
104   * Use `printf' instead of `echo -n'.
105   * Add list of tested platforms in INSTALL file.
106
107  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 17 Sep 2000 15:15:58 +0100
108
109 adns (0.9) BETA; urgency=high
110
111   Bug fixes:
112   * Don't make _processany always kill the TCP connection with the message
113     `TCP connection failed: poll/select: exceptional condition detected'.
114   * Call MEM_ROUND in __transfer_interim (avoids assert fail
115     `qu->interim_allocd>=0' on some platforms eg 64 bit).
116   * adnsresfilter doesn't resolve textual prefixes of addresses (eg,
117     10.0.0.1 out of 10.0.0.123) if input happens to block at that point.
118   * Do not spin if TCP connection blocks for writing (and add test case).
119   * Fail queries if TCP dies repeatedly, rather than retrying many times.
120   * Do not abort in a couple of places if TCP unexpectedly broken.
121   * Do not free something twice if query fails and is then cancelled.
122
123   Portability/compilation fixes:
124   * Move `extern "C" {' to after #include <...>'s.
125   * Pass LDFLAGS from configure on to ld via settings.make.in.
126   * make clean deletes *.so and *.so.* files.
127   * New --disable-dynamic configure option for non-ELF systems.
128   * Use AC_PROG_INSTALL (=> perhaps install-sh), to avoid bad `install'.
129
130   Minor improvements:
131   * Do not print warning if sendto() gives EAGAIN.
132   * adnsresfilter default timeout changed to 1000ms.
133   * m1test script can invoke `hrecord' differently.
134   * regress/output-<case>.report file contains more useful info.
135   * TODO list and other docs updated slightly.
136   * Referrals with RD+RA set, or RCODE=Refused, don't generate warnings,
137     just debug messages.  BIND does this kind of thing all the time.
138
139  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed,  9 Aug 2000 16:59:28 +0100
140
141 adns (0.8) BETA; urgency=medium
142
143   Bugfixes:
144   * Race near adns_beforeselect which could cause infinite timeout fixed
145     (it's now less agressive, and will more often return a zero timeout.)
146   * Fixed infrequent race causing assertion failure in adns__tcp_broken
147     `ads->tcpstate == server_connecting || ads->tcpstate == server_ok'.
148   * Spurious `server failure on unidentifiable query' warning suppressed.
149   * If we get a referral, don't also always complain falsely about RD==0.
150   * adnslogres: cast chars to unsigned char before using ctype.h macros.
151   * In _beforeselect, global failure now means zero timeout, and in
152     tcp_events, really never try to do anything with the TCP connection if
153     act is zero.  This might possibly cause an infinite delay (ie, lockup)
154     if things go badly wrong *and* a really unlikely race happens.
155   * Test suite `lines of syscall left' value is correct; !0 is failure.
156
157   Portability fixes:
158   * install-sh (from autoconf 2.12 Debian r13) included.
159   * adnslogres: do not call equivalent of printf("%.*s",0,(char*)0).
160
161   Documentation improvements:
162   * Security/performance note added, about local nameservers and DNSSEC.
163   * Documented that adns_rr_info _rr_hostaddr ( ) for address list
164     means permanent failure, and ? means temporary failure.
165   * Typo (*now for now in _beforeselect description) in adns.h fixed.
166   * Copyright notices updated.
167   
168   Changes to produce more defensive code:
169   * In adns_wait, assert that the timeout is not infinite.
170   * Make qu->id start out as -2 when initially allocated.
171
172  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun,  7 May 2000 23:37:13 +0100
173
174 adns (0.7) BETA; urgency=medium
175
176   * New adns_submit_reverse_any for eg RBL lookups, and corresponding
177     option to adnshost.
178   * README updated (from www home page).
179
180   * In answers, quote all except alphanums and - _ / + (and document).
181   * Don't reject specials in cnames even without adns_qf_quotefail_cname.
182   * Better checking of long domain names and labels in queries.
183   * answer->owner may be null on error.  Documented, and adnshost copes.
184   * Better reporting of unexpected or weird replies from nameserver.
185   * Add test case for recursion (infinite loop) domain compression.
186
187  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu,  2 Mar 2000 01:55:53 +0000
188
189 adns (0.6) BETA; urgency=high
190
191   Core library bugfixes:
192   * Avoid infinite timeouts, causing lockup, when they should be zero !
193   * TCP handling revamped (avoids undefined behaviour due to reentrancy).
194   * Do not fail assertion if _qf_owner, _qf_search, domain ends in `.'.
195   * Many memory leaks fixed.
196
197   Cool new utility:
198   * adnsresfilter is like `cat' but converts addresses to names without
199     delaying the output.  Pipe `netstat -n', `tcpdump -ln', etc. into it.
200
201   Test and client program bug and portability fixes:
202   * Dynamic library building works properly.
203   * adnshost prints somewhat better messages about some wrong usages.
204   * Include <stdlib.h> and <sys/types.h> in adnshost.h.
205   * adnslogres: parsing and error checking improved (Tony Finch).
206   * Regression tests can cope with zero-length reads.
207   * Regression tests check for memory leaks.
208   * adnstest copes with empty query type list.
209   * adnstest uninitialised memory bug fixed.
210
211   General improvements
212   * Better control of adnshost output and error messages (new -F options).
213   * New adns_if_logpid option (functionality suggested by Tony Finch).
214   * New fanftest test program from Tony Finch (ignored by `make install').
215   * Reads /etc/resolv-adns.conf if it exists.
216   * Declare flags parameters as enums again, not ints.
217
218  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 24 Nov 1999 17:13:03 +0000
219
220 adns (0.5) unstable; urgency=high
221
222   New features:
223   * adnslogres, ~100x faster replacement for Apache logresolve;
224     Thanks to Tony Finch for the program and the performance figure.
225   * Internal consistency checking with assert if right options set.
226   * adns_wait_poll function like adns_wait but uses poll, not select.
227   * adns_reverse_submit function for easy in-addr queries.
228   * adns_errtypeabbrev funcion for getting eg "permfail" from _s_nodata.
229   * adnshost utility for scripts and the like (rather alpha).
230
231   Incompatible changes:
232   * RRs with mailboxes never rejected due to strange chars if _raw.
233   * Lack of a mailbox produces `.' not `<>'.
234   * Better usage messages (and no default query domain) for adnstest.
235   * Return EAGAIN from _check instead of EWOULDBLOCK.
236   * adns_rr_info on _r_mx etc. shows status type abbrev and status number.
237   
238   Bugfixes:
239   * Do not invoke __autosys indirectly from __procdgram (result: coredump
240     usually in memmove, unless adns_if_noautosys was used).
241   * Do not scramble innards when a query on the output queue is cancelled.
242   * Do not close tcp socket twice.
243   * Mailboxes containing spaces in their names are quoted.
244   * Give ESRCH, not EAGAIN, if _check called with no queries outstanding.
245   * adns_rr_hostaddr naddrs is -1 on temporary failure (as documented).
246   * Reject TXT RRs with no strings.
247   * Correct error messages for qname CNAME foo, foo CNAME bar.
248   * adns_processany actually does something.
249   * Fixed typos in adns.h.
250
251   General improvements:
252   * Promise not to change fds in adns_beforepoll (if now is specified).
253   * Improved textual error string for _s_prohibitedcname.
254   * New comment in adns_processany and return 0 (not r which is 0).
255   * Documentation of resolv.conf directives and options, and of environment
256     variables understood, in adns.h
257   * Regression test scripts set EF_DISABLE_BANNER (for Electric Fence).
258
259   Portability and build improvements:
260   * Give install the '-c' flag (otherwise some delete the original !).
261   * Do not remove top-level Makefile on `make clean'.
262   * Don't complain so much about poll(2) tests if not available.
263   * Do not give -u 0 -g 0 options to install.
264   * Remove trailing , from some enums in adns.h.
265   * Dynamically linked clients now made with -l, so as to avoid rpath.
266   * Do not use $^ in make rules (should help with non-GNU make).
267   * Declare flags parameters as ints not enums because C++ is crap.
268
269  -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 13 Oct 1999 02:24:35 +0100
270
271 adns (0.4) unstable; urgency=high
272
273   General important bugfixes:
274   * make _qf_owner work if _qf_search not specified, and test it (oops!)
275   * ads->configerrno now initialised (in setup.c).
276   * timercmp(,,<=) doesn't work - use !timercmp(,,>).
277   * Changed memory semantics of internal queries to fix bugs.
278   * Restarting a TCP-using query (eg due to CNAME) doesn't abort.
279   
280   Fixes for handling of broken kinds of reply:
281   * Only accept a reply from the subset of servers we sent the query.
282   * Ignore CNAME(s) in answer after RR(s) (and test).
283
284   Other bugfixes and improvements:
285   * adns_s_systemfail is in table of errors (for eg adns_strerror).
286   * Do not ship config.cache, Makefile, etc.
287   * Improvements to install instructions, TODO, etc.
288   * Regression tests compile on systems without poll(2).
289   * Do not install adnstest_s.
290   * _submit returns ENOSYS, not adns_s_unknownquery; documented, tested.
291   * <adns.h> includes <sys/types.h>, <sys/time.h>, <unistd.h>.
292
293  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 5 Aug 1999 01:17:38 +0100
294
295 adns (0.3) unstable; urgency=low
296
297   Incompatible changes:
298   * Low adns_status values (below adns_s_max_tempfail) renumbered to make
299     room for future locally-induced and locally-detected errors.
300   * Event loop functions for use by select(2) renamed and tidied up.
301   
302   Features / improvements:
303   * New adns_errabbrev() for getting status abbreviation strings.
304   * regress/checkall prints summary list of failed tests, if any.
305   * Event loop functions for poll(2), and some raw variants.
306   * adnstest has ability to use poll(2), and user can set initflags.
307   * checkall prints passed list as well as failed list, if any failed.
308   * You can iterate over outstanding queries (but only once at a time).
309   
310   Bugfixes:
311   * Non-RFC822 mailbox `domain' formatting now works, and clarified.
312   * Rejection of bad characters in domains (without quoteok) works.
313   * Clean up parents from adns->childw (otherwise would abort/segfault).
314   * In adnstest, allocate enough space for, and terminate, query types.
315   * In adnstest, don't print errno values as adns_status values.
316  
317   * Added TODO file.
318   * Made adnstest.c test context pointers.
319
320  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 15 Jul 1999 00:23:12 +0100
321
322 adns (0.2) experimental; urgency=low
323
324   Portability fixes for compilation on various platforms:
325   * Include <sys/socket.h> and <netinet/in.h> in files with <arpa/inet.h>.
326   * Don't use GCC union assignment feature (.rrs=0 => .rrs.untyped=0).
327   * Explictly cast things to [const] struct sockaddr* in syscall args.
328   * Check whether we need -lsocket.
329   * Include <sys/times.h> in a few more files.
330   * Include <unistd.h> and <sys/time.h> for select.
331   * Look for inet_aton and inet_ntoa (in -lnsl and -lsocket).
332   * LDLIBS removed from dependency lists (some makes don't support this).
333   * An `ambiguous else' warning from some compilers in types.c is removed.
334
335   Other changes:
336   * Added COPYING (copy of the GPL).
337   * Regression test failure output improved.
338   * Missing targets in regress/Makefile.in added.
339   * Regression test doesn't rely on value of fcntl flags eg O_NONBLOCK.
340
341  -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 20 May 1999 00:27:32 +0100
342
343 adns (0.1) experimental; urgency=low
344
345   * Initial public alpha release.
346
347  -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 17 April 1999 17:42:19
348
349 Local variables:
350 mode: debian-changelog
351 fill-column: 75
352 End: