Skip to content

Commit 9f22dae

Browse files
committed
Fork of the original work from Dan Barnstein
0 parents  commit 9f22dae

File tree

243 files changed

+15929
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+15929
-0
lines changed

Diff for: CHANGES

+376
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,376 @@
1+
19991129
2+
version: dnscache 0.50, alpha. not released yet.
3+
19991223
4+
version: dnscache 0.60, alpha.
5+
19991224
6+
internal: dns_sortip() takes length argument.
7+
api: dns_ip4() sorts output. currently this means just random.
8+
api: added socket_bind4_reuse(). removed reuse from bind4().
9+
ui: used bind4_reuse() for port 53, bind4() otherwise.
10+
internal: eliminated some unused variables.
11+
internal: prototypes in cdb.h, cdbmake.h, cdbmss.h.
12+
internal: prototypes in case.h, env.h, fmt.h, scan.h, str.h.
13+
internal: prototypes in stralloc.h.
14+
internal: prototypes in error.h, strerr.h.
15+
internal: prototypes in ndelay.h, open.h, seek.h.
16+
internal: prototypes in sgetopt.h, subgetopt.h.
17+
internal: prototypes in tai.h, taia.h.
18+
internal: added some missing declarations.
19+
bug: query.c checked void response_finishanswer() return code.
20+
impact: cached responses were dropped on systems that
21+
didn't follow the traditional C return behavior. fix:
22+
obvious. tnx Giles Lean.
23+
internal: switched from taia_addsec() to taia_uint().
24+
api: switched to uint16 for socket_* port numbers.
25+
internal: integrated uint16_pack() and friends.
26+
ui: dnscache allows (recursive) queries from port 53.
27+
ui: dnscache has 10-second idle timer on TCP read/write.
28+
ui: dnscache limits itself to 20 concurrent TCP connections.
29+
internal: moved dns_domain_fromdot() to separate file.
30+
ui: supported \X, \1, \12, \123 in dns_domain_fromdot().
31+
ui: supported \123 in dns_domain_todot_append().
32+
version: dnscache 0.61, alpha.
33+
19991230
34+
api: added dns_ip4_qualify().
35+
api: added dns_resolvconfrewrite().
36+
ui: added dnsipq.
37+
api: dns_ip4() checks for (strings of) IP addresses.
38+
20000106
39+
port: Solaris needs /dev/udp, not just /dev/tcp. impact:
40+
dnscache and tinydns would stop immediately under
41+
Solaris. fix: create /dev/udp in configure; and have
42+
tinydns create socket before chroot. tnx Louis Theran.
43+
internal: moved dns_name4_domain() to dns_nd.c.
44+
ui: tinydns no longer excludes screwy queries from its log.
45+
internal: moved respond() to tdlookup.c under new name.
46+
ui: added tinydns-get.
47+
ui: rewrote tinydns-data for new data format.
48+
internal: expanded rts to cover tinydns-data using tinydns-get.
49+
20000107
50+
ui: tinydns-data allows arbitrary case in domain names.
51+
ui: dnscache supports preconfigured servers for non-root
52+
domains.
53+
ui: dnscache uses textual addresses for preconfigured servers.
54+
20000108
55+
ui: tinydns-data excludes the additional and authority sections
56+
if doing so helps meet the 512-byte UDP limit.
57+
version: dnscache 0.70, beta.
58+
20000114
59+
internal: in log.c, ulong() now prints a uint64.
60+
internal: added cache_motion, query_count, log_stats.
61+
ui: dnscache now prints queries/motion stats after typical
62+
response packets.
63+
20000115
64+
internal: added droproot.c. used in tinydns and dnscache.
65+
internal: moved tinydns log() to qlog.c under new name.
66+
ui: added walldns, configure-wd.
67+
ui: configure-td now creates an empty root/data.
68+
ui: added tinydns-edit.
69+
ui: configure-td now sets up root/add-{ns,childns,host,mx}.
70+
20000116
71+
ui: renamed configure* as *-conf.
72+
ui: added axfrdns, axfrdns-conf.
73+
ui: added axfr-get.
74+
ui: dnscache-conf 10.* or 192.168.* now sets IPSEND=0.0.0.0.
75+
20000117
76+
ui: added pickdns, pickdns-conf, pickdns-data.
77+
version: dnscache 0.75, beta.
78+
20000118
79+
internal: address* -> address_* in pickdns-data.c.
80+
internal: start writing cdb earlier in pickdns-data.c.
81+
internal: keep track of namelen in pickdns-data.c.
82+
ui: added client-location variability to pickdns, pickdns-data.
83+
ui: qlog logs short packets.
84+
ui: qlog logs header if RD or other unusual bits are set.
85+
ui: qlog logs non-Internet classes.
86+
api: dns_domain_todot_append() -> dns_domain_todot_cat().
87+
ui: axfr-get prints A records more nicely. tnx Russ Nelson.
88+
ui: tinydns, pickdns, and walldns respond REFUSED to multiple
89+
queries, strange classes, and strange header bits.
90+
pickdns and walldns also respond REFUSED to unrecognized
91+
domain names.
92+
20000120
93+
ui: dns_resolvconfip() and dns_resolvconfrewrite() reread after
94+
10 minutes or 10000 uses.
95+
ui: dns_resolvconfrewrite() treats "domain" like "search".
96+
ui: dns_resolvconfrewrite() supports $LOCALDOMAIN.
97+
ui: dns_resolvconfrewrite() supports gethostname().
98+
api: dns_ip4_qualify() -> dns_ip4_qualify_rules(). new function
99+
under the old name uses dns_resolvconfrewrite().
100+
internal: cleaned up log.h.
101+
20000121
102+
port: the gcc 2.95.2 -O2 optimizer can destroy parameters in a
103+
function that calls another function with a long long
104+
argument. impact: gcc 2.95.2 kills dnscache in
105+
log_query(). fix: pass log_stats() inputs by reference,
106+
and pass uint64's through a variable inside log.c.
107+
internal: introduced x_* in axfr-get.
108+
internal: more format verification in axfr-get.
109+
ui: minimal Z support in tinydns-data.
110+
ui: axfr-get prints Z lines.
111+
ui: juggled axfr-get to support BIND 8's many-answers option.
112+
ui: axfr-get prints common characters readably rather than in
113+
octal. tnx Karsten Thygesen.
114+
ui: install copies VERSION into .../etc.
115+
20000122
116+
ui: dns_domain_todot_cat() now lowercases everything.
117+
internal: split printrecord.c out of tinydns-get.
118+
ui: added dnstrace.
119+
20000123
120+
version: dnscache 0.76, beta.
121+
20000124
122+
port: Solaris needs socket libraries for dnstrace. impact:
123+
couldn't compile under Solaris. fix: use socket.lib.
124+
tnx Karsten Thygesen.
125+
20000126
126+
ui: dns_resolvconfip() supports $DNSCACHEIP.
127+
ui: changed tinydns-get arg order.
128+
internal: split printpacket.c out of tinydns-get.
129+
ui: added dnsquery.
130+
internal: merged case.a, fs.a, str.a, uint.a, ip4.a into byte.a.
131+
internal: merged strerr.a into buffer.a.
132+
internal: merged stralloc.a, getln.a into alloc.a.
133+
internal: merged error.a, open.a, seek.a, ndelay.a, socket.a
134+
into unix.a.
135+
internal: used catulong in axfr-get.c.
136+
ui: packet-parsing errors produce error_proto.
137+
ui: axfr-get goes out of its way to reject wildcards.
138+
internal: introduced generic-conf.c.
139+
internal: upgraded timeoutread and timeoutwrite to iopause.
140+
20000127
141+
ui: revamped details of the log formats.
142+
ui: full Z support in tinydns-data.
143+
ui: axfr-get accepts authority records and additional records.
144+
ui: axfrdns tries to imitate BIND's handling of glue.
145+
internal: expanded rts to try out the servers and *-conf.
146+
ui: added rbldns.
147+
20000128
148+
ui: increased MAXNS to 16 in query.h.
149+
20000129
150+
version: DNScache 0.80, beta.
151+
20000205
152+
ui: tinydns-data supports ^, for the benefit of people stuck
153+
behind reverse CNAMEs. tnx Petr Novotny.
154+
20000206
155+
ui: rbldns supports $.
156+
ui: tinydns-data supports C. CNAME is overridden by NS; CNAME
157+
overrides other records; no multiple CNAMEs.
158+
ui: axfr-get supports C.
159+
ui: axfr-get no longer rejects wildcards, except for NS.
160+
internal: eliminated flagempty from tinydns-data.
161+
internal: cleaned up delegation/NXDOMAIN loops in tinydns-data.
162+
internal: reorganized packet_start interface in tinydns-data.
163+
ui: tinydns-data supports BIND-style wildcards, except for NS.
164+
version: DNScache 0.81, beta.
165+
20000207
166+
ui: renamed dnsquery as dnsq, to eliminate name conflict with
167+
Beecher dnsquery program. tnx Anand Buddhdev.
168+
20000208
169+
ui: tinydns-edit supports add alias.
170+
ui: tinydns-conf sets up root/add-alias.
171+
20000209
172+
ui: dnscache-conf now sets IPSEND=0.0.0.0 in all cases.
173+
ui: dnsq and dnstrace allow server names.
174+
ui: dnsq and dnstrace allow type names.
175+
20000210
176+
internal: response_tc() reduces len, simplifying udprespond().
177+
ui: response_tc() now truncates immediately after query. this
178+
should work around the Squid parsing bug reported by
179+
Stuart Henderson.
180+
20000211
181+
ui: tinydns-get allows type names.
182+
ui: tinydns-data prints query name for >512 error. tnx Uwe Ohse.
183+
version: DNScache 0.82, beta.
184+
20000212
185+
ui: dns_transmit starts with loop 1 for recursive queries.
186+
ui: dnscache tries to allocate 128K of incoming UDP buffer
187+
space. tnx Jeremy Hansen.
188+
20000213
189+
ui: tinydns tries to allocate 64K of incoming UDP buffer space.
190+
internal: renamed response_*answer as response_r*.
191+
internal: expanded response_rfinish to allow au and ar.
192+
internal: expanded response_rstart to allow any ttl.
193+
internal: rewrote tinydns-data, tinydns, tinydns-get, axfrdns
194+
for compact new data.cdb format. a few ui effects: empty
195+
nodes produce NXDOMAIN; wildcards affect empty nodes.
196+
ui: response_addname() tries more extensive compression.
197+
20000215
198+
ui: tinydns-edit takes fn arguments. tnx Jason R. Mastaler.
199+
20000218
200+
internal: upgraded to new cdb library.
201+
internal: added globalip().
202+
ui: dnscache assigns IP addresses to dotted-decimal domain
203+
names in canonical form.
204+
internal: merged handling of C and ^ in tinydns-data.
205+
port: FreeBSD 3.4-RELEASE poll() doesn't think that regular
206+
files are readable. impact: under FreeBSD 3.4-RELEASE,
207+
dnsfilter hangs waiting to read from regular files. tnx
208+
Kenji Rikitake. fix: check for this bug in trypoll.c.
209+
20000219
210+
ui: tinydns-data supports time-to-die.
211+
ui: changed home directory from /usr/local/dnscache to
212+
/usr/local; moved @ from home/etc to home/etc/dnscache.
213+
internal: reorganized response.c.
214+
20000220
215+
ui: tinydns-data allows omitted numeric fields in Z lines. tnx
216+
Timothy L. Mayo.
217+
version: DNScache 0.85, beta.
218+
20000222
219+
ui: dns_transmit_get() pauses after server failure, if udploop
220+
is 2.
221+
internal: sped up name handling in response.c.
222+
20000223
223+
ui: dnscache ignores some garbage in queries: AA, !RD, RA, Z,
224+
RCODE, AN, AU, AR. (note that responses still say RD.)
225+
this allows bogus queries from Ultrix versions of BIND.
226+
internal: split dd.c out of query.c.
227+
internal: split server.c out of tinydns.
228+
internal: rewrote walldns, pickdns, rbldns to use server.c.
229+
ui: server.c allows some garbage in queries: RA, Z, RCODE, AN,
230+
AU, AR.
231+
ui: axfrdns logs packets.
232+
ui: walldns supports dotted-decimal IP addresses.
233+
20000224
234+
ui: revamped qlog, again.
235+
ui: better error message in dnscache-conf.c. tnx Chris Johnson.
236+
20000225
237+
version: DNScache 0.90, gamma.
238+
20000226
239+
internal: dnscache-conf sets up dnscache/run to avoid env. tnx
240+
Chris Cappuccio.
241+
20000227
242+
ui: tinydns-data uses server name instead of a.ns.domain for
243+
automatic primary in SOA. tnx Frank Tegtmeyer.
244+
20000228
245+
bug: axfrdns doesn't set aa bit in responses. impact: named-xfer
246+
refuses to do zone transfers from axfrdns. fix: set aa
247+
bit. tnx Peter Hunter.
248+
ui: server.c now accepts packets from low ports. sigh.
249+
20000229
250+
version: DNScache 0.91, gamma.
251+
20000307
252+
internal: switched from slurp to openreadclose.
253+
20000308
254+
ui: dns_transmit_get() pauses after recv() failure (such as
255+
connection-refused), if udploop is 2.
256+
ui: tinydns-data uses refresh 16384, retry 2048, expire 1048576.
257+
tnx Frank Tegtmeyer.
258+
version: DNScache 0.92, gamma.
259+
20000314
260+
portability problem: the poll() emulation in RedHat 5.1 doesn't
261+
clear revents when select() returns 0. tnx Petr Novotny.
262+
impact: dns_transmit_get() never times out;
263+
dns_resolve() busy-loops. fix: clear revents before
264+
poll().
265+
20000315
266+
ui: axfr-get grabs zones when serials drop. tnx Frank Tegtmeyer.
267+
version: DNScache 0.93, gamma.
268+
20000323
269+
ui: dns_rcip() accepts 0.0.0.0 in /etc/resolv.conf as 127.0.0.1.
270+
tnx Chris Saia.
271+
20000325
272+
version: DNScache 1.00.
273+
20000914
274+
ui: axfr-get decodes PTR. tnx to various people.
275+
ui: added dnsqr.
276+
20000915
277+
portability problem: on some buggy kernels, accept() fails to
278+
copy O_NONBLOCK. tnx Pavel Kankovsky. impact: with these
279+
kernels, dnscache hangs if a TCP connection times out.
280+
fix: ndelay_on() after accept().
281+
ui: dnscache discards non-recursive queries.
282+
ui: *-conf use envdir in */run.
283+
internal: reorganized seed_addtime() calls in dnscache-conf.
284+
ui: tinydns-data prohibits PTR in generic records.
285+
20000917
286+
ui: dns_transmit_get() does not pause after most recv() errors.
287+
still pauses after connection-refused when udploop is 2.
288+
version: djbdns 1.01.
289+
20000922
290+
portability problem: Linux distributions use bash as /bin/sh;
291+
bash destroys $UID. dorks. impact: dnscache and axfrdns
292+
run as root. fix: envdir, then sh, then envuidgid. but
293+
/bin/sh really has to stop polluting the environment.
294+
20000923
295+
ui: install /etc/dnsroots.global. dnscache-conf tries
296+
dnsroots.local, then dnsroots.global.
297+
ui: no longer install home/etc/dnscache.
298+
version: djbdns 1.02.
299+
20001224
300+
ui: new dnstrace output format.
301+
ui: dnstrace shows all servers providing each ns/a line.
302+
ui: added dnstracesort.
303+
20001225
304+
internal: response_rstart() and response_cname() use uint32 ttl.
305+
internal: added response_hidettl().
306+
internal: cache_get() returns ttl.
307+
internal: dnscache keeps track of ttls for aliases.
308+
ui: dnscache returns ttl unless $HIDETTL is set.
309+
ui: dnscache returns ttl 655360 for localhost et al.
310+
20001226
311+
ui: dnscache supports $FORWARDONLY. tnx to several people for
312+
the suggestion. tnx Dan Peterson for sample code.
313+
ui: dnscache now logs sequential query numbers, not indices.
314+
internal: revamped dnscache to separate udp from tcp.
315+
ui: dnscache reports uactive, tactive separately.
316+
ui: dnscache reports tcpopen/tcpclose by port and ip.
317+
ui: dnscache artificially times out oldest UDP query if UDP
318+
table is full, and oldest TCP connection if TCP table is
319+
full.
320+
ui: dnscache reports broken pipe when a TCP client sends FIN.
321+
20001228
322+
ui: dnstrace supports dd.
323+
ui: dnscache logs stats when it handles 1.0.0.127.in-addr.arpa.
324+
ui: pickdns actively refuses queries for unknown types.
325+
ui: pickdns responds to MX queries. tnx Mike Batchelor.
326+
internal: added const at various places.
327+
internal: removed some unused variables.
328+
internal: used time_t in tai_now.c.
329+
internal: used stdlib.h in alloc.c.
330+
api: split dns_domain_suffix() into suffix(), suffixpos().
331+
internal: switched to buffer_unix*.
332+
internal: included unistd.h for various declarations.
333+
20010103
334+
ui: increased maximum data size from 512 bytes to 32767 bytes in
335+
tinydns, tinydns-get, axfrdns. allows big TXT records.
336+
ui: dnsmx reformats name when it prints an artificial 0 MX.
337+
20010105
338+
ui: increased MAXLEVEL to 5. the Internet is becoming more
339+
glueless every day.
340+
20010106
341+
version: djbdns 1.03.
342+
20010113
343+
ui: increased MAXALIAS to 16.
344+
ui: dnscache no longer caches SERVFAIL. per-ip is obviously the
345+
way to go.
346+
ui: tinydns et al. now respond FORMERR to non-Internet-class
347+
queries.
348+
ui: tdlookup now returns A records in a random order in the
349+
answer section, and truncates the list after 8 records.
350+
ui: tinydns-data skips lines starting -.
351+
20010114
352+
internal: documented the tinydns data.cdb format.
353+
ui: tinydns-data, tinydns, tinydns-get, axfrdns support client
354+
differentiation.
355+
ui: dnsqr aborts if it is given an extra argument.
356+
20010117
357+
ui: dnstracesort removes duplicate lines.
358+
ui: dnstracesort prints glue.
359+
ui: dnstrace uses a ``start'' IP address for the root glue.
360+
20010121
361+
version: djbdns 1.04.
362+
20010206
363+
internal: response_query() takes a class argument.
364+
internal: query_start() takes a class argument.
365+
internal: packetquery() takes a class argument.
366+
ui: tinydns et al., axfrdns, and dnscache repeat qclass * in
367+
response to bogus * queries. tnx Mike Batchelor.
368+
ui: axfrdns rejects queries for weird classes.
369+
ui: axfrdns uses query ID instead of ID 0 in the series of AXFR
370+
response messages between the SOAs, to support the AXFR
371+
client in BIND 9.
372+
ui: axfrdns sets AA in the series of AXFR response messages.
373+
20010211
374+
ui: servers print starting message.
375+
internal: some respond() declarations.
376+
version: djbdns 1.05.

0 commit comments

Comments
 (0)