~ubuntu-branches/ubuntu/trusty/maradns/trusty

« back to all changes in this revision

Viewing changes to doc/pt_br/source/changelog.embed

  • Committer: Package Import Robot
  • Author(s): Nicholas Bamber
  • Date: 2012-01-06 08:47:03 UTC
  • mfrom: (1.1.17) (10.1.12 experimental)
  • Revision ID: package-import@ubuntu.com-20120106084703-e3kw2c5a6djne2gw
Tags: 2.0.04-1
* Allowed watch file to pick up 2.x releases
* New upstream release
* Refreshed patches
* Added override to stop deletion of server/MaraDNS.c.orig
* Added patch to stop corruption of deadwood source code
* Added public domain stanza trying to give useful information about
  the public domain status (or otherwise) of certain files.
* Updated doc-base index file
* Split out documentation into separate package as it is written from
  an upstream point of view
* Added askmara-tcp tool to maradns-zoneserver package
* Added experimental maradns-deadwood package (Closes: #612229)
* Turned on compilation for IPv6 (Closes: #477787)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<H1>MaraDNS changelog</H1>
2
 
 
3
 
<p>maradns-1.2.07.1:
4
 
<blockquote>
5
 
<ul>
6
 
<li><tt>duende</tt> now always logs a message before exiting
7
 
<li>zone names are now case-insensitive.
8
 
<li>Programs in <tt>sqa/</tt> directory can compile again.
9
 
<li>Dictionary variables now must be initialized to work.
10
 
<li>Documentation updated.
11
 
</ul>
12
 
(2006.03.22)
13
 
</blockquote>
14
 
 
15
 
<p>maradns-1.2.03.5:
16
 
<blockquote>
17
 
<ul>
18
 
<li><tt>duende</tt> tool always logs something before exiting
19
 
<li>"Using default ICANN servers" message now has newline
20
 
<li>Broken <tt>upstream_servers</tt> example in docs fixed
21
 
</ul>
22
 
(2006.03.21)
23
 
 
24
 
<p>maradns-1.2.06:
25
 
This is a testing (possibly unstable) release of MaraDNS.
26
 
<blockquote>
27
 
<ul>
28
 
<li>Many minor updates to the documentation.
29
 
<li>Web page HTML/CSS updated to look better in MSIE 6.
30
 
<li>New mararc variable, <tt>handle_noreply</tt>, which determines how
31
 
    to inform the DNS client that no remote servers could be contacted
32
 
    when trying to resolve a host name.
33
 
<li>It is now possible to send DNS error messages via the <tt>udperror()</tt>
34
 
    function again.
35
 
<li>Some minor update to how log messages are output.
36
 
</ul>
37
 
(2006.03.10)
38
 
</blockquote>
39
 
 
40
 
<p>maradns-1.2.03.4:
41
 
<blockquote>
42
 
<ul>
43
 
<li>It is now possible to send DNS error messages via the <tt>udperror()</tt>
44
 
    function again.
45
 
</ul>
46
 
(2006.03.03)
47
 
</blockquote>
48
 
 
49
 
<p>maradns-1.2.05:
50
 
<p>
51
 
This is a testing (possibly unstable) release of MaraDNS.
52
 
<blockquote>
53
 
<ul>
54
 
<li>Added faq entry about setting <tt>upstream_servers</tt>
55
 
<li>Removed three unimplemented (or never documented and disabled) 
56
 
    <tt>mararc</tt> variables: <tt>tuzona_inetd</tt>, 
57
 
    <tt>win9x_service</tt>, and <tt>resurrections</tt>.
58
 
<li>Out-of-bailiwick authoritative records now no longer have an
59
 
    authority section.
60
 
<li>New csv2 record type "FQDN4"; this is an A record which
61
 
    automatically makes the corresponding PTR record.
62
 
<li>CNAME records now mentioned in csv2 man page.
63
 
<li>Improved error message for a hostname that doesn't end in a '.' (or
64
 
    '%').
65
 
<li>Added <tt>admin_acl</tt> mararc variable, to limit the IPs that
66
 
    can see MaraDNS' version number (and debug information about
67
 
    MaraDNS' internal state when <tt>debug_msg_level</tt> is set).
68
 
<li>Added <tt>remote_admin</tt> mararc variable, which allows
69
 
    IPs listed in <tt>admin_acl</tt> to remotely change the 
70
 
    amount of information logged by MaraDNS.  This is mainly for
71
 
    debugging problems on high-traffic sites where a full log is
72
 
    too large (and slows things down too much) to be practical.
73
 
</ul>
74
 
(2006.02.21)
75
 
</blockquote>
76
 
 
77
 
<p>maradns-1.2.03.3:
78
 
<blockquote>
79
 
<ul>
80
 
<li>MaraDNS 1.2.04 Cygwin fix patch applied to the stable branch
81
 
<li>FAQ updated to tell people how to use <tt>upstream_servers</tt>
82
 
</ul>
83
 
(2006.02.10)
84
 
</blockquote>
85
 
 
86
 
<p>maradns-1.2.04:
87
 
<p>
88
 
This is a testing (potentially unstable) release of MaraDNS.
89
 
<blockquote>
90
 
<ul>
91
 
<li>Cygwin fix: <tt>chroot()</tt> and <tt>setuid()</tt> do not effectively
92
 
    work on Cygwin; MaraDNS updated to not use these calls in Cygwin.  
93
 
    This makes the Cygwin release not have all of the security of a 
94
 
    native UNIX version of MaraDNS.
95
 
<li>RPM updates: Spec file made current; mararc for RPM updated for MaraDNS
96
 
    1.2; RPM updated by Greg Swallow to compile on CentOS 3 and 4.
97
 
<li>Updates to the recursive code to make MaraDNS run better when used 
98
 
    by a large ISP:
99
 
    <ol>
100
 
    <li>TTL determining code updated
101
 
    <li>Two minor typos fixed
102
 
    <li>Custodian tweaked to work better under high load
103
 
    <li><tt>maxprocs</tt> can now be as high as 5000
104
 
    <li><tt>min_visible_ttl</tt> mararc variable added
105
 
    </ol>
106
 
</ul>
107
 
(2006.02.09)
108
 
</blockquote>
109
 
 
110
 
<p>maradns-1.2.03.2:
111
 
<blockquote>
112
 
<ul>
113
 
<li>Hotfix: Re-apply fix for broken Linux 2.6 kernel behavior which causes
114
 
    MaraDNS to freeze.
115
 
<li>Mingw32: Have the binaries stripped
116
 
</ul>
117
 
(2006.02.02)
118
 
</blockquote>
119
 
 
120
 
<p>maradns-1.2.03.1:
121
 
<blockquote>
122
 
<ul>
123
 
<li>Fixed issue with ANY queries pointed out by Christian Klossek.
124
 
<li>Made <tt>bind_star_handling</tt> even more RFC-compliant: If 
125
 
    <tt>*.example.com.</tt> and <tt>bar.example.com.</tt> exist,
126
 
    then <tt>foo.bar.example.com.</tt> should point to "not there" 
127
 
    instead of whatever <tt>*.example.com</tt> points at.
128
 
<li>Updated mingw32 port: Removed compile-time warnings, set up scripts
129
 
    to mostly automate making the .zip file for the win32 MaraDNS binary.
130
 
<li>Updated numbering scheme to use major.minor.revision.patchlevel
131
 
    for stable 1.2 releases; this allows the 1.2 branch to better have
132
 
    both a testing and a stable branch.
133
 
</ul>
134
 
(2006.01.21)
135
 
</blockquote>
136
 
 
137
 
<p>maradns-1.2.02:
138
 
This is a beta-test potentially unstable release, since the changes 
139
 
are significant enough to warrant full testing before declaring this
140
 
as stable as previous 1.2 releases of MaraDNS.
141
 
<blockquote>
142
 
<ul>
143
 
<li>Changed build process to have consistent compile-time flags in
144
 
    all directories, and to allow people on unsupported platforms to
145
 
    compile MaraDNS after they look at obnoxious error message.
146
 
<li>Fixed all of the compile-time warnings this change brought out.
147
 
<li>Added a new mararc variable, <tt>bind_star_handling</tt> for people
148
 
    who want full BIND compatibility with star records.
149
 
<li>Documentation updates: <tt>bind_star_handling</tt> documented, 
150
 
    <tt>SOURCE.FILES</tt> made current.
151
 
<li>Copyright notice updated for 2006
152
 
<li>.gz tarball now optimized by Igor Pavlov and Andrea Mazzoleni's 
153
 
    <tt>advdef</tt> program; this reduces size of .gz tarball by about 5%
154
 
</ul>
155
 
(2006.01.02)
156
 
</blockquote>
157
 
 
158
 
<p>maradns-1.2.01:
159
 
<blockquote>
160
 
<ul>
161
 
<li>Added script that will (mostly) automatically explode the tarball of
162
 
    the last release of MaraDNS, apply the patches, update the doc, and
163
 
    make the patches part of the 1.2 release.
164
 
<li>Updated dangling CNAME document to clarify that typos can also cause
165
 
    the dangling CNAME warning.
166
 
<li>Updated the tarball building process of MaraDNS to also use Igor
167
 
    Pavlov's LZMA compression to make a compressed MaraDNS tarball which 
168
 
    is both smaller and extracts faster than the bzip2 tarball.
169
 
<li>Fixed spurious dangling CNAME warning bug which Alex Kapranoff found.
170
 
</ul>
171
 
(2006.01.01)
172
 
</blockquote>
173
 
 
174
 
<p>maradns-1.0.36:
175
 
<blockquote>
176
 
This is a bugfix release for the legacy 1.0 branch of MaraDNS.  
177
 
<ul>
178
 
<li>A backport of the 2-line patch recently posted to the mailing list
179
 
    concerning incorrect dangling CNAME warnings
180
 
</ul>
181
 
(2005.12.31)
182
 
</blockquote>
183
 
 
184
 
<p>maradns-1.2.00:
185
 
<blockquote>
186
 
This is the new stable release of MaraDNS, which is an update of the 1.0
187
 
branch.  The 1.0 branch will be maintained for standard bugfixes until
188
 
December 21, 2007; critical security fixes, should they occur, will be
189
 
applied to the 1.0 branch until December 21, 2010.
190
 
<p>
191
 
Here are the changes from 1.1.91:
192
 
<ul>
193
 
<li>A small change to <tt>dns/Decompress.c</tt> so that MaraDNS runs on
194
 
    the compiler that comes with the IBM Power version of SuSE.
195
 
<li>Minor corrections to the FAQ
196
 
<li>BINDFAIL message no longer says that there's probably another process
197
 
    using port 53; there are a number of things that can trigger this error
198
 
    message and the "System said" message usually explains what's really
199
 
    going on.
200
 
<li>Pointed out that Macintosh-style newlines break the csv2 parser's
201
 
    ability to tell the user what line the error is on (This should generally
202
 
    not be a practical issue, since it is uncommon for people to use this
203
 
    text file format; it's too close to 1.2.00 to fix this).
204
 
<li>Update to the ej2man script so we don't have a raw accented character
205
 
    in the maradns man page (we use the ROFF \('a instead)
206
 
</ul>
207
 
(2005.12.21)
208
 
</blockquote>
209
 
 
210
 
<p>maradns-1.1.91:
211
 
<blockquote>
212
 
This is the second release candidate for MaraDNS 1.2.
213
 
<p>
214
 
Here are the changes from 1.1.90:
215
 
<ul>
216
 
<li>Made all manpage headings all-caps, to be consistent with standard
217
 
    manpage style.
218
 
<li>Updated "unsupported features" part of MaraDNS man page to point out
219
 
    that 1.2 now supports more non-RFC1035 DNS features
220
 
<li>Plain text documents in a more easily found directory (doc/en/text
221
 
    instead of doc/en/tutorial/text).
222
 
<li>Added a modified version of Paul Sowden and Peter-Paul Koch's
223
 
    <tt>styleswitcher.js</tt> file so that people who need a large
224
 
    font to read a web page can get the large font with just one click.
225
 
<li>Updated the authoritative and recursive tutorial documents to cover the
226
 
    case of wanting a recursive name server to have private host names.
227
 
<li>Explicitly tell the user /etc/mararc is not being replaced during make
228
 
    install process.
229
 
<li>Updated the FAQ for version 1.2 of MaraDNS.
230
 
<li>Split up the DNS introduction document and the list of all tutorials,
231
 
    usage guides, and man pages.
232
 
<li>Added makefile in webpage document (now I have a one-command way of 
233
 
    updating the MaraDNS webpage).
234
 
<li>Spelling errors checked and corrected in all tutorial and man page
235
 
    documents.
236
 
</ul>
237
 
(2005.12.14)
238
 
</blockquote>
239
 
 
240
 
<p>maradns-1.1.90:
241
 
<blockquote>
242
 
This is the first release candidate of MaraDNS 1.2.  Should no one 
243
 
report any problems with this release, this will be released, unchanged,
244
 
as MaraDNS 1.2.00 on December 21.
245
 
<p>
246
 
Here are the changes from 1.1.61: 
247
 
<ul>
248
 
<li>Fixed some bugs in the ej2man script; the man pages now look nicer.
249
 
<li>Added a new EJ tag: HIBIT; this allows some EJ output to contain hi-bit
250
 
    characters (such as HTML pages) while other EJ output has equivalent 
251
 
    content with no hi-bit
252
 
    characters (such as man pages, which don't take well to non-ASCII)
253
 
<li>Fixed rendering problems with the pdf manpage reference (I updated ps2pdf
254
 
    to the one from the latest 8.53 Ghostscript) and added the csv2_txt
255
 
    man page to this reference (HIBIT makes this now possible).
256
 
<li>Renamed security_design.html security.html to make it clear this is
257
 
    a document about MaraDNS' security.
258
 
</ul>
259
 
(2005.12.07)
260
 
</blockquote>
261
 
 
262
 
<p>maradns-1.1.61:
263
 
<blockquote>
264
 
<ul>
265
 
<li>Document minor updates: default value of <tt>timestamp_type</tt> is
266
 
    now five (this was changed in 1.1.60); Clarify that maradns needs to
267
 
    be restarted to reload zones in <A 
268
 
    href=http://www.maradns.org/tutorial/1.2/dnsslave.html>DNSslave</A> 
269
 
    document; corrected misspelled words and minor grammatical errors
270
 
    in <A href=http://www.maradns.org/tutorial/1.2/quick_start.html>the
271
 
    Quick Start guide</A>
272
 
<li>Mac OS X port: MaraDNS sucessfully compiles on Mac OS X (Darwin) again;
273
 
    all compile-time warnings removed.
274
 
<li>MinGW32 port: Changed port to use #ifdef statements instead of a patch
275
 
    to make source Win32-compatible; this allows me to make source changes
276
 
    without having to constantly update the mingw32 patch.
277
 
</ul>
278
 
(2005.12.05)
279
 
</blockquote>
280
 
 
281
 
<p>maradns-1.1.60:
282
 
<blockquote>
283
 
<ul>
284
 
<li>Authoritative tutorial expanded and updated
285
 
<li>DNS master document written; DNS tcp document updated
286
 
<li>Procedure for making text files updated
287
 
<li>Text files for tutorial added
288
 
<li>Examples added to "dangling" document
289
 
<li>Updated spec file to include maradns.zoneserver startup script
290
 
<li>Removed OSRC (open-rsc.org doesn't resolve) and Alternic (alternic.org
291
 
    owned by squatter) from example full mararc file
292
 
<li>Added document on being a DNS slave
293
 
<li>Verified that shell scripts in dnsslave document work
294
 
<li>Created document on updating from MaraDNS 1.0 to 1.2 (most of the time,
295
 
    change nothing)
296
 
<li>Many other tutorial improvments
297
 
<li>Verified spelling of all tutorial documents
298
 
<li>mararc man page correction: csv1 zone files are for MaraDNS 1.0, not
299
 
    1.X
300
 
<li>HR tag added to ej specification.
301
 
</ul>
302
 
(2005.12.03)
303
 
</blockquote>
304
 
 
305
 
<p>maradns-1.1.59:
306
 
<blockquote>
307
 
<ul>
308
 
<li>Cygwin port fix: ipv6 not compiled in authonly mode on Cygwin (Cygwin 
309
 
    doesn't yet have ipv6)
310
 
<li>Updated RPM-building spec file for the 1.1 branch of MaraDNS
311
 
</ul>
312
 
(2005.11.28)
313
 
</blockquote>
314
 
 
315
 
<p>maradns-1.1.58:
316
 
<blockquote>
317
 
<ul>
318
 
<li>Cleaned up the FreeBSD compile
319
 
<li>Cleaned up the Cygwin compile; MaraDNS compiles on Cygwin again
320
 
<li>Removed all warnings seen when compiling on Cygwin (Cygwin GCC is 
321
 
    a little more pedantic than Linux GCC)
322
 
<li>Updated the Mingw32 patch 
323
 
<li>Fixed issue with install script (see mailing list)
324
 
</ul>
325
 
(2005.11.23)
326
 
</blockquote>
327
 
 
328
 
<p>maradns-1.1.57:
329
 
<blockquote>
330
 
<ul>
331
 
<li>Partial port of MaraDNS to mingw32 (can you say maradns.exe) done.
332
 
<li>Since 127.0.0.3 doesn't work on many systems, changing all loopback
333
 
    examples to use the IP address 127.0.0.1; also changing Askmara's
334
 
    default server address to 127.0.0.1
335
 
</ul>
336
 
(2005.11.21)
337
 
</blockquote>
338
 
 
339
 
<p>maradns-1.0.35:
340
 
<blockquote>
341
 
<ul>
342
 
<li>Backport of 1.1.x fix of csv1 example in documentation
343
 
<li>Backport of 1.1.x fix of MINFO RR description
344
 
<li>Backport of 1.1.x security fix.
345
 
</ul>
346
 
(2005.11.20)
347
 
</blockquote>
348
 
 
349
 
<p>maradns-1.1.56:
350
 
<blockquote>
351
 
<ul>
352
 
<li>SECURITY FIX: Made the RNG algorithm resistant to cache sniffing 
353
 
    attacks.  See <A 
354
 
href=http://www.maradns.org/download/patches/maradns-1.0.34-rng.patch>this 
355
 
    page</A> for a full description of this security issue.
356
 
<li>Modified configure script to not compile on unsupported systems.
357
 
</ul>
358
 
(2005.11.20)
359
 
</blockquote>
360
 
 
361
 
<p>maradns-1.1.55:
362
 
<blockquote>
363
 
<ul>
364
 
<li>This is the first Beta-test release for the up-and-coming MaraDNS 1.2
365
 
<li>Fixed description of minfo RR in DNS compression code
366
 
<li>Fixed askmara to correctly output SOA and RAW records
367
 
<li>Changed zoneserver to use select() model for handling the processing
368
 
    of child process' output (thanks, Albert)
369
 
<li>Initialized some uninitialized variables (thanks again, Albert)
370
 
<li>Added Albert Lee to CREDITS file
371
 
<li>Removed perl and gawk dependencies from franky.hosts.test test (the only
372
 
    thing we now need to pull from ports on FreeBSD to run this is Bash)
373
 
<li>Alpha-level SQA testing done.
374
 
</ul>
375
 
(2005.11.18)
376
 
</blockquote>
377
 
 
378
 
<p>maradns-1.1.54:
379
 
<blockquote>
380
 
<ul>
381
 
<li>Updated csv1tocsv2.pl and ej2man scripts to be able to use a Perl
382
 
    interpreter that is not in <tt>/usr/bin</tt>
383
 
<li>Both UIDs that the zoneserver becomes are now determined by the 
384
 
"maradns_uid" mararc variable.
385
 
<li>The zoneserver now uses the "maradns_gid" variable.
386
 
<li>Corrected spelling of "privileges"
387
 
</ul>
388
 
(2005.11.14)
389
 
</blockquote>
390
 
 
391
 
<p>maradns-1.1.53:
392
 
<blockquote>
393
 
<ul>
394
 
<li>SQA: Added scripts to help with Y2038 testing
395
 
<li>Y2038 fix: MaraDNS is now fully functional before and after the Y2038
396
 
    turnover on systems with 32-bit timestamps.
397
 
<li>Update year_2038_statement; MaraDNS is now Y2038-compliant.
398
 
<li>Updated Y2038 libraries to be thread-safe
399
 
<li>Bug fix: A hostname can now be the first line in a csv2 zone file
400
 
<li>Doc fix: Fixed broken "U" record example in csv1 man page
401
 
<li>Bug fix: The zoneserver now makes upper-case domain names lower-case
402
 
<li>Bug fix: The zoneserver now correctly serves csv2 star records
403
 
</ul>
404
 
(2005.11.09)
405
 
</blockquote>
406
 
 
407
 
<p>maradns-1.1.52:
408
 
<blockquote>
409
 
<ul><li>Took care of segfault that only happened in FreeBSD
410
 
<li>Made non-root running of MaraDNS possible again
411
 
<li>Added FreeBSD-specific Makefiles
412
 
</ul>
413
 
(2005.11.06)
414
 
</blockquote>
415
 
 
416
 
<p>maradns-1.0.34:
417
 
<blockquote>
418
 
<ul><li>Hotfix: recursion works again
419
 
<li>Regression procedure added.
420
 
</ul>
421
 
(2005.10.26)
422
 
</blockquote>
423
 
 
424
 
<p>maradns-1.0.33:
425
 
<blockquote>
426
 
<ul>
427
 
<li>Fixed occassional crash that happens while reading zone files at 
428
 
    MaraDNS startup.
429
 
<li>Fixed occassional compression error which shows up in MaraDNS logs.
430
 
<li>Update man page to point out some unimplemented features will be in
431
 
    1.2
432
 
</ul>
433
 
(2005.10.24)
434
 
</blockquote>
435
 
 
436
 
<p>maradns-1.1.51:
437
 
<blockquote>
438
 
<ul>
439
 
<li>Bug fix: hide_disclaimer is now case insensitive (any three-letter string 
440
 
    will now hide the disclaimer, in fact)
441
 
<li>Bug fix: Unknown mararc variable error message will not have a \012 in
442
 
    it.
443
 
<li>Added PDF file which is a printable reference of MaraDNS man pages
444
 
<li>Fixed problems with synth_soa_origin and synth_soa_seria
445
 
<li>Fixed js_append.3 man page (returns 0, not JS_SUCCESS, on success)
446
 
</ul>
447
 
(2005.10.23)
448
 
</blockquote>
449
 
 
450
 
<p>maradns-1.1.50:
451
 
<blockquote>
452
 
<ul>
453
 
<li>Fixed a bug which caused people to see compression errors (The bug was
454
 
    caused when a PTR record pointed to a non-existant record)
455
 
<li>Web design touch-up: The web page is now centered (I found the code
456
 
    to force Firefox to always have a scrollbar like IE); looks better in
457
 
    MacIE/IE4/Opera 5; the handheld and printing stylesheets look better.
458
 
<li>Cleanup of install script; csv2 zone file installed instead of csv1 
459
 
    zone file; etc.
460
 
<li>Cleanup and clarification of default mararc file
461
 
<li>Changed makefile in rng/ to keep the rng-32bit-tables.h file; this
462
 
    will make things easier for people trying to cross-compile MaraDNS
463
 
<li>Made MaraDNS' default UID, GID, logger UID, and Duende chroot() directory
464
 
    defined near the beginning of MaraDns.h; this will make it easier for
465
 
    packagers to redefine these constants.
466
 
<li>Fixed zoneserver to have enough default values so that it works with
467
 
    the included example mararc.
468
 
<li>Fixed bugs in the serving of long packets over TCP; MaraDNS can now
469
 
    serve long DNS packets over TCP, breaking the 512-byte limit.
470
 
<li>askmara now correctly outputs multi-chunk TXT records (unless called with
471
 
    -v)
472
 
<li>Two new mararc varables added: <tt>synth_soa_origin</tt> and 
473
 
    <tt>synth_soa_serial</tt>.  These are here mainly so that people
474
 
    who test MaraDNS 1.2 domains over at dnsreport.com can have a
475
 
    synthetic SOA record that doesn't generate any errors.
476
 
</ul>
477
 
(2005.10.20)
478
 
</blockquote>
479
 
 
480
 
<p>maradns-1.1.49:
481
 
<blockquote>
482
 
<ul>
483
 
<li>Revised pages on the web page to have a minimum number of HTML errors. 
484
 
    (Let's keep the validator fairly happy)
485
 
<li>Added a new feature, <tt>long_packet_ipv4</tt>, which will allow packets
486
 
    longer then 512 bytes long (compressed) to be sent from MaraDNS via
487
 
    TCP (we have a list of IPs which we can send UDP packets longer than 512
488
 
    bytes to; <tt>zoneserver</tt> translates these packets to
489
 
    standards-conforming TCP packets).  This is only enabled if MaraDNS
490
 
    is compiled as an authoritative-only nameserver.
491
 
<li>MaraDNS now generates no warning when compiled with GCC 3.4.2 as both
492
 
    an authoritative-only nameserver and as a recursive nameserver.
493
 
<li>MaraDNS, when compiled as an authoritative-only nameserver, now compiles
494
 
    with the name maradns.authonly.  The install and startup scripts have 
495
 
    been revised to reflect this change.
496
 
<li>Tutorial for doing DNS over TCP has been created.
497
 
<li>Updated security design document and added all known security problems
498
 
    to <A href=security.html>the document</A>
499
 
<li>Updated startup script to add a script (disabled by default) which starts
500
 
    up MaraDNS' zoneserver.
501
 
</ul>
502
 
(2005.10.08)
503
 
</blockquote>
504
 
 
505
 
<p>maradns-1.1.48:
506
 
<blockquote>
507
 
<ul>
508
 
<li>Fixed bugs in mararc processing so that a mararc file with only three
509
 
    lines (four for an authoritative nameserver) works again.
510
 
<li>Updated all of the documentation to reflect the 1.1 changes 
511
 
    and updates to MaraDNS.
512
 
<li>Updated web page design of MaraDNS web page; the page will look almost
513
 
    identical on a modern CSS browser on a PC (including IE 5/6) but will 
514
 
    look better on non-CSS browsers, handheld browsers, and when printed
515
 
    out.  Additionally, there is a "large print" style that makes the
516
 
    web page more accessible.
517
 
</ul>
518
 
(2005.10.04)
519
 
</blockquote>
520
 
 
521
 
<p>maradns-1.1.47:
522
 
<blockquote>
523
 
<ul>
524
 
<li>Set up recursive stress test to make sure recursive resolver doesn't
525
 
    leak memory nor crash (it doesn't)
526
 
<li>Working on updating the CSS for MaraDNS's web page to look better in
527
 
    non-CSS browsers (Changes aren't live yet; look at mixed_css_try3)
528
 
<li>csv2 security updates:
529
 
    <P>
530
 
    1. The hostname for a record must be at the beginning of a line.
531
 
    <P>
532
 
    2. No more than one pipe (|) character is allowed between csv2 fields.
533
 
<li>Documentation updates: Recursive tutorial updated to reflect the fact 
534
 
    that a recursive server now only needs a 3-line mararc file.
535
 
</ul>
536
 
(2005.10.01)
537
 
</blockquote>
538
 
 
539
 
<p>maradns-1.1.46:
540
 
<blockquote>
541
 
<ul>
542
 
<li>Issue with recursive ANY queries resolved
543
 
<li>All compile-time warnings removed; MaraDNS now compiles with zero 
544
 
    warnings when compiled with -Wall
545
 
</ul>
546
 
(2005.09.25)
547
 
</blockquote>
548
 
 
549
 
<p>maradns-1.1.45:
550
 
<p>
551
 
<b>This release is the last 1.1.x release which adds new features to MaraDNS.
552
 
Until MaraDNS 1.2.00 is release, the only changes will be documentation
553
 
updates and bugfixes.</b>
554
 
<blockquote>
555
 
<ul>
556
 
<li>I have removed maragen until it can be updated to use the csv2 zone 
557
 
    files.
558
 
<li>Some doc cleanup; removing outdated documents in doc/en/misc, merging
559
 
    the old changelog with the current changelog, etc.
560
 
<li>CNAME records will now give, in the answer section, the record the
561
 
    CNAME record points to for any RR type, not just A (and to a limited
562
 
    extent, PTR) records.
563
 
<li>ANY queries now more-or-less work with recursive queries again.
564
 
<li>Bogus SOA "not there" replies now have a narrower scope than ".".
565
 
<li>Fixed problem with empty TXT and RAW records in csv1tocsv2.pl
566
 
</ul>
567
 
(2005.09.24)
568
 
</blockquote>
569
 
 
570
 
<p>maradns-1.1.44:
571
 
<blockquote>
572
 
<ul>
573
 
<li>The RCODE in the DNS headers will now correctly return a NXDOMAIN as long
574
 
    as there are no RRs with the given DNS name in question.  Otherwise, the
575
 
    RCODE returned is zero.
576
 
<li>Added a new tool in the tools directory, called csv1tocsv2.pl, which is
577
 
    a Perl script that converts csv1 zone files in to csv2 zone files.
578
 
</ul>
579
 
<br>(2005.09.13)
580
 
</blockquote>
581
 
 
582
 
<p>maradns-1.1.43:
583
 
<blockquote>
584
 
<ul>
585
 
<li>MaraDNS 1.0.32 bugfix forward-ported to 1.1.43
586
 
<li>Duende will now output error on standard out when it dies unexpectably
587
 
</ul>
588
 
<br>(2005.08.10)
589
 
</blockquote>
590
 
 
591
 
<p>maradns-1.0.32:
592
 
<blockquote>Hotfix: RR rotation now works again.
593
 
<br>(2005.08.08)
594
 
</blockquote>
595
 
 
596
 
<p>maradns-1.0.31:
597
 
<blockquote>Two patches by Albert Lee that improve Mara's stability.
598
 
<br>(2005.08.07)
599
 
</blockquote>
600
 
 
601
 
<p>maradns-1.0.30:
602
 
<blockquote>
603
 
<ul>
604
 
<li>Warn the user when they have dangling CNAME records
605
 
<li>Fix bug with MX records with preferences > 255 in getzone tool
606
 
</ul>
607
 
(2005.06.30)
608
 
</blockquote>
609
 
 
610
 
<p>maradns-1.1.42:
611
 
<blockquote>
612
 
<ul>
613
 
<li>Removed debug information showing in hex the bind address
614
 
<li>ipv6 logging now works
615
 
<li>hide_disclaimer works again
616
 
<li>The code to handle ANY queries is essentially completely rewritten.
617
 
</ul>
618
 
(2005.06.22)
619
 
</blockquote>
620
 
 
621
 
<p>maradns-1.1.41:
622
 
<blockquote>
623
 
<ul>
624
 
<li>Make all example ipv6 addresses 3ffe:ffff example addresses
625
 
<li>New mararc variable: csv2_synthip_list
626
 
<li>Get the zoneserver to read ipv4_bind_addresses and csv2_synthip_list
627
 
<li>Allow spaces in ip_acl lists
628
 
<li>Document: How to set up a default zonefile
629
 
<li>Give out a bogus SOA reply when none of the servers for the domain
630
 
  can be reached.
631
 
</ul>
632
 
(2005.06.12)
633
 
</blockquote>
634
 
 
635
 
<p>maradns-1.1.40:
636
 
<blockquote>
637
 
<ul>
638
 
<li>Warning now shown for dangling cname records
639
 
<li>bind_address now has ipv4_bind_addresses name (bind_address still works,
640
 
of course) 
641
 
</ul>
642
 
(2005.06.07)
643
 
</blockquote>
644
 
 
645
 
<p>maradns-1.1.39:
646
 
<blockquote>
647
 
<ul>
648
 
<li>MaraDNS now has full authoritative-only ipv6 support
649
 
</ul>
650
 
(2005.06.05)
651
 
</blockquote>
652
 
 
653
 
<p>maradns-1.1.38:
654
 
<blockquote>
655
 
<ul>
656
 
<li>Fixed security problem with new <tt>fetchzone</tt> tool.  
657
 
More details in <A 
658
 
href="download/patches/maradns-1.1.37-fetchzone_security.patch">in
659
 
the maradns-1.1.37-fetchzone_security.patch file</A>
660
 
<li>Added support for <tt>dos_protection_level</tt> which will disable
661
 
certain MaraDNS features to make her respond more quickly to DNS
662
 
requests; this is useful for very highly loaded servers or for
663
 
surviving denial-of-service attacks.
664
 
<li>Wrote code to support binding to ipv6 addresses when MaraDNS is
665
 
    compiled as an authoritative-only nameserver.  Work on this will
666
 
    continue when I get ip6 up and going on my Fedora Core 3 box.
667
 
</ul>
668
 
(2005.05.28)
669
 
</blockquote>
670
 
 
671
 
<p>maradns-1.1.37:
672
 
<blockquote>
673
 
<ul>
674
 
<li>Support for stars at the end of hostnames is finished.
675
 
<li>Added ability to compile MaraDNS without recursive support; this
676
 
    makes the binary 20% smaller and not need the pthread library.
677
 
</ul>
678
 
(2005.05.21)
679
 
</blockquote>
680
 
 
681
 
<p>maradns-1.1.36:
682
 
<blockquote>
683
 
<ul>
684
 
<li>Forward-ported the MaraDNS 1.0.29 changes in to the 1.1 branch.
685
 
<li>Applied Juergen's patch so that the 1.1 branch compiles again.
686
 
<li>Added code to work around Linux' select() before the recvfrom()
687
 
    in MaraDNS.c 
688
 
</ul>
689
 
(2005.05.14)
690
 
</blockquote>
691
 
 
692
 
<p>maradns-1.0.29:
693
 
<blockquote>
694
 
This release improves how MaraDNS' recursive resolver parses packets so
695
 
that Mara can interoperate better with some stub resolvers that don't
696
 
bother looking past the header of a DNS packet.
697
 
<p>
698
 
(2005.05.13)
699
 
</blockquote>
700
 
 
701
 
<p>maradns-1.1.35:
702
 
<blockquote>
703
 
This release forward-ports the improvments for MaraDNS 1.0.27 and MaraDNS
704
 
1.0.28 in to the 1.1 branch.
705
 
(2005.05.06)
706
 
</blockquote>
707
 
 
708
 
<p>maradns-1.0.28:
709
 
<blockquote>
710
 
The reason why MaraDNS' recursive resolver has been freezing up is
711
 
because of a bug in the Linux kernel that the kernel developers are not
712
 
interested in resolving.  I would like to thank Albert Lee for providing
713
 
a patch which resolves this issue.  
714
 
<p>
715
 
(2005.05.06)
716
 
</blockquote>
717
 
 
718
 
<p>maradns-1.0.27:
719
 
<blockquote>
720
 
<ul>
721
 
<li>Patch to address possible security concern with the random number
722
 
    generator.
723
 
<li>Some updates to the documentation
724
 
</ul>
725
 
(2005.05.02)
726
 
</blockquote>
727
 
 
728
 
<p>maradns-1.1.34:
729
 
<blockquote>
730
 
<ul>
731
 
<li>MaraDNS now supports stars at the end of hostnames.  The only part of 
732
 
    this feature that needs to be implemented is the ability to correctly
733
 
    handle the case when someone asks for a hostname or record type that the
734
 
    star does not catch.
735
 
</ul>
736
 
(2005.04.30)
737
 
</blockquote>
738
 
 
739
 
<p>maradns-1.1.33:
740
 
<blockquote>
741
 
<ul>
742
 
<li><tt>zoneserver</tt> now supports binding to multiple IP addresses
743
 
</ul>
744
 
(2005.04.18)
745
 
</blockquote>
746
 
 
747
 
<p>maradns-1.1.32:
748
 
<blockquote>
749
 
<ul>
750
 
<li>Patched 1.1 branch so that it compiles on older versions of GCC again
751
 
<li>Made the ICANN list of root nameservers a default list, hardcoded in the
752
 
    MaraDNS code, if the user doesn't specify root servers in their mararc
753
 
    file.  It is now possible to have a 3-line mararc file.
754
 
<li>Updated the quickstart guide to use the 3-line mararc example.
755
 
<li>Initialized variables that were uninitialized.
756
 
<li>Modified the mararc parser to exit on a fatal error if an unknown 
757
 
    mararc variable is seen.
758
 
<li>Mofified the relevent zonefile parsing code to correctly parse the
759
 
    "default" zonefile (zone file with stars at end of hostnames).
760
 
</ul>
761
 
(2005.04.09)
762
 
</blockquote>
763
 
 
764
 
<p>maradns-1.0.26:
765
 
<blockquote>
766
 
Changes from 1.0.25:
767
 
<ul>
768
 
<li>Small patch so MaraDNS will compile on older versions of GCC again
769
 
</ul>
770
 
(2005.03.25)
771
 
</blockquote>
772
 
 
773
 
<p>maradns-1.1.31:
774
 
<blockquote>
775
 
Changes from 1.1.30:
776
 
<ul>
777
 
<li>Updated the zone file parser to improve (read: Make more pedantic)
778
 
    parsing of hostnames with '*' characters in them.
779
 
<li>Removed all compile-time warnings.
780
 
<li>New mararc variable, csv2_default_zonefile, created. 
781
 
</ul>
782
 
(2005.03.25)
783
 
</blockquote>
784
 
 
785
 
<p>maradns-1.1.30:
786
 
<blockquote>
787
 
Changes from 1.1.29:
788
 
<ul>
789
 
<li>Updated tutorial and list of ICANN root servers.  Cleaned up root
790
 
    server lists in example mararcs (we no longer need long lines in
791
 
    mararc files)
792
 
<li>Added verbose_query mararc variable
793
 
</ul>
794
 
(2005.03.16)
795
 
</blockquote>
796
 
 
797
 
<p>maradns-1.0.25:
798
 
<blockquote>
799
 
Changes from 1.0.24:
800
 
<ul>
801
 
<li>Upgraded the ICANN root nameservers and other elements of the
802
 
documentation
803
 
<li>MaraDNS 1.0.xx compiles with no warning when compiled with -Wall again
804
 
<li>Added verbose_query mararc variable
805
 
</ul>
806
 
(2005.03.16)
807
 
</blockquote>
808
 
 
809
 
<p>maradns-1.1.29:
810
 
<blockquote>
811
 
Changes from 1.1.28:
812
 
<ul>
813
 
<li>Updated macro processor to make any and all '{' characters in zone 
814
 
    files illegal.  This will break csv2 zone files with '{' characters
815
 
    currently in them.
816
 
<li>Updated install script to install duende tool and man page
817
 
<li>Updated MaraDNS startup script to use duende to invoke MaraDNS
818
 
<li>Updated the Quick Start guide and the MaraDNS man page to note
819
 
    duende daemonizing tool.
820
 
<li>Added debugging output which will hopefully make the recursive server
821
 
    occassionally freezing problem reproducible and fixable.
822
 
</ul>
823
 
(2005.03.05)
824
 
</blockquote>
825
 
 
826
 
<p>maradns-1.1.28:
827
 
<blockquote>
828
 
Changes from 1.1.27:
829
 
<ul>
830
 
<li>Fixed bug with loading of synthetic SOA records in CSV2 zone files
831
 
<li>Updated roadmap to clarify goals for 1.2/2.0 release
832
 
<li>Zoneserver sucessfully transferred a zone to Bind 8.4.6
833
 
<li>Zoneserver sucessfully transferred a zone to Bind 9.2.4
834
 
<li>Zoneserver sucessfully transferred a zone to Bind 9.3.0
835
 
<li>Documentation for Duende tool updated to point out that the directory
836
 
    <tt>/etc/maradns/logger</tt> is mandatory for this tool
837
 
<li>Incorporated Juergen's patch that installs the fetchzone tool and
838
 
    man page
839
 
<li>alarm() call added to zoneserver to implement TCP timeout
840
 
<li>askmara documentation cleaned up, improved
841
 
</ul>
842
 
(2005.02.26)
843
 
</blockquote>
844
 
 
845
 
<p>maradns-1.1.27:
846
 
<blockquote>
847
 
Changes from 1.1.26:
848
 
<ul>
849
 
<li>The recursive resolver now works again (using 64-bit Y2038-safe 
850
 
timestamps, to boot).
851
 
<li>Minor updates to documentation.
852
 
</ul>
853
 
(2005.02.24)
854
 
</blockquote>
855
 
 
856
 
<p>maradns-1.1.26:
857
 
<blockquote>
858
 
Changes from 1.1.25:
859
 
<ul>
860
 
<li>Fixed bug where recursive server was outputting bad TTLs (I don't think
861
 
    this affects 1.0.xx)
862
 
<li>Made a number of bug fixes to the zoneserver so that it correctly
863
 
    serves zones (and SOA records) as a zoneserver
864
 
<li>Verified that the zoneserver works with the djbdns axfr client (axfr-get)
865
 
<li>Updated askmara's output and updated fetchzone's csv2-compatible output
866
 
</ul>
867
 
(2005.02.23)
868
 
</blockquote>
869
 
 
870
 
<p>maradns-1.1.25:
871
 
<blockquote>
872
 
Changes from 1.1.24:
873
 
<ul>
874
 
<li>Checked examples in TXT/RAW record documentation, making fixes to 
875
 
    documentation and/or code as needed.
876
 
<li>Corrected how <tt>askmara</tt> outputs TXT and raw records.
877
 
<li>Added support for asking for arbitrary record types in askmara.  Updated
878
 
    man page to reflect this change.
879
 
<li>Changed examples in tutorial to <i>not</i> include SOA and NS records in
880
 
    example zone file; hopefully registars are no longer anal about this kind
881
 
    of thing.
882
 
</ul>
883
 
(2005.02.20)
884
 
</blockquote>
885
 
 
886
 
<p>maradns-1.1.24:
887
 
<blockquote>
888
 
Changes from 1.1.23:
889
 
<ul>
890
 
<li>Fixed ej2man script to make correct ASCII single quotes in man pages.
891
 
<li>Added csv2_txt manual page to document TXT and RAW records.
892
 
<li>Added support for RAW (any RTYPE) records to the csv2 parser.
893
 
<li>Updated tutorial to use csv2 records.
894
 
<li>Minor updates to the web page (there was a minor blemish in the rock face
895
 
    texture which I surgically removed with Gimp).
896
 
<li>Mac OS X/Darwin fix for 1.0.24 integrated in to this release.
897
 
</ul>
898
 
(2005.02.19)
899
 
</blockquote>
900
 
 
901
 
<p>maradns-1.1.23:
902
 
<blockquote>
903
 
Changes from 1.1.22:
904
 
<ul>
905
 
<li>Added support for TXT records to the CSV2 zone file.
906
 
<li>Added files to create the core maradns.org webpage to the documentation.
907
 
</ul>
908
 
(2005.02.16)
909
 
</blockquote>
910
 
 
911
 
<p>maradns-1.0.24:
912
 
<blockquote>
913
 
Changes from 1.0.23:
914
 
<ul>
915
 
<li>Fixed the build process on MacOS X so it compiles again.
916
 
<li>Fixed some non-critical typos in the configure script.
917
 
</ul>
918
 
(2005.02.15)
919
 
</blockquote>
920
 
 
921
 
<p>maradns-1.1.22:
922
 
<blockquote>
923
 
<b>Note: This revison changes the format of csv2 zone files from 1.1.21;
924
 
this will be the last incompatible change to csv2 zone files done.  All
925
 
future changes will be backwards compatible with csv2 zone files.</b>
926
 
<ul>
927
 
<li>Fixed bug in csv2 parser where, when a newline causes a syntax
928
 
  error, the error is reported at the start of the new line instead
929
 
  of the end of the previous line.
930
 
<li>Made sure dnames are converted to lowercase before being put in to
931
 
  the bighash
932
 
<li>Got % shortcuts to work in the new csv2 zone files
933
 
<li>csv2 records have the authority data (the NS records for
934
 
  the zone) added.
935
 
<li>Synthesize ns records (have bogus names and
936
 
  have the NS ips be any non-private ip address we're bound to)
937
 
  if needed.
938
 
<li>Added code to synthesize a SOA record for csv2 zone files without a
939
 
  SOA record.
940
 
<li>Fixed bug that % doesn't work in dlabels in the data fields of an RR
941
 
<li>There is a working example csv2 file which documents what the file does
942
 
<li>Changed askmara to output records in csv2 format
943
 
<li>Created fetchzone tool that outputs records in csv2 format 
944
 
<li>ej2man and ej2txt no longer use unicode for bullets 
945
 
<li>There is now a man page for csv2 and fetchzone.
946
 
<li>Fixied bug with not being able to have UTF-8 at the beginning of a 
947
 
  host name.
948
 
<li>fixed %-only MX exchanger bug
949
 
<li>a bind address can not be 0.0.0.0 if we have csv2 zone
950
 
  files (we now have support for binding to multiple IPs; 0.0.0.0 is
951
 
  a little buggy)
952
 
<li>Moved TTL to be before the rtype to be more like Bind's and Posadis'
953
 
  zone files.
954
 
<li>Moved TTL in fetchzone and askmara to be before the rtype.
955
 
<li>Added support for SRV records; Sean is actually using these
956
 
<li>Got the zoneserver to work with the new csv2 zone file (this took
957
 
the lion's share of the work for the 1.1.22 release)
958
 
<li>Integrated Juergen Daubert's latest cleanup patches
959
 
</ul>
960
 
(2004.06.30)
961
 
</blockquote>
962
 
 
963
 
<p>maradns-1.1.21:
964
 
<blockquote>
965
 
<ul>
966
 
<li><code>show_esc_stdout</code> moved from parse/ParseCsv1.c to the
967
 
more sensible libs/JsStrOS.c.
968
 
<li>Code for parsing ipv6 addresses written (it took 355 lines to
969
 
    parse stuff like "ffe:501:ffff::b:c:d"; compare this to 125 lines
970
 
    for ddip_2_ip which does the ipv4 equivalent)
971
 
<li>Support for CSV2 zone files is about 80% done; combined with the
972
 
    ipv6 address parsing, we're looking at 2348 new lines of code.
973
 
</ul>
974
 
(2004.06.18)
975
 
</blockquote>
976
 
 
977
 
<p>maradns-1.1.20:
978
 
<blockquote>
979
 
(Release 1.1.19 skipped because that was an accidental release I did last
980
 
 October)
981
 
<ul>
982
 
<li>Changed tools to create utf-8 instead of Latin-1 man pages (Fedora Core
983
 
    Two does <i>not</i> like Latin-1 encoded man pages).
984
 
<li>Added support for the += operator in the mararc file.  This operator is
985
 
    use for string concatenation.  The goal (along with the csv2 file format)
986
 
    is to make it so MaraDNS never needs a line longer than 80 colums in a 
987
 
    configuration file.
988
 
<li>Hopefully fixed bugs with mixed-case domain names.
989
 
</ul>
990
 
(2004.06.03)
991
 
</blockquote>
992
 
 
993
 
<p>maradns-1.1.18:
994
 
<blockquote>
995
 
This is a merge of the features present in MaraDNS 1.0.23 but not in 1.1.17
996
 
in to the 1.1.xx branch.  Additionally, I have some ideas for a new zone
997
 
file format in doc/en/misc (more like, I have a full definition of a
998
 
finite state machine complete with psudo-code for processing of everything
999
 
in this new proposed zone file format).  Compiles, but I don't know if 
1000
 
this runs.
1001
 
<p>
1002
 
(2004.06.01)
1003
 
</blockquote>
1004
 
 
1005
 
<p>maradns-1.0.23:
1006
 
<blockquote>
1007
 
Changes from 1.0.22:
1008
 
<ul>
1009
 
<li>Corrected error where askmara incorrectly outputted MX records
1010
 
<li>MaraDNS can now resolve star records when processing ANY queries
1011
 
<li>The RD value in replies is now the same as the RD in the corresponding
1012
 
    query
1013
 
<li>Fixed some typos in old changelog entries
1014
 
</ul>
1015
 
(2004.05.28)
1016
 
</blockquote>
1017
 
 
1018
 
<p>maradns-1.0.22:
1019
 
<blockquote>
1020
 
Changes from 1.0.21:
1021
 
<ul>
1022
 
<li>Applied Juergen Daubert's patch that makes MaraDNS compile clean, even
1023
 
    with all warnings enabled.
1024
 
<li>Added testing for the zoneserver to the SQA suite
1025
 
<li>Fixed a problem where the zone server would die after serving MAXFD
1026
 
    zones.
1027
 
</ul>
1028
 
(2004.05.25)
1029
 
</blockquote>
1030
 
 
1031
 
<p>maradns-1.0.21:
1032
 
<blockquote>
1033
 
This is MaraDNS 1.0.20 with a patch that solves an error one user reported
1034
 
with the parsing of zone files.
1035
 
<p>
1036
 
(2004.04.13)
1037
 
</blockquote>
1038
 
 
1039
 
<p>maradns-1.0.20:
1040
 
<blockquote>
1041
 
This is MaraDNS 1.0.18 with a patch to allow gnu.org to resolve again.  This
1042
 
is the "no frills, just stay stable" branch of MaraDNS.
1043
 
<p>
1044
 
(2003.10.02)
1045
 
</blockquote>
1046
 
 
1047
 
<p>maradns-1.1.18:
1048
 
<blockquote>
1049
 
This is simply a new release which indicates my decision to completely
1050
 
rewrite the recursive portion of MaraDNS.  The old recursive code is
1051
 
removed; I hope to have time to work on the new recursive code soon.
1052
 
<p>
1053
 
(2003.10.02)
1054
 
</blockquote>
1055
 
 
1056
 
<p>maradns-1.0.19:
1057
 
<blockquote>
1058
 
This is a test release which addresses a number of issues people on the 
1059
 
list have brought up:
1060
 
<ul>
1061
 
<li> Doug Sampson a pointed out that the server gives out compression errors
1062
 
    and freezes.  I have replaced the compression code with the cleaner
1063
 
    compression code from the 1.1.xx branch; this will hopefully address
1064
 
    this issue.
1065
 
<li> Andrew pointed out that the zoneserver does not give out adequate
1066
 
    error messages when there is a problem opening up a zone file, or when
1067
 
    there is a fatal parse error in a zone file.  I have added appropriate
1068
 
    error messages to the zone server.
1069
 
<li>Juergen Daubert provided a patch to make Mara's compile generate less
1070
 
    warnings.  
1071
 
<li>A problem with the ORSC entries being out of date was brought up.  I can
1072
 
    not look up the current entries (being offline), but have changed all of
1073
 
    the example files to use the ICANN entries by default, since ICANN is 
1074
 
    the only root server registry who has root servers with stable enough 
1075
 
    IPs for "set and forget" environments.
1076
 
<li>I myself found some problems where timeouts for PTR and AAAA queries can
1077
 
    slow down poorly-written clients.  As a result, MaraDNS now has the
1078
 
    ability to optionally instantly give dummy "not there" replies to 
1079
 
    either PTR or AAAA queries (or both).
1080
 
<li>Some minor updates and clean-up to the documentation.
1081
 
</ul>
1082
 
(2003.08.03)
1083
 
</blockquote>
1084
 
 
1085
 
<p>maradns-1.1.17:
1086
 
<blockquote>
1087
 
Recursive queries now work again; fixed a place which was using a 32-bit
1088
 
value to get a timestamp, when the code in question should have used a
1089
 
josa_timestamp (64-bit) value.
1090
 
<p>
1091
 
Additionally, it is now possible to use this program as a non-root user
1092
 
again.
1093
 
<p>
1094
 
(2003.06.13)
1095
 
</blockquote>
1096
 
 
1097
 
<p>maradns-1.0.18:
1098
 
<blockquote>
1099
 
Cleaned up and fixed a bug in the MaraDNS startup script.  Now, the only 
1100
 
prorcesses that will be killed will be bona fide MaraDNS processes.
1101
 
<p>
1102
 
(2003.05.30)
1103
 
</blockquote>
1104
 
 
1105
 
<p>maradns-1.0.17:
1106
 
<blockquote>
1107
 
Strnlen seems to not be a portable call after all (the BSDs don't have it);
1108
 
this version has a special js_strnlen call to make up for this.
1109
 
<p>
1110
 
(2003.04.18)
1111
 
</blockquote>
1112
 
 
1113
 
<p>maradns-1.0.16:
1114
 
<blockquote>
1115
 
This is MaraDNS 1.0.15 declared "stable" (well, as stable as 1.0.13).  The
1116
 
only change from 1.0.15 is more debugging information in case an
1117
 
unreproducable bug which one user reported pops up again.
1118
 
<p>
1119
 
(2003.03.16)
1120
 
</blockquote>
1121
 
 
1122
 
<p>maradns-1.0.15:
1123
 
<blockquote>
1124
 
This is MaraDNS 1.0.14 with a good deal more stress testing done to
1125
 
the recursive resolver.  There does not appear to be any obvious memory 
1126
 
leaks; nor are there any stability issues with this release of MaraDNS.
1127
 
That said, I am, at present, marking the release "beta" until there is
1128
 
more field testing of the release.
1129
 
<p>
1130
 
(2003.02.28)
1131
 
</blockquote>
1132
 
 
1133
 
<p>maradns-1.0.14:
1134
 
<blockquote>
1135
 
This is not a production release of MaraDNS.  This is a beta-test release
1136
 
of MaraDNS which has the ptr-over-cname fix from the 1.1.xx branch backported
1137
 
to the 1.0.xx branch.  In addition, the code has been modified to no longer
1138
 
use strlen().
1139
 
<p>
1140
 
Use this code at your own risk.  While I have stress-tested this code for
1141
 
stability, this code has not been field tested yet.
1142
 
<p>
1143
 
That said, it does fix the long-standing bug with correctly resolving
1144
 
PTR records which are CNAME referrals.  I want to see some people help
1145
 
me beta-test this, so that I can make a more general release of this
1146
 
bugfix available.
1147
 
<p>
1148
 
(2003.02.23)
1149
 
</blockquote>
1150
 
 
1151
 
<p>maradns-1.0.13:
1152
 
<blockquote>
1153
 
This release of MaraDNS is dedicated to the seven brave astronauts
1154
 
who died this morning on the Columbia space shuttle:
1155
 
<ul>
1156
 
<li> Willie McCool 
1157
 
<li> Rick Husband 
1158
 
<li> Kalpana Chawla 
1159
 
<li> Laurel Clark 
1160
 
<li> Michael Anderson 
1161
 
<li> David Brown 
1162
 
<li> Ilan Ramon 
1163
 
</ul>
1164
 
These people
1165
 
died expanding the boundaries of humanity's next frontier; may
1166
 
their deaths not be in vain and may humanity eventually conquer space.
1167
 
<p>
1168
 
This is MaraDNS 1.0.12 with a one-line bugfix for a bug the last
1169
 
release of MaraDNS introduced.  This only matters for people who
1170
 
have zonefiles with no records in them (besides the SOA and NS records
1171
 
for the domain head).
1172
 
<p>
1173
 
(2003.02.01)
1174
 
</blockquote>
1175
 
 
1176
 
<p>maradns-1.1.16:
1177
 
<blockquote>
1178
 
D Richard Felker III, who knows more about the arcane mysteries of
1179
 
UNIX pipes than myself, showed me how to get duende to catch the 
1180
 
stuff sent to standard error also.
1181
 
<p>
1182
 
Duende's manual page has been proffread and updated.
1183
 
<p>
1184
 
(2003.01.29)
1185
 
</blockquote>
1186
 
 
1187
 
<p>maradns-1.1.15:
1188
 
<blockquote>
1189
 
I have given up, for now, on trying to catch both stdout and stderr.
1190
 
</blockquote>
1191
 
 
1192
 
<p>maradns-1.1.14:
1193
 
<blockquote>
1194
 
The daemonizing helper has been renamed 'duende' (Spanish for 'daemon',
1195
 
consistant with the Spanish theme MaraDNS has, it is said like 'dwen-deh'), 
1196
 
and now sets up a second child process which syslog()s all of maradns' 
1197
 
various messages.  Also added new timestamp format with no timestamp
1198
 
whatsoever to eliminate redundant timestamp when using duende helper.
1199
 
<p>
1200
 
(2003.01.27)
1201
 
</blockquote>
1202
 
 
1203
 
<p>maradns-1.1.13:
1204
 
<blockquote>
1205
 
MaraDNS now has a daemonizing helper which makes MaraDNS a daemon, then
1206
 
stays around.  If either the daemonizing helper or MaraDNS (even
1207
 
MaraDNS 1.0.xx) gets a HUP signal, MaraDNS is restarted.  If either
1208
 
process gets a TERM or an INT signal, both processes exit.  If MaraDNS
1209
 
exits for any other reason besides a HUP signal, the daemonizer
1210
 
restarts MaraDNS.
1211
 
<p>
1212
 
(2003.01.25)
1213
 
</blockquote>
1214
 
 
1215
 
<p>maradns-1.1.12:
1216
 
<blockquote>
1217
 
MaraDNS now has her own timestamp code which should get rid of any Y2038
1218
 
problems; on systems with 32-bit time_t, the problems are pushed forward
1219
 
to 2112 (and can be pushed forward indefinitely by changing only two
1220
 
magic constants and recompiling).  Note: This means the code only works on
1221
 
systems with an int64_t; are there any significant Unix systems deployed
1222
 
which people may wish to use Mara on without int64 support at this point?
1223
 
<p>
1224
 
(2003.01.22)
1225
 
</blockquote>
1226
 
 
1227
 
<p>maradns-1.1.11:
1228
 
<blockquote>
1229
 
MaraDNS has support for DNS record resurrection; this means that
1230
 
she can now use expired records if no DNS server can be contacted
1231
 
for a given host name
1232
 
<p>
1233
 
(2003.01.17)
1234
 
</blockquote>
1235
 
 
1236
 
<p>maradns-1.0.12:
1237
 
<blockquote>
1238
 
MaraDNS with the following seven patches applied:
1239
 
<ul>
1240
 
<li>Records with CNAMEs should resolve more nicely on slow links 
1241
 
    (maradns-1.0.11-incomplete.cname.patch)
1242
 
<li>Askmara man page updated to say default DNS server address is
1243
 
    127.0.0.3 (maradns-1.0.11.askmara-man.patch)
1244
 
<li>Recursive server no longer wastes time with in-bailiwick glueless
1245
 
    NS referrals (maradns-1.0.11-bailiwick.patch)
1246
 
<li>References to nslookup in the documentation have been removed, or
1247
 
    changed to note that nslookup is obsolete 
1248
 
    (maradns-1.0.11.no-nslookup.patch)
1249
 
<li>Fixed problem that Ray reported with empty zone files (zone files with
1250
 
    only SOA and NS records) (maradns-1.0.11-raybug.patch)
1251
 
<li>Fixed very slight problem with how the RNG was seeded, should not affect
1252
 
    most installations of MaraDNS (maradns-1.0.11-rngseed.patch)
1253
 
<li>Patch to work around admins who use a dot instead of an @ in the RNAME
1254
 
    field for SOA record (maradns-1.0.11-soamail.patch)
1255
 
</ul>
1256
 
(2003.01.15)
1257
 
</blockquote>
1258
 
 
1259
 
<p>maradns-1.1.10:
1260
 
<blockquote>
1261
 
MaraDNS is now able to bind to multiple IP addresses.  In addition, I
1262
 
have set up a signal handler so that MaraDNS can exit with a return code
1263
 
of 8 when she gets a HUP signal.
1264
 
<p>
1265
 
The way MaraDNS binds to multiple IP addresses is by having a socket for
1266
 
each IP address, and a select() call which determines which socket 
1267
 
someone connected to.  Since the select() has a timeout, I was able to
1268
 
set up the HUP signal handler to only change a global variable.
1269
 
<p>
1270
 
Proper HUP signal handling will be handled by a daemonizer wrapper, which
1271
 
I will write next.
1272
 
<p>
1273
 
(2003.01.10)
1274
 
</blockquote>
1275
 
 
1276
 
<p>maradns-1.1.09:
1277
 
<blockquote>
1278
 
Some improvments to DNS-over-TCP:
1279
 
<ul>
1280
 
<li>It is now possible to have permission to only forward a query 
1281
 
over TCP without being able to transfer zone file.
1282
 
<li>It is now possible to use an old zoneserver mararc with the new
1283
 
    zoneserver.
1284
 
<li>The feature has now been documented (albeit only sparsely in 
1285
 
    the mararc man page)
1286
 
</ul>
1287
 
(2003.01.10)
1288
 
</blockquote>
1289
 
 
1290
 
<p>maradns-1.1.08:
1291
 
<blockquote>
1292
 
It is now possible to use zoneserver to forward TCP DNS queries to a
1293
 
UDP DNS server; this gives MaraDNS full TCP DNS support.
1294
 
<p>
1295
 
(2003.01.07)
1296
 
</blockquote>
1297
 
 
1298
 
<p>maradns-1.1.07:
1299
 
<blockquote>
1300
 
Not extensively tested, but following CNAMEs to PTR records now works.
1301
 
<p>
1302
 
(2002.12.25)
1303
 
</blockquote>
1304
 
 
1305
 
<p>maradns-1.0.11:
1306
 
<blockquote>
1307
 
This release changes the decompressor so that it works with packets
1308
 
which some zoneservers with large zone files generate.
1309
 
<p>
1310
 
There is also some minor revisions to the documentation.
1311
 
<p>
1312
 
(2002.12.17)
1313
 
</blockquote>
1314
 
 
1315
 
<p>maradns-1.0.10:
1316
 
<blockquote>
1317
 
This release fixes a bug with the RP definition so that the 
1318
 
decompressor can accept a DNS packet with this RR type.  In other
1319
 
words, this release resolves the problem Danny saw.
1320
 
<p>
1321
 
In addition, I have done some documentation clean-up, fixing the
1322
 
problems that Christian saw in the documentation; the most significant
1323
 
change is that the root servers for various root server networks have 
1324
 
been updated.
1325
 
<p>
1326
 
(2002.11.30)
1327
 
</blockquote>
1328
 
 
1329
 
<p>maradns-1.0.09:
1330
 
<blockquote>
1331
 
This release backports the 1.1.06 improvments to the 1.0.xx branch of
1332
 
MaraDNS.
1333
 
<p>
1334
 
(2002.11.15)
1335
 
</blockquote>
1336
 
 
1337
 
<p>maradns-1.1.06:
1338
 
<blockquote>
1339
 
This realease updates the FAQ, some other information, and has some
1340
 
minor cleanups performed to the code.
1341
 
<p>
1342
 
(2002.10.24)
1343
 
</blockquote>
1344
 
 
1345
 
<p>maradns-1.1.05:
1346
 
<blockquote>
1347
 
This release has the same decompression patch which the 1.0.08 release
1348
 
has.  In addition, this release has the test_zoneserver and test_getzone
1349
 
tools, just in case anyone ever sees problems with getzone again.
1350
 
<p>
1351
 
(2002.10.05)
1352
 
</blockquote>
1353
 
 
1354
 
<p>maradns-1.0.08:
1355
 
<blockquote>
1356
 
The release fixes the problems which getzone which Marc Schneiders and
1357
 
Nikos Mavroyanopoulos reported.  I would like to thank both people
1358
 
for reporting these problems.
1359
 
<p>
1360
 
The problems were caused by the fact that the new decompression code 
1361
 
did not expect the kind of packets which zoneserver generate; I have patched
1362
 
the new decompression code.
1363
 
<p>
1364
 
(2002.10.05)
1365
 
</blockquote>
1366
 
 
1367
 
<p>maradns-1.1.04:
1368
 
<blockquote>
1369
 
This release incorporates TTL aging, and Jonathan's code which makes
1370
 
this run as a Win9x service (note: BSD copyrighted code with the
1371
 
obnoxious advertising clause; we may have to do something about that
1372
 
before this becomes stable code)
1373
 
<p>
1374
 
(2002.09.01)
1375
 
</blockquote>
1376
 
 
1377
 
<p>maradns-1.0.07:
1378
 
<blockquote>
1379
 
I would like to thank Scott Cooper for working hard to find the cause
1380
 
of a bothersome crash which people have been reporting for about a 
1381
 
month.  This release, hopefully, fixes the crashing problem once and
1382
 
for all.
1383
 
<p>
1384
 
In addition, I have put back all of the improvments to the authoritative half
1385
 
which MaraDNS between 0.9.06 and 1.0.05 had; this version undoes the
1386
 
reverting I did for 1.0.06 (which I only did because problems started
1387
 
popping up two days before a two-week vacation I had in México).
1388
 
<p>
1389
 
(2002.08.26)
1390
 
</blockquote>
1391
 
 
1392
 
<p>maradns-1.0.06:
1393
 
<blockquote>
1394
 
Johan is seeing stability problems with MaraDNS' authoritative
1395
 
half which MaraDNS 0.9.06 does not have; this patch essentially
1396
 
reverts the authoritative half to what MaraDNS 0.9.06 had.
1397
 
<p>
1398
 
This hopefully fixes the stability problems; I am alas in a position
1399
 
to properly test this.
1400
 
<p>
1401
 
(2002.07.30)
1402
 
</blockquote>
1403
 
 
1404
 
<p>maradns-1.0.05:
1405
 
<blockquote>
1406
 
Simple one-line change which allows MaraDNS to compile on Cygwin.  Calling
1407
 
this release a "stable" release.
1408
 
<p>
1409
 
(2002.07.28)
1410
 
</blockquote>
1411
 
 
1412
 
<p>maradns-1.1.02:
1413
 
<blockquote>
1414
 
The following improvments over MaraDNS 1.1.01:
1415
 
<ul>
1416
 
<li>All improvments made for MaraDNS 1.0.04 have been integrated in to the
1417
 
    development branch.
1418
 
<li>A bug which caused MaraDNS 1.1.01 to seg fault has been fixed
1419
 
<li>This version of MaraDNS now supports human-readable timestamps
1420
 
</ul>
1421
 
(2002.07.18)
1422
 
</blockquote>
1423
 
 
1424
 
<p>maradns-1.0.04:
1425
 
<blockquote>
1426
 
MaraDNS 1.0.03 with the following patches:
1427
 
<ul>
1428
 
<li>Jon's patch which allows any arbitrary size for the debug memory
1429
 
    allocation checking hash.
1430
 
<li>Christian's improved German translations.  
1431
 
<li>Franky's improvments to recursive.c
1432
 
<li>Richard's changes which allow MaraDNS to compile on Cygwin (again)
1433
 
</ul>
1434
 
(2002.07.14)
1435
 
</blockquote>
1436
 
 
1437
 
<p>maradns-1.1.01:
1438
 
<blockquote>
1439
 
The first (real) release of the new development tree.  This is MaraDNS
1440
 
1.0.02 with a new license (simple BSD-style license which will hopefully
1441
 
attract developers scared off by the "Public Domain opens you up to 
1442
 
lawsuits" FUD) and a newly rewritten compression engine.  
1443
 
<p>
1444
 
(2002.07.14)
1445
 
</blockquote>
1446
 
 
1447
 
<p>maradns-1.0.03:
1448
 
<blockquote>
1449
 
Franky's second release. This contains the following improvements:
1450
 
<ul>
1451
 
<li>Removed the thread limit of 125 (changed it to 500
1452
 
    because a limit is always needed)
1453
 
<li>Removed the Solaris-refuses-to-run-recursive limitation
1454
 
<li>Changed the locking scheme; all memory leaks seem to vanish using
1455
 
    the new scheme.
1456
 
<li>Fixed some minor memory leaks
1457
 
</ul>
1458
 
(2002.07.12)
1459
 
</blockquote>
1460
 
 
1461
 
<p>maradns-1.0.02:
1462
 
<blockquote>
1463
 
This is a release of my own.  This 1.0.01 with the following changes:
1464
 
<ul>
1465
 
<li>An audit was done on the decompression code.  While no exploitable
1466
 
    security problems were found, some clean up to make things more
1467
 
    consistent was done.
1468
 
<li>A patch which tells us the IP from which a packet the decompresser
1469
 
    didn't like was sent.
1470
 
<li>A patch which shows us the packet before decompressing it at a
1471
 
    sufficiently high log level.
1472
 
<li>A patch which fixes a bug when the last record in the DNS packet
1473
 
    had a rdlength of 0; the decompressor previously erroneously rejected 
1474
 
    these packets.
1475
 
</ul>
1476
 
(2002.06.30)
1477
 
</blockquote>
1478
 
 
1479
 
<p>maradns-1.0.01:
1480
 
<blockquote>
1481
 
This is Franky's first release.  Mainly, some more minor memory leaks
1482
 
plugged.
1483
 
<p>
1484
 
The only changes I made were some touch ups to the documentation, and
1485
 
added a copy of Franky's GPG key signed with the MaraDNS signing key.
1486
 
<p>
1487
 
(2002.06.26)
1488
 
</blockquote>
1489
 
 
1490
 
<p>maradns-0.5.33:
1491
 
<blockquote>
1492
 
Now that 1.0.00 is released, I am deprecating the 0.5.xx branch. 
1493
 
The only updates to this branch will be to fix bugs worth disclosing
1494
 
on Bugtraq.  In other words, security bugs.
1495
 
<p>
1496
 
If anyone wants to maintain this branch of MaraDNS, let me know.
1497
 
<p>
1498
 
This release back ports some cleanup I did with dns/Queries.c which
1499
 
also applies to the 0.5.xx branch.
1500
 
<p>
1501
 
(2002.06.21)
1502
 
</blockquote>
1503
 
 
1504
 
<p>maradns-1.0.00: (released as close to 2002's solstice as possible)
1505
 
<blockquote>
1506
 
It's here.  Happy solstice everyone!
1507
 
<p>
1508
 
MaraDNS 0.9.92 with the following patches:
1509
 
<ul>
1510
 
<li>Yet another memleak patch
1511
 
<li>Patch which properly initializes the header data structure
1512
 
<li>Franky patch (modified) to fix things up
1513
 
<li>Neale's maragen added to the tree
1514
 
</ul>
1515
 
(2002.06.21)
1516
 
</blockquote>
1517
 
 
1518
 
<p>maradns-0.9.92: (1.0 release candidate 2)
1519
 
<blockquote><p>
1520
 
MaraDNS 0.9.91 with the following patches:
1521
 
<ul>
1522
 
<li>Neale's patch which fixes a small problem in the install.sh script
1523
 
<li>Franky's patch which fixes up the locks
1524
 
<li>My patch to a possible memory leak that Franky found
1525
 
</ul>
1526
 
(2002.06.15)
1527
 
</blockquote>
1528
 
 
1529
 
<p>maradns-0.9.91: (1.0 release candidate 1)
1530
 
<blockquote><p>
1531
 
MaraDNS 0.9.39 with the following patches:
1532
 
<ul>
1533
 
<li>Franky's patch which fixes a problem with the thread locking
1534
 
    (The "Small Fix" patch)
1535
 
<li>Patch which fixes the recent rcode problems
1536
 
<li>Patch which limits the number of threads to 125
1537
 
<li>Patch which removes compile-time warnings
1538
 
<li>Patch which adds note in documtation that MaraDNS doesn't
1539
 
    handle in-bailiwick glueless NS referrals very well.
1540
 
</ul>
1541
 
(2002.06.12)
1542
 
</blockquote>
1543
 
 
1544
 
<p>maradns-0.9.39:
1545
 
<blockquote><p>
1546
 
MaraDNS 0.9.38 with the following patches:
1547
 
<ul>
1548
 
<li>Franky's patch which reworks some of the locks.  Seems to mimimize
1549
 
    the thread overlap problems.
1550
 
<li>Patch which warns us if we unlock when there is no thread locked.
1551
 
<li>Patch which plugs a memory leak in Decompress.c.
1552
 
</ul>
1553
 
(2002.06.10)
1554
 
</blockquote>
1555
 
 
1556
 
<p>maradns-0.9.38:
1557
 
<blockquote><p>
1558
 
Added code to check the pthread locking status and to exit if
1559
 
it doesn't return a sucessful exit code.
1560
 
<p>
1561
 
Removed timestamp format which allows us to see the PID; this
1562
 
was only needed for debugging purposes.
1563
 
<p>
1564
 
Added comment in the MaraDNS source explaining why 200 is 
1565
 
a reasonable maximum number of threads; that is about how
1566
 
many simutanious threads the underlying pthread library
1567
 
can handle.
1568
 
<p>
1569
 
(2002.06.08)
1570
 
</blockquote>
1571
 
 
1572
 
<p>maradns-0.9.37:
1573
 
<blockquote><p>
1574
 
This is MaraDNS 0.9.36 with the following patches:
1575
 
<ul><li>
1576
 
maradns-0.9.36.dotafter.patch: Fixes problems with the "dot after .com"
1577
 
<li>maradns-0.9.36.decompress.patch: Fixes problems decompressing
1578
 
TXT records
1579
 
<li>maradns-0.9.36.cleanup.patch: Clean up recursive code; stops 
1580
 
potential release of lock
1581
 
<li>maradns-0.9.36.bind.patch: MaraDNS now tries 10 times to bind to
1582
 
a port; should make her handle medium-to-high loads better
1583
 
<li>maradns-0.9.36.showpid.patch: Gives new option to show_timestamp
1584
 
to show the process ID.
1585
 
</ul>
1586
 
Also: Minor doc change (to document the new timestamp format); 
1587
 
updated RPM spec, changelog, and download page
1588
 
<p>
1589
 
(2002.06.07)
1590
 
</blockquote>
1591
 
 
1592
 
<p>maradns-0.9.36:
1593
 
<blockquote><p>
1594
 
The new decompression code now works.  Enabling it so people can 
1595
 
test it.
1596
 
<p>
1597
 
(2002.06.05)
1598
 
</blockquote>
1599
 
 
1600
 
<p>maradns-0.9.35:
1601
 
<blockquote><p>
1602
 
Improved RPM spec files
1603
 
<p>
1604
 
The new decompression code is finished, but is not fully debugged yet (so it
1605
 
is disabled for this release).  
1606
 
<p>
1607
 
Code cleanups which should resolve the infinite loops Franky is seeing
1608
 
<p>
1609
 
(2002.06.04)
1610
 
</blockquote>
1611
 
 
1612
 
<p>maradns-0.9.34:
1613
 
<blockquote><p>
1614
 
Yet another debug release; numerous small bug fixes and cleanups.
1615
 
MaraDNS now builds correctly when the locale of outputted messages
1616
 
is set to Spanish or German again.  A bug where MaraDNS would crash
1617
 
in a certain very unusual case has been fixed.
1618
 
<p>
1619
 
(2002.05.31)
1620
 
</blockquote>
1621
 
 
1622
 
<p>maradns-0.9.33:
1623
 
<blockquote><p>
1624
 
Another debug release; numerous small bug fixes.  The most notable
1625
 
is the plugging of what appears to be the last memory leak in
1626
 
the recursive code; hopefully all I have to do for 1.0.00 at this
1627
 
point is the new decompression code and the release candidates.
1628
 
<p>
1629
 
(2002.05.21)
1630
 
</blockquote>
1631
 
 
1632
 
<p>maradns-0.9.32:
1633
 
<blockquote><p>
1634
 
Another debug release; the code which keeps track of unallocated memory 
1635
 
has been redone.  Now memory leak tracking causes a minimum of slowdown
1636
 
when running MaraDNS; and the code works again.
1637
 
<p>
1638
 
In addition, some minor touchups have been done to the code.
1639
 
<p>
1640
 
(2002.05.19)
1641
 
</blockquote>
1642
 
 
1643
 
<p>maradns-0.9.31:
1644
 
<blockquote><p>
1645
 
Begin work on new decompression code (still using old decompression code
1646
 
until new code is complete)
1647
 
<p>
1648
 
Fixing open socket leaks in recursive code, and case-sensitivity issues 
1649
 
in the askmara code.
1650
 
<p>
1651
 
(2002.05.18)
1652
 
</blockquote>
1653
 
 
1654
 
<p>maradns-0.9.30:
1655
 
<blockquote><p>
1656
 
Another bug fix release: Fixed bug where RRs with obscenely long TTLs
1657
 
would "wrap around" and end up having a negative TTL (causing the record
1658
 
to be promptly erased from the cache).  Now the maximum TTL is two years
1659
 
long.
1660
 
<p>
1661
 
Added a little more in the way of debugging messages to try to get
1662
 
to the bottom of the temporary freeze-ups that Franky is seeing.
1663
 
<p>
1664
 
(2002.05.17)
1665
 
</blockquote>
1666
 
 
1667
 
<p>maradns-0.9.29:
1668
 
<blockquote><p>
1669
 
Bug fix release: Fix bug where hosts that were in bailiwick were, at times,
1670
 
rejected as being out of bailiwick.
1671
 
<p>
1672
 
(2002.05.15)
1673
 
</blockquote>
1674
 
 
1675
 
<p>maradns-0.9.28:
1676
 
<blockquote><p>
1677
 
Added new level of verbosity, 4, which records every time we add or remove
1678
 
a record from the cache
1679
 
<p>
1680
 
(2002.05.13)
1681
 
</blockquote>
1682
 
 
1683
 
<p>maradns-0.9.27:
1684
 
<blockquote><p>
1685
 
timestamp_type feature added; it is now easy for people
1686
 
to add new timestamp types; this seems to be a popular
1687
 
request ever since MaraDNS had added timestamps.
1688
 
<p>
1689
 
(2002.05.10)
1690
 
</blockquote>
1691
 
 
1692
 
<p>maradns-0.5.32:
1693
 
<blockquote><p>
1694
 
Backport of fixes to compression code to the 0.5.xx branch.
1695
 
<p>
1696
 
(2002.05.10)
1697
 
</blockquote>
1698
 
 
1699
 
<p>maradns-0.9.26:
1700
 
<blockquote><p>
1701
 
Hot fix: The compression code was completely broken in MaraDNS 0.9.25
1702
 
because I accidently made an integer which needs to be signed 
1703
 
unsigned.  Fixed.
1704
 
<p>
1705
 
(2002.05.09)
1706
 
</blockquote>
1707
 
 
1708
 
<p>maradns-0.9.25:
1709
 
<blockquote><p>
1710
 
Bug fix: I finally have gotten to the bottom of the compression problems
1711
 
MaraDNS was having with news.com.com; this release fixes the problems,
1712
 
hopefully once and for all.
1713
 
<p>
1714
 
I also have a document which describes some of the function calls
1715
 
the new decompression code will have.
1716
 
<p>
1717
 
(2002.05.09)
1718
 
</blockquote>
1719
 
 
1720
 
<p>maradns-0.9.24:
1721
 
<blockquote><p>
1722
 
Bug fixes: 
1723
 
<ul>
1724
 
<li>
1725
 
DNS records with a TTL of less than 30 seconds now have a
1726
 
visible TTL of 30 seconds.  This is to work around stub resolvers (such
1727
 
as Mozilla's stub resolver) which can not resolve RRs with extremely
1728
 
short TTLs.
1729
 
<li>
1730
 
Lines which are too long in mararc files now return a properly formatted
1731
 
error message.
1732
 
</ul>
1733
 
I have begun work on the new decompressor; however no changes have been
1734
 
made to the actual compression code yet.  However, there are now
1735
 
documents that specify how the new decompression will work and header
1736
 
files which the new decompression code will use.
1737
 
<p>
1738
 
(2002.05.08)
1739
 
</blockquote>
1740
 
 
1741
 
<p>maradns-0.9.23:
1742
 
<blockquote><p>
1743
 
Bug fix: The mara.startup script now points to the same file location
1744
 
as the default install.location.  Note that the startup script needs
1745
 
to be changed if moving the install location.
1746
 
<p>
1747
 
Updated spec and patch file to build RPM for the current MaraDNS
1748
 
build; it has been too long since the last RPM release.
1749
 
<p>
1750
 
Trivia: Cinco de Mayo celebrates a battle that Mexico won in 1862
1751
 
in Puebla, Mexico (I visited the site of the battle several times
1752
 
when I was down there; it is a beautiful eucalyptus forest, having a 
1753
 
beautiful fountain and planetarium) against the French.  As it turned out, 
1754
 
the French won the war, but Mexico won that one battle, which has been 
1755
 
celebrated since then.  Also, with the exception of Puebla, Cinco de 
1756
 
Mayo is not a big holiday in Mexico; only in the US.
1757
 
<p>
1758
 
(2002.05.05; Cinco de Mayo)
1759
 
</blockquote>
1760
 
 
1761
 
<p>maradns-0.9.22:
1762
 
<blockquote><p>
1763
 
Created list of issues to be resolved before the 1.0 release of MaraDNS;
1764
 
once these are done, I will start a 0.99.x branch; which I will
1765
 
publically announce.
1766
 
<p>
1767
 
Added kludge to work around unreproducable problems where the
1768
 
compressor can not always compress a DNS packet
1769
 
<p>
1770
 
Added link to glassary entries in the tutorial every time the
1771
 
tutorial intoduces a new term.
1772
 
<p>
1773
 
(2002.05.04)
1774
 
</blockquote>
1775
 
 
1776
 
<p>maradns-0.9.21:
1777
 
<blockquote><p>
1778
 
Fixed bug where the minimum TTL for CNAME entires could not be
1779
 
separately set.
1780
 
<p>
1781
 
Added stub resolver which generates unix timestamps as bogus A
1782
 
records; used for testing.
1783
 
<p>
1784
 
Added FAQ entry about MaraDNS' time stamp format.
1785
 
<p>
1786
 
(2002.05.02)
1787
 
</blockquote>
1788
 
 
1789
 
<p>maradns-0.9.20:
1790
 
<blockquote><p>
1791
 
Changed udperror so that it will tell us from where udperror was called;
1792
 
this will hopefully help me fix the news.com.com problems MaraDNS is
1793
 
having.
1794
 
<p>
1795
 
Added time stamp
1796
 
to some logged requests and added source IP
1797
 
logging.
1798
 
<p>
1799
 
Added the ability for a remote query to get MaraDNS' internal timestamp;
1800
 
this is only enabled at obscenely high levels of debug_msg_level, since
1801
 
it is a security risk (there are attacks which are more effective if we
1802
 
know the target's clock value).
1803
 
<p>
1804
 
Minimum TTL and Minimum TTL for CNAME records is now user-customizable.
1805
 
<p>
1806
 
(2002.04.24)
1807
 
</blockquote>
1808
 
 
1809
 
<p>maradns-0.9.19:
1810
 
<blockquote><p>
1811
 
Added download.html to maradns.org web pages which are converted here;
1812
 
this allows the pages which change most frequently on maradns.org to
1813
 
be changed offline.
1814
 
<p>
1815
 
Added FAQ Q&amp;A about a problem that someone was having; hopefully the
1816
 
next user with the problem will be able to use this information.
1817
 
<p>
1818
 
Added incomplete ej2dbk converter which converts from ej to docbook.
1819
 
This is incomplete; after MaraDNS 1.0 I will add code which closes open
1820
 
tags and what not so the generated docbook is 100% legal.
1821
 
<p>
1822
 
(2002.04.16)
1823
 
</blockquote>
1824
 
 
1825
 
<p>maradns-0.9.18:
1826
 
<blockquote><p>
1827
 
Fixed a bug in askmara where non-ASCII characters were not properly replaced
1828
 
by escape sequences.
1829
 
<p>
1830
 
Updated EJ documentation tools so that they can now generate webpages
1831
 
in the same format as the web pages on www.maradns.org.
1832
 
<p>
1833
 
(2002.03.25)
1834
 
</blockquote>
1835
 
 
1836
 
<p>maradns-0.9.17:
1837
 
<blockquote><p>
1838
 
Added a minor new feature (since it was trivial to add, and since it is a
1839
 
feature which greatly expands the functionality that MaraDNS has): 
1840
 
<tt>upstream_servers</tt>.  This allows MaraDNS to be used to contact
1841
 
other recursive servers when run in recursive mode.
1842
 
<p>
1843
 
Further bugfixing and revision of the debug.hostname tool; it now will 
1844
 
not get stuck in endless loops trying to resolve a given hostname.
1845
 
<p>
1846
 
(2002.03.14)
1847
 
</blockquote>
1848
 
 
1849
 
<p>maradns-0.9.16:
1850
 
<blockquote><p>
1851
 
Converted encoding of all files in the MaraDNS source tree from ISO 8859-1
1852
 
to UTF-8 (with the exception of one file in the utf8 directory which is
1853
 
<i>supposed</i> to be ISO 8859-1 data).  Fixed EJ tools so that they can work 
1854
 
on a current (as of early 2002;
1855
 
RedHat 7.2) Linux system using the UTF-8 encoding without undue hassle.
1856
 
<p>
1857
 
Fixed bug in debug.hostname where it would not resolve host names in certain
1858
 
circumstances.
1859
 
<p>
1860
 
(2002.03.12)
1861
 
</blockquote>
1862
 
 
1863
 
<p>maradns-0.9.15:
1864
 
<blockquote><p>
1865
 
Added '-n' option to askmara so askmara can send the same kinds of DNS
1866
 
queries that recursive DNS servers send out (DNS queries that do not ask
1867
 
for recursion)
1868
 
<p>
1869
 
Fixed bug where 'make install' would overwrite /etc/rc.d/init.d/maradns
1870
 
<p>
1871
 
Changed maxprocs limit to 200 and made it so exceeding maxprocs does not
1872
 
cause MaraDNS to stop; instead maxprocs is reset to 200.
1873
 
<p>
1874
 
(2002.03.06)
1875
 
</blockquote>
1876
 
 
1877
 
<p>maradns-0.9.14:
1878
 
<blockquote><p>
1879
 
Rewrote debug.hostname tool; this will allow me to set up the testbed
1880
 
to find the more obscure MaraDNS bugs.
1881
 
<p>
1882
 
(2002.03.03)
1883
 
</blockquote>
1884
 
 
1885
 
<p>maradns-0.9.13:
1886
 
<blockquote><p>
1887
 
Fixed bug where debug_msg_level could only be changed if recursion was
1888
 
enabled.
1889
 
<p>
1890
 
Changed stress testing simulation to simulate network lag in processing
1891
 
DNS replies.
1892
 
<p>
1893
 
Made maxprocs have a hard limit of 100; making maxprocs have a value of 400
1894
 
results in MaraDNS hanging on Linux systems.
1895
 
<p>
1896
 
(2002.02.25)
1897
 
</blockquote>
1898
 
 
1899
 
<p>maradns-0.9.12:
1900
 
<blockquote><p>
1901
 
Cleanups performed so that all files to be audited to be compiled with
1902
 
-Wall enabled without generating any warnings.
1903
 
<p>
1904
 
Fixed ej2txt so that it no longer generates utf-8 quotes.
1905
 
<p>
1906
 
(2002.02.19)
1907
 
</blockquote>
1908
 
 
1909
 
<p>maradns-0.9.11:
1910
 
<blockquote><p>
1911
 
Fixed bug where CNAME records obtained from the cache would not work
1912
 
with stub resolvers, since the code changed the question in the question
1913
 
section of the reply.
1914
 
<p>
1915
 
'make debug' now works again.
1916
 
<p>
1917
 
(2002.02.11)
1918
 
</blockquote>
1919
 
 
1920
 
<p>maradns-0.9.10:
1921
 
<blockquote><p>
1922
 
Fixed bug of case where there is a CNAME record, and something happened
1923
 
when trying to get an A record for the CNAME record.  Previously, MaraDNS
1924
 
would think the CNAME record had no A record until the CNAME record was
1925
 
purged from the cache.  Now, MaraDNS is smart enough to store CNAME
1926
 
records with an A record of "a 'no such host' reply was found when we 
1927
 
looked for an A record"; and CNAME records without any corresponding A
1928
 
record only stay in the cache for 30 seconds.
1929
 
<p>
1930
 
If data is already in the cache for a given record, and the data has not
1931
 
expired, then there is no need to spawn a thread to process the record;
1932
 
now MaraDNS no longer does this.  This should result in greater stability
1933
 
and less memory usage, since many operating systems do threads poorly.
1934
 
<p>
1935
 
askmara now can have a user-defined timeout
1936
 
<p>
1937
 
compile flags changed from -g to -O2
1938
 
<p>
1939
 
(2002.02.11)
1940
 
</blockquote>
1941
 
 
1942
 
<p>maradns-0.9.09:
1943
 
<blockquote><p>
1944
 
Added data_structures.ej document, which describes the internal data
1945
 
structures that MaraDNS uses.
1946
 
<p>
1947
 
Updated the mararc man page to describe the new debug_msg_level 
1948
 
variable
1949
 
<p>
1950
 
Added files needed to make MaraDNS RPM files in the build/ directory.
1951
 
<p>
1952
 
(2002.01.27)
1953
 
</blockquote>
1954
 
 
1955
 
<p>maradns-0.9.08:
1956
 
<blockquote><p>
1957
 
Fixed another bug in the ej2man script; it now correctly zaps blockquotes
1958
 
inside ul.../ul lists.
1959
 
<p>
1960
 
Made changelog an ej-compatible document; this allows the changelog
1961
 
to be an ASCII text file instead of an HTML file which a lot of
1962
 
UNIX-heads will prefer.
1963
 
<p>
1964
 
Verified that MaraDNS 0.9.07 compiles on Darwin (a.k.a. Mac OS X) "out of
1965
 
the box"; this means that MaraDNS now compiles "out of the box" on
1966
 
Solaris; Linux; and Darwin.  It also <i>should</i> compile on Cygwin; alas
1967
 
I do not have a working cygwin setup to verify this on.  Between these four
1968
 
OSes, we cover all of the major flavors of UNIX: Linux is a little
1969
 
of everything; Solaris is a "System V" UNIX; Darwin is a BSD UNIX clone;
1970
 
and Cygwin is a pure POSIX implementation.
1971
 
<p>
1972
 
(2002.01.25)
1973
 
</blockquote><p>
1974
 
 
1975
 
<p>maradns-0.9.07:
1976
 
<blockquote><p>
1977
 
Added new runtime parameter which can be seen when debug messages are 
1978
 
enabled: The number of elements in the DNS cache.
1979
 
<p>
1980
 
Added Makefile template which is a generate Makefile for systems which
1981
 
do not have flock() support; make this Makefile the default
1982
 
Makefile (instead of the Linux Makefile).
1983
 
<p>
1984
 
(2002.01.24)
1985
 
</blockquote><p>
1986
 
 
1987
 
<p>maradns-0.9.06:
1988
 
<blockquote><p>
1989
 
Fixed bug in maradns startup script where the script would not correctly
1990
 
restart the MaraDNS processes.
1991
 
<p>
1992
 
New mararc parameter added: debug_msg_level; this sets the level of 
1993
 
information we can get about a running MaraDNS process by sending special
1994
 
DNS queries to MaraDNS.
1995
 
<p>
1996
 
(2002.01.23)
1997
 
</blockquote><p>
1998
 
 
1999
 
<p>maradns-0.9.05:
2000
 
<blockquote><p>
2001
 
Revamping of the build process; placing most build-related files in a 
2002
 
directory named "build"; MaraDNS now compiles and installs cleanly on
2003
 
Solaris; MaraDNS now has a system startup script which MaraDNS invokes at
2004
 
system startup time.
2005
 
<p>
2006
 
(2002.01.21)
2007
 
</blockquote><p>
2008
 
 
2009
 
<p>maradns-0.9.04:
2010
 
<blockquote><p>
2011
 
Another documentation fix.  Added new EJ tag: DTWIDTH
2012
 
<p>
2013
 
This version now compiles on Solaris; and should compile on Darwin.
2014
 
<p>
2015
 
(2002.01.18)
2016
 
</blockquote><p>
2017
 
 
2018
 
<p>maradns-0.9.03:
2019
 
<blockquote><p>
2020
 
Integrated Christian's spelling corrections and German translations in
2021
 
to the MaraDNS documentation.
2022
 
<p>
2023
 
Minor bugfixes with the ej2man script.
2024
 
<p>
2025
 
(2002.01.17)
2026
 
</blockquote><p>
2027
 
 
2028
 
<p>maradns-0.9.02:
2029
 
<blockquote><p>Document reorganization: MaraDNS now uses a new document format, EJ
2030
 
(which I created myself for MaraDNS documentation usage), which can
2031
 
be converted in to HTML documents, text documents, or in to man page
2032
 
sources.  By having a stramlined documentation format, MaraDNS' 
2033
 
documentation will be easier to manage, and easier to translate.
2034
 
<p>
2035
 
Since the ej format allows other files to be embedded in documents,
2036
 
this eliminates having to revise multiple versions of the same document
2037
 
<p>
2038
 
(2002.01.16)
2039
 
</blockquote><p>
2040
 
 
2041
 
<p>maradns-0.5.31:
2042
 
<blockquote><p>
2043
 
Backporting of compression security patch to the MaraDNS 0.5.xx branch.
2044
 
<p>
2045
 
(2002.01.10)
2046
 
</blockquote><p>
2047
 
 
2048
 
<p>maradns-0.9.01:
2049
 
<blockquote><p>
2050
 
Fixed security problem with the compression code which I found when
2051
 
performing an audit on the code.  Other cleanup of the compression
2052
 
code.
2053
 
<p>
2054
 
Updated the French documentation.
2055
 
<p>
2056
 
Added some more information to the MaraDNS tutorial.
2057
 
<p>
2058
 
Added (currently untested) Darwin (a.k.a. MacOS X) support.
2059
 
<p>
2060
 
(2002.01.10)
2061
 
</blockquote><p>
2062
 
 
2063
 
<p>maradns-0.9.00:
2064
 
<blockquote><p>
2065
 
Plugged some memory leaks in the recursive code.
2066
 
<p>
2067
 
Added Thomas Seyrat's French translation of the documentation
2068
 
<p>
2069
 
Completed the tutorial
2070
 
<p>
2071
 
Fixed bug where the zoneserver needed the mararc file specified to start.
2072
 
<p>
2073
 
Updated documentation
2074
 
<p>
2075
 
(2002.01.06)
2076
 
</blockquote><p>
2077
 
 
2078
 
<p>maradns-0.8.99a:
2079
 
<blockquote><p>
2080
 
OK, so I was wrong about the first post-0.8.99 release being MaraDNS
2081
 
0.9.00.
2082
 
<p>
2083
 
This is simply MaraDNS 0.8.99 with a 2-line patch which fixes a problem where
2084
 
MaraDNS 0.8.99 would crash.
2085
 
<p>
2086
 
(2001.12.17)
2087
 
</blockquote><p>
2088
 
 
2089
 
<p>maradns-0.8.99:
2090
 
<blockquote><p>
2091
 
Since I found a some security problems when working on the 
2092
 
MaraDNS-0.9.00 release, I am making this release available
2093
 
which appears to addresses the security problems.
2094
 
<p>
2095
 
Changes since 0.8.35:
2096
 
<UL>
2097
 
<LI> Jaakko's patch, in a modified form, has been applied.  
2098
 
<LI> Documentation touchups.  
2099
 
<LI> Askmara timeout increased.  
2100
 
<LI> Solaris recursive support dropped until I can get my hands on my 
2101
 
     Solaris CDs (and a PC to install Solaris on) in January (Solaris still
2102
 
     has bugs which do not exist in Linux). 
2103
 
<LI> Updated test bed to handle NS referrals which point nowhere
2104
 
<LI> Found and fixed a bug where MaraDNS would not close UDP connections
2105
 
     when sendto returned an error
2106
 
<LI> Fixed a problem that mhash_put_data had, where the DNS cache could become
2107
 
     inconsistant in certain circumstances.
2108
 
<LI> Fixed two other spots in recursive.c (in two of the add_closer routines)
2109
 
     which could have potentially caused inconsistant data in the cache.
2110
 
<LI> Got remove.rng to work again.
2111
 
</UL>
2112
 
<p>
2113
 
I have changed the version number to maradns-0.8.99 to 
2114
 
reflect the fact that the next release will almost certaintly be
2115
 
MaraDNS 0.9.00.
2116
 
<p>
2117
 
(2001.12.08)
2118
 
</blockquote><p>
2119
 
 
2120
 
<p>maradns-0.8.35:
2121
 
<blockquote><p>
2122
 
Made the stress tests in sqa/testbed more extensive; they now crash 
2123
 
recursive MaraDNS versions up to and including 0.8.33.
2124
 
<p>
2125
 
Found and plugged some memory leaks that MaraDNS had.
2126
 
<p>
2127
 
Verified that MaraDNS can handle the stress tests--MaraDNS was able
2128
 
to handle 80.000 queries without crashing, and without growing
2129
 
after 10.000 or so queries were processed.
2130
 
<p>
2131
 
(2001.11.17)
2132
 
</blockquote><p>
2133
 
 
2134
 
<p>maradns-0.8.34:
2135
 
<blockquote><p>
2136
 
Found and removed another crash-inducing bug.
2137
 
<p>
2138
 
Modified <TT>askmara</TT> so that it generates somewhat
2139
 
csv1-compatible output.  Also modified the <TT>debug.hostname</TT> tool
2140
 
so that it can handle the new askmara output.
2141
 
<p>
2142
 
(2001.11.16)
2143
 
</blockquote><p>
2144
 
 
2145
 
<p>maradns-0.8.33:
2146
 
<blockquote><p>
2147
 
Yipee!  No, I'm not talking about the fact that the evil Taliban
2148
 
are no longer in control of Kabul.  I am talking about the fact that
2149
 
I found and removed another crasher bug in MaraDNS.
2150
 
<p>
2151
 
I hope that this is the last crasher bug.  Time to cross my fingers.
2152
 
<p>
2153
 
(2001.11.13)
2154
 
</blockquote><p>
2155
 
 
2156
 
<p>maradns-0.8.32:
2157
 
<blockquote><p>
2158
 
This is the third beta test candidate for the recursive MaraDNS, since
2159
 
people are reporting serious stability problems with MaraDNS 0.8.30 and
2160
 
MaraDNS 0.8.31.  While I am unable to reporduce the problems offline,
2161
 
I was able to reproduce the problem online (but only intermittently), and 
2162
 
found some iffy-looking code which may be the root of the problem.  
2163
 
<p>
2164
 
This program passes all offline stress tests.
2165
 
<p>
2166
 
Also added an entry to the FAQ which answers an unrelated question 
2167
 
posted to the mailing list, and added the changelog to the list of files
2168
 
placed in the MaraDNS doc directory when a 'make install' is performed.
2169
 
<p>
2170
 
(2001.11.13)
2171
 
</blockquote><p>
2172
 
 
2173
 
<p>maradns-0.8.31:
2174
 
<blockquote><p>
2175
 
This is the second beta test candidate for the recursive MaraDNS, since
2176
 
I found some bugs after releasing MaraDNS 0.8.30.  See the release notes
2177
 
for MaraDNS 0.8.30 for more on the beta starus of MaraDNS.
2178
 
<p>
2179
 
Looking through the source code of the revamped hash structure, I found
2180
 
a routine which was not revamped.  This would cause a bug in the case
2181
 
of having two or more zone files which happen to hash to the same 
2182
 
value--only one of the zone files would load.  Fixed.  I also deleted
2183
 
some routines which were based on the old hash structure.
2184
 
<p>
2185
 
I have modified MaraDNS so the csv1 hash no longer needs to be 
2186
 
initialized, since the csv1 hash does nothing but waste memory in 
2187
 
recursive-only MaraDNS configurations.
2188
 
<p>
2189
 
I have added another parameter: timeout_seconds, which is how long to wait
2190
 
for a remote DNS server to reply.  This is mainly useful for slow
2191
 
networks which need more than two seconds to get a reply from a DNS
2192
 
server.  Note that the larger this is, the slower MaraDNS answers queries
2193
 
when a DNS server doesn't respond to DNS requests.
2194
 
<p>
2195
 
In addition, I have begun work on the tutorial, which currently
2196
 
describes how to use MaraDNS in recursive mode, and gives an overview
2197
 
of DNS.
2198
 
<p>
2199
 
(2001.11.12)
2200
 
</blockquote><p>
2201
 
 
2202
 
<p>maradns-0.8.30:
2203
 
<blockquote><p>
2204
 
This is a beta test candidate for the recursive version of MaraDNS.  Which
2205
 
means that the only changes I will make between now and the first beta
2206
 
release are essential bug fixes (e.g. bugs not mentioned in the man page),
2207
 
and a basic DNS tutorial, since I have received two emails of the
2208
 
form "I don't know how to do this DNS stuff, and could use some help".
2209
 
<p>
2210
 
The bad news is that, because of the excess of greedy lawyers in the US, I
2211
 
have added the legal disclaimer to all of the man pages for MaraDNS, and,
2212
 
in addition, the legal disclaimer appears when MaraDNS is started.
2213
 
<p>
2214
 
The good news is that it is possible to have MaraDNS not show the legal
2215
 
disclaimer when opening up; MaraDNS tells you how to do this when showing the
2216
 
disclaimer.
2217
 
<p>
2218
 
The better news is that I have done a major revamping of the MaraHash 
2219
 
structure.  This structure is a structure that can both handle records 
2220
 
being added, and being removed from the hash.  MaraDNS, as far as I can
2221
 
tell from my offline tests, is now a great deal more stable as a result.
2222
 
<p>
2223
 
In addition, I found another memory leak in the recursive code, which I
2224
 
have plugged.
2225
 
<p>
2226
 
I have also performed some more documentation touch-ups.
2227
 
<p>
2228
 
(2001.11.10)
2229
 
</blockquote><p>
2230
 
 
2231
 
<p>maradns-0.8.29:
2232
 
<blockquote><p>
2233
 
OK, this is a "band-aid" release of MaraDNS.  As I was debugging the problem
2234
 
with MaraDNS crashing with the new custodian, I discovered that the hash
2235
 
code is fundamentally broken.  Hence, I need to a major revamp to the
2236
 
hash code.  In short, the hash needs to have each hash spot point to
2237
 
a linked list of elements.
2238
 
<p>
2239
 
In the meantime, I performed a band-aid fix to the hash that,
2240
 
while not fixing the problem, makes the problem slightly less bothersome.
2241
 
This is an interim release until I can really fix the problem this
2242
 
weekend.
2243
 
<p>
2244
 
Updated the FAQ to reflect the slightly changed procedure for joinging the
2245
 
MaraDNS mailing list ("subscribe" now has to be in the subject line when
2246
 
one wants to join the list).
2247
 
<p>
2248
 
(2001.11.08)
2249
 
</blockquote><p>
2250
 
 
2251
 
<p>maradns-0.8.28:
2252
 
<blockquote><p>
2253
 
I fixed a bug in the fila-handling code where chains of records were not
2254
 
being correctly put at the top of the list.
2255
 
<p>
2256
 
I am still receiving reports that MaraDNS freezes up after running for
2257
 
a while.  I am unable to reproduce this problem.  I have carefully checked 
2258
 
the recursive code for potential deadlocks, finding none.
2259
 
<p>
2260
 
I suspect that there is a certain query which causes thie problem.
2261
 
Theirfore, I have added the ability for MaraDNS to log all queries she
2262
 
receives in human-readable format if verbose_level is three or higher.
2263
 
<p>
2264
 
While this results in some really huge logs, this will hopefully allow
2265
 
me to pin down exactly which query causes MaraDNS to lock up, allowing me
2266
 
to see where MaraDNS locks up, allowing me to resolve the issue.
2267
 
<p>
2268
 
(2001.10.31)
2269
 
</blockquote><p>
2270
 
 
2271
 
<p>maradns-0.8.27:
2272
 
<blockquote><p>
2273
 
I have added a lot of code which creates a circular linked list.  This
2274
 
circular linked list is used by the custodian to erase elements from
2275
 
the cache which have not been recently accessed.
2276
 
<p>
2277
 
The psudo-random number generator has been renamed to 'rng', and modified
2278
 
to be a hash-only primitive.  MaraDNS no longer has any code which can be 
2279
 
directly used for cryptographic purposes.  Of course, the compression
2280
 
function of the hash/prng is invertable, and can be used as a stream cipher,
2281
 
but such is the case for all secure hash functions and secure PRNGs.
2282
 
<p>
2283
 
Added a list of features I will not add to the 1.x release of MaraDNS to
2284
 
the MaraDNS man page.
2285
 
<p>
2286
 
The default max_glueless_level is now 10, because some real-world hosts
2287
 
need a max_glueless_level this high.
2288
 
<p>
2289
 
(2001.10.31)
2290
 
</blockquote><p>
2291
 
 
2292
 
<p>maradns-0.8.26:
2293
 
<blockquote><p>
2294
 
I have updated the 0QuickStart file to be current with the present
2295
 
state of MaraDNS.
2296
 
<p>
2297
 
The Linux makefile now supports "make debug", useful for making a build
2298
 
with verbose debugging output.
2299
 
<p>
2300
 
Now that I have some decent *roff documentation, I have done some 
2301
 
improvments to the formatting of the man pages.  Not only do the man pages
2302
 
look a little more attractive on the tty terminal, the man pages also
2303
 
look good when made postscript man pages (troff -man -Tps foo.1 > foo.ps).
2304
 
<p>
2305
 
In addition, since the -man macros are not documented anywhere on the 
2306
 
internet, I have somewhat deciphered the tmac.an macro set, and written
2307
 
up some documentation describing all of the -man macros.
2308
 
(2001.10.15)
2309
 
</blockquote><p>
2310
 
 
2311
 
<p>maradns-0.8.25:
2312
 
<blockquote><p>
2313
 
I have done an audit and an overhaul of how MaraDNS calls locks in the
2314
 
recursive code.  Hopefully, this will resolve the issues with MaraDNS
2315
 
freezing after running for a few days.  
2316
 
<p>
2317
 
In addition, the recursive resolver now is better able to handle
2318
 
instances where a NS record points to a list of IPs.
2319
 
<p>
2320
 
More documentation updates.  The man page for maradns now has a guide on
2321
 
how to set up a firewall to allow maradns packets through, and a list of 
2322
 
known issues where MaraDNS breaks the DNS spec.
2323
 
<p>
2324
 
The crypto-emasculated version of MaraDNS no longer binds the source port
2325
 
of outgoing UDP queries.  This is because the underlying OS may generate
2326
 
secure source port numbers when the source port is not specified in the
2327
 
application.
2328
 
<p>
2329
 
(2001.10.12)
2330
 
</blockquote><p>
2331
 
 
2332
 
<p>maradns-0.8.24:
2333
 
<blockquote><p>
2334
 
I have created a tool, called <TT>debug.hostname</TT> in the tools directory,
2335
 
which gives a very verbose trace trying to look up a given hostname.  
2336
 
This will hopefully help me to debug and fix problematical hostnames.
2337
 
<p>
2338
 
I have also created a tool, called <TT>faq2man</TT> which converts
2339
 
the HTML faq in to a format suitable for embedding in to a man page.
2340
 
This makes the FAQ section of the MaraDNS man page more attractive
2341
 
<p>
2342
 
I have made the maximum glueless level user-configurable, since it looks
2343
 
like some hosts do not resolve with the old hard-wired default of 4.  I
2344
 
have also made the maximum number of queries performed total in a 
2345
 
recursive lookup user-configurable
2346
 
<p>
2347
 
I have added more helpful error messages which tell the user what to
2348
 
fix in their mararc file if MaraDNS can not initialize the DNS cache or
2349
 
the random number seed.  The init_cache() and init_crypto()
2350
 
failed error messages should not be visible any more.
2351
 
<p>
2352
 
Documentation update:  There is now a man page description of the mararc 
2353
 
file.  The CREDITS and FAQ files have been updated, in addition to almost 
2354
 
all man pages.  For example, I have gotten rid of the two or three pages
2355
 
of ugly troff syntax that Perl's pod2man program generates in the Man pages
2356
 
which had this.
2357
 
<p>
2358
 
<TT>make</TT> run without <TT>./configure</TT> now works again.
2359
 
<p>
2360
 
Since MaraDNS used to act in a different manner than Python 1.5.2 with
2361
 
respect to multiple declations of the same index of the same dictionary
2362
 
variable, I have changed MaraDNS so that she exits with a fatal error
2363
 
should this occur, showing the user the line with the problem.
2364
 
<p>
2365
 
Made the error message which pops up when a csv1 zone file pointer is
2366
 
incorrectly formatted more helpful.
2367
 
<p>
2368
 
There was a minor security weakness with the PRNG which would pop up if 
2369
 
the seed was a fixed file, two copies of MaraDNS used the same seed
2370
 
file, and the two files were started at the same time.  This has been fixed.  
2371
 
The seed is now exclusive-ored with the process ID before generating numbers.
2372
 
<p>
2373
 
More trimming of unused routines in the AES code.  The AES code now only
2374
 
supports encryption with a 128-bit key and block size in ECB mode--the
2375
 
only way we use AES in MaraDNS.
2376
 
<p>
2377
 
For people who can not legally have any kind of cryptography in their
2378
 
code (French citizens, etc.), there is now a script in the <TT>tools</TT>
2379
 
directory, <TT>remove.aes</TT> which removes all crypto code.  Note that, 
2380
 
while the main MaraDNS suite will still compile after running this, some 
2381
 
programs in the <TT>tools/misc</TT>, <TT>test</TT> and <TT>sqa</TT> 
2382
 
directories will no longer compile. <TT>make</TT> still works, of 
2383
 
course.  Note that removing this code does make MaraDNS more suspectable 
2384
 
to a spoofing attack. 
2385
 
<p>(2001.10.08)
2386
 
</blockquote><p>
2387
 
 
2388
 
<p>maradns-0.8.23:
2389
 
<blockquote><p>
2390
 
Star records which point to CNAMEs are now completely supported.
2391
 
<p>
2392
 
Christophe Colle pointed out that the reason MaraDNS was leaking memory 
2393
 
when making threads on Solaris was because MaraDNS was not using 
2394
 
pthread_attr_destroy.  Hopefully, adding this will make MaraDNS
2395
 
<i>not</i> leak on Solaris.
2396
 
<p>
2397
 
Improvment to the "make install" process:  The default configuration
2398
 
looks for local man pages in <tt>/usr/local/share/man</tt> if 
2399
 
<tt>/usr/local/man</tt> doesn't exist.  This is to get around some
2400
 
Linux distributions which don't have <tt>/usr/local/man</tt>
2401
 
<p>
2402
 
Minor security tweak to the routine that generates the 16-bit secure
2403
 
psudo-random number.
2404
 
<p>
2405
 
The AES hasher now correctly generates a 128-version of the hash specified
2406
 
in Bram Cohen's proposed AES hash standard.  Thanks to Bram for providing
2407
 
test vectors for the 256-version of the hash.
2408
 
<p>
2409
 
maradns --version now also includes the build system and date
2410
 
<p>
2411
 
(2001.09.27)
2412
 
</blockquote><p>
2413
 
 
2414
 
<p>maradns-0.5.30:
2415
 
<blockquote><p>
2416
 
Two bugs have been fixed: A bug where a UDP error message normally did
2417
 
not have the correct query ID, and a bug where, in certain cases, MaraDNS
2418
 
would return a UDP error instead of a SOA "not there" reply.
2419
 
<p>
2420
 
Also, the documentation has been updated. (2001.09.25)
2421
 
</blockquote><p>
2422
 
 
2423
 
<p>maradns-0.8.22:
2424
 
<blockquote><p>
2425
 
Document reorganization: I am starting to move the formats of the data files
2426
 
to separate man pages.  This will make each man page smaller and more
2427
 
convenient to use.
2428
 
<p>
2429
 
Improved CNAME support: MaraDNS now has partial support for star records
2430
 
that point to a CNAME.
2431
 
<p>
2432
 
Less code in the aes directory: I now have a program which generates the
2433
 
AES tables during the build process, since the code to generate those
2434
 
tables is a good deal smaller than the tables themselves.  There is no
2435
 
slowdown, since it is a one-time calculation done during the build process.
2436
 
<p>
2437
 
maradns --version (and zoneserver --version) now do the right thing:
2438
 
Print out the version number and exit
2439
 
<p>
2440
 
The installer now removes the zoneserver and the maradns server before
2441
 
installing the new ones to get around the "text file busy" problem.
2442
 
<p>
2443
 
There was a subtle bug with returning "not there" SOA replies and
2444
 
case insensitivity.  This bug has now been fixed.  This bugfix also
2445
 
needs to be folded back in to the 0.5.xx branch.
2446
 
<p>
2447
 
It is now possible to change the class of the query with the getzone client
2448
 
if possible.  Next: Document this new feature. (2001.09.24)
2449
 
</blockquote><p>
2450
 
 
2451
 
<p>maradns-0.8.21:
2452
 
<blockquote><p>
2453
 
<p>
2454
 
First, the bad news.
2455
 
<p>
2456
 
There is a known issue with MaraDNS having memory leaks when used as a 
2457
 
recursive nameserver on the Solaris operating system.  This problem
2458
 
does not exist in Linux.  Since I do not have ready access to a Solaris 
2459
 
box to develop on, I can not resolve this issue.  Until a Solaris developer
2460
 
steps up to bat and fixes this for me, I am forced to disable recursive DNS 
2461
 
serving under Solaris.
2462
 
<p>
2463
 
I should have ready access to a Solaris again in December,
2464
 
when I return to the United States.  I have CDs of Solaris eight up
2465
 
there, in addition to friends with Solaris boxes.
2466
 
<p>
2467
 
Now, the good news.
2468
 
<p>
2469
 
I have updated the example mararc files to be consistant with the
2470
 
documentation.  In particular, I now have two "out of the box" working
2471
 
mararc files.  One for authoritative name serving, and another for 
2472
 
recursive nameserving.
2473
 
<p>
2474
 
I have also updated the installer script to return an error if the 
2475
 
directories to put the MaraDNS files in do not exist.  In addition,
2476
 
MaraDNS will install all of the MaraDNS documentation in the directory
2477
 
specified by the variable DOCS in install.locations.
2478
 
<p>
2479
 
Finally, I have updated the FAQ, the man pages, the mararc.format 
2480
 
documentation, and am working on making separate man pages which describe 
2481
 
csv1 zone files and the mararc file. (2001.09.20)
2482
 
</blockquote><p>
2483
 
<p>maradns-0.8.20:
2484
 
<blockquote><p>
2485
 
When doing some tests with the AES engine in MaraDNS, I found that
2486
 
I inadvertently created a minor security problem w.r.t. ASCII nulls in 
2487
 
the AES key.  Basically, an "out of the box" MaraDNS configuration had
2488
 
a 1 in 16 chance of the aes key not having a full 128 bits of entropy.
2489
 
<p>
2490
 
I also corrected a minor fault in the aes128 hasher (it
2491
 
did not previously fully follow the spec, since it counted bytes, not bits),
2492
 
a minor fault with the top-level Makefile (which did not clean up
2493
 
tools/misc with a make clean), and did some minor manpage clean-up.
2494
 
(2001.09.18)
2495
 
</blockquote><p>
2496
 
 
2497
 
<p>maradns-0.8.19:
2498
 
<blockquote><p>
2499
 
Updated the CREDITS file.  If you have contributed to MaraDNS in any way,
2500
 
no matter how small, and are not in this file, please let me know so I can
2501
 
credit you.
2502
 
<p>
2503
 
Removed references to routines in the aes/ directory which 
2504
 
MaraDNS and aes128 do not use.  The aes code is now encrypt-only.
2505
 
<p>
2506
 
Added a test, based on Brian Gladman's AES reference code, which verified
2507
 
that the AES routines are working correctly.
2508
 
<p>
2509
 
Some cleanup, corrections, and revisions of the man pages.  I figured out
2510
 
how to turn off hyphenation and justifaction for man pages, and have hence
2511
 
disabled these in all of the MaraDNS man pages.
2512
 
<p>
2513
 
Streamlining of the build process: <TT>./configure; make; make install</TT>
2514
 
now does "the right thing".  In addition, <TT>make uninstall</TT> also
2515
 
automagically does the right thing.
2516
 
<p>
2517
 
<STRONG>Important:</STRONG> <TT>make install</TT>
2518
 
now, by default, installs files in <TT>/usr/local/sbin</TT>, 
2519
 
<TT>/usr/local/bin</TT>, and man pages in <TT>/usr/local/man</TT>.  If one
2520
 
has previous installs of MaraDNS in other locations, please change the 
2521
 
<TT>install.sh</TT> script to the desired location of the MaraDNS files.
2522
 
(2001.09.17)
2523
 
</blockquote><p>
2524
 
 
2525
 
<p>maradns-0.8.18:
2526
 
<blockquote><p>
2527
 
Added code which keeps track of allocated memory, allowing me to hunt down
2528
 
and eliminate memory leaks.  Found four memory leaks in the recursive code:
2529
 
<UL>
2530
 
<LI> in_bailiwick did not properly destroy the tempory string "get"
2531
 
<LI> When a
2532
 
negative answer was given, query_nameserver did not correctly deallocate
2533
 
some temporary strings 
2534
 
<LI> recurse_call did not correctly deallocate the temporary string used 
2535
 
for glueless queries
2536
 
<LI> The code that set up the root nameservers in the cache had two strings
2537
 
which were used to help set up the root nameservers.  This strings were not
2538
 
deallocated after being used.  This was a one-time, and not continuous, leak.
2539
 
</UL>
2540
 
(2001.09.15)
2541
 
</blockquote><p>
2542
 
 
2543
 
<p>maradns-0.8.17:
2544
 
<blockquote><p>
2545
 
Incorperated a modified form of Franky's patch which adds the max_tcp_procs
2546
 
kvar to the program.  Added some non-DNS releated tools to the "tools" 
2547
 
directory.  Clean up of the documentation. (2001.08.28)
2548
 
</blockquote><p>
2549
 
 
2550
 
<p>maradns-0.8.16:
2551
 
<blockquote><p>
2552
 
More regression testing: Added test where it sends an answer to a server.  
2553
 
If the server replies, this is considered an error condition.  Cleaned up
2554
 
the recursive code (got rid of some XXX to dos): Mainly, MaraDNS sends an
2555
 
error if she can not spawn a thread.  Documentation reorganized. (2001.08.16)
2556
 
</blockquote><p>
2557
 
 
2558
 
<p>maradns-0.8.15:
2559
 
<blockquote><p>
2560
 
Made an 'asktest' program which will be used for regression testing.
2561
 
(2001.08.15)
2562
 
</blockquote><p>
2563
 
 
2564
 
<p>maradns-0.8.14:
2565
 
<blockquote><p>
2566
 
Added support for a counter that counts the children in the Zone server.
2567
 
(2001.08.13)
2568
 
</blockquote><p>
2569
 
 
2570
 
<p>maradns-0.8.13:
2571
 
<blockquote><p>
2572
 
Askmara doesn't display debug messages which can mess up terminals to the
2573
 
end user any more.<p>
2574
 
When an element in the cache is overwritten, the new data is now added 
2575
 
to the cache.<p>
2576
 
New feature: MaraDNS can now blacklist spammer-friendly DNS servers.
2577
 
<p>
2578
 
(2001.08.12)
2579
 
</blockquote><p>
2580
 
 
2581
 
<p>maradns-0.8.12:
2582
 
<blockquote><p>
2583
 
Fixed bug in udperror which caused it to spit back the wrong query ID. <P>
2584
 
Added code to use a counter to count the number of threads.  If we have more
2585
 
than maxprocs threads going on at the same time, we refuse to launch a thread.
2586
 
<P>Cached data now will go through round-robin rotates. 
2587
 
<P>MaraDNS now compiles again when the locale is set to Spanish (though
2588
 
I still need more Spanish translations.  Maybe when I am in México, I can
2589
 
get help down there)
2590
 
(2001.08.11)
2591
 
</blockquote><p>
2592
 
 
2593
 
<p>maradns-0.5.29:
2594
 
<blockquote><p>
2595
 
Backported some bug fixes with zone file handling back to the "stable"
2596
 
authoritative-only branch of MaraDNS.  (2001.08.10)
2597
 
</blockquote><p>
2598
 
 
2599
 
<p>maradns-0.8.11:
2600
 
<blockquote><p>
2601
 
Improved handling of CNAME records in the cache.  BSD-dependent routines
2602
 
(which are currently unused in MaraDNS) are not compiled if we are compiling
2603
 
on a Solaris box.  (2001.08.08)
2604
 
</blockquote><p>
2605
 
 
2606
 
<p>maradns-0.8.10:
2607
 
<blockquote><p>
2608
 
I have redone the makefile in the rijndael directory, some some makes
2609
 
(notably, the one NetBSD has) did not like the original Makefile.
2610
 
Marked some unreproducable bugs as unreproducable.
2611
 
(2001.08.07)
2612
 
</blockquote><p>
2613
 
 
2614
 
<p>maradns-0.8.09:
2615
 
<blockquote><p>
2616
 
After much work (handling lame delegations better and fixing a bug in
2617
 
<tt>substring_issame_case</tt>), I have managed to get the host name
2618
 
linuxemu.retrofaction.com to resolve. 
2619
 
<p>
2620
 
Completely unreleated to MaraDNS, I have added a SirCam filter to the 
2621
 
tools directory.
2622
 
(2001.08.03)
2623
 
</blockquote><p>
2624
 
 
2625
 
<p>maradns-0.8.08:
2626
 
<blockquote><p>
2627
 
More bug swatting: <UL>
2628
 
<LI>The problem that was causing www.fairytale-abuse.com to not resolve
2629
 
    is fixed. (Better lame delegation handling)
2630
 
<LI>The problem that was causing www.cs.cmu.edu and 
2631
 
    www.roaringpenguin.com to not resolve is fixed (Better case 
2632
 
    sensitivity handling)
2633
 
</UL>
2634
 
(2001.07.28)
2635
 
</blockquote><p>
2636
 
 
2637
 
<p>maradns-0.8.07:
2638
 
<blockquote><p>
2639
 
Fixed the zoneserver so it too only answers questions.  Fixed two bugs in 
2640
 
the getzone client: One where it would handle MX records incorrectly, 
2641
 
another where it would hand the root zone incorrectly (this bug was actually
2642
 
in the Queries.c file).  (2001.07.27)
2643
 
</blockquote><p>
2644
 
 
2645
 
<p>maradns-0.8.06:
2646
 
<blockquote><p>
2647
 
We now check to make sure we only answer questions. (2001.07.18)
2648
 
</blockquote><p>
2649
 
 
2650
 
<p>maradns-0.8.05:
2651
 
<blockquote><p>
2652
 
Added support for multiple root name servers.  Also changed the example 
2653
 
mararc file to have the root servers for eight different top level
2654
 
domain registries listed. (2001.07.16)
2655
 
</blockquote><p>
2656
 
 
2657
 
<p>maradns-0.5.27:
2658
 
<blockquote><p>
2659
 
Back porting bug fixes to the authoritative-only branch of MaraDNS.
2660
 
(2001.07.15)
2661
 
</blockquote><p>
2662
 
 
2663
 
<p>maradns-0.8.04:
2664
 
<blockquote><p>
2665
 
MaraDNS now sucessfully compiles on Solaris.  Thanks to 
2666
 
Franky Van Liedekerke for providing the pointers on how to do this,
2667
 
and to Danny for access to a Solaris machine to compile MaraDNS on.
2668
 
(2001.07.14)
2669
 
</blockquote><p>
2670
 
 
2671
 
<p>maradns-0.8.03:
2672
 
<blockquote><p>
2673
 
Solaris support added, but does not fully work, added disclaimer, improved 
2674
 
code which drops group privileges.
2675
 
(2001.07.13)
2676
 
</blockquote><p>
2677
 
 
2678
 
<p>maradns-0.8.02:
2679
 
<blockquote><p>
2680
 
Another bug fix: If a zone did not have a record of a given type at the
2681
 
"top" of the zone, MaraDNS would attempt to perform recursion instead of
2682
 
returning a SOA record in the authority section.  Fixed.  Also needs to
2683
 
be fixed in the 0.5.xx branch.  Thanks to D Richard Felker III for 
2684
 
finding the bug. (2001.07.10)
2685
 
</blockquote><p>
2686
 
 
2687
 
<p>maradns-0.8.01:
2688
 
<blockquote><p>
2689
 
Touch up bug fix: MaraDNS failed to close open file descripters when reading
2690
 
zone files.  Fixed.  Also needs to be fixed in the 0.5.xx series.
2691
 
Thanks to Boris Manojlovic for finding the bug.
2692
 
(2001.07.09)
2693
 
</blockquote><p>
2694
 
 
2695
 
<p>maradns-0.5.26:
2696
 
<blockquote><p>
2697
 
Fixed a couple of long-standing bugs found while debugging the recursive
2698
 
version of MaraDNS:
2699
 
 
2700
 
<ul>
2701
 
<li>Fixed a subtle bug in the DNS compression code that would only
2702
 
    show up in certain rare circumstances.
2703
 
<li>Fixed a bug in the handling of ANY DNS queries.
2704
 
</ul>
2705
 
(2001.07.08)
2706
 
</blockquote><p>
2707
 
 
2708
 
<p>maradns-0.8.00:
2709
 
<blockquote><p>
2710
 
This is the first alpha release of the recursive nameserver.  I fixed a bug
2711
 
in the compression code, and fixed another bug which was causing problems with
2712
 
glueless name server entries. (2001.07.08)
2713
 
</blockquote><p>
2714
 
 
2715
 
<p>maradns-0.7.22:
2716
 
<blockquote><p>
2717
 
www.monty.de now successfully resolves; fixed bug where the custodian
2718
 
could potentially erase the root name server entry, making MaraDNS 
2719
 
non-functional as a root nameserver until restarted. (2001.07.07)
2720
 
</blockquote><p>
2721
 
 
2722
 
<p>maradns-0.7.21:
2723
 
<blockquote><p>
2724
 
Type ANY queries now work for recursive queries.  Finally. (2001.07.06)
2725
 
</blockquote><p>
2726
 
 
2727
 
<p>maradns-0.7.20:
2728
 
<blockquote><p>
2729
 
Another late night double feature MaraDNS show.  There was a really nasty
2730
 
bug which Jaakko pointed out to me.  I found the culprit, and fixed the bug.
2731
 
(2001.07.04)
2732
 
</blockquote><p>
2733
 
 
2734
 
<p>maradns-0.7.19:
2735
 
<blockquote><p>
2736
 
Begun work on some of the infastructure changes needed to make MaraDNS 
2737
 
sucessfully resolve recursive ANY queries.  Added maradns_gid support.  
2738
 
Other pieces of code cleanup, primarily better handling of RR_ANY when
2739
 
acting as an authoritative nameserver (should I fold these changes in to 
2740
 
a 0.5.26 release eventually?).  (2001.07.04)
2741
 
</blockquote><p>
2742
 
 
2743
 
<p>maradns-0.7.18:
2744
 
<blockquote><p>
2745
 
Re-arranging of the engine that returns an answer from the cache.  We check
2746
 
the cache expire of a "host not here" reply.  Updated the documentation so 
2747
 
that it is the 0.5.25 documentation with the recursive stuff added as
2748
 
needed.  (2001.07.01)
2749
 
</blockquote><p>
2750
 
 
2751
 
<p>maradns-0.7.17:
2752
 
<blockquote><p>
2753
 
We now choose a random DNS server to query when we are looking for an
2754
 
answer. (2001.07.01)
2755
 
</blockquote><p>
2756
 
 
2757
 
<p>maradns-0.7.16:
2758
 
<blockquote><p>
2759
 
Updated documentation to include information on how to set up a recursive
2760
 
nameserver.  Fixed bug where multiple levels of CNAME indirection were not
2761
 
being properly followed.  It is now possible to go to www.imdb.com or
2762
 
groups.yahoo.com (both cases of multiple levels of CNAME indirection).  
2763
 
(2001.06.30)
2764
 
</blockquote><p>
2765
 
 
2766
 
<p>maradns-0.7.15:
2767
 
<blockquote><p>
2768
 
I have added support for negative caching: If a given host name
2769
 
does not exist, the program sends a "not here" to the stub resolver.
2770
 
I also fixed a bug which was causing out-of-bailiwock queries to not work.
2771
 
(Having to do with the case-sensitivity issue).  Next: Getting www.monty.de
2772
 
to work, caching ANY replies. (2001.06.28)
2773
 
</blockquote><p>
2774
 
 
2775
 
<p>maradns-0.7.14:
2776
 
<blockquote><p>
2777
 
MaraDNS now works as a recursive nameserver again.  The root nameserver
2778
 
is now user-configurable.  CNAME returns queries in a form that a stub
2779
 
resolver can now understand.  (2001.06.25)
2780
 
</blockquote><p>
2781
 
 
2782
 
<p>maradns-0.7.13:
2783
 
<blockquote><p>
2784
 
After much tinkering with the code, I have managed to make it so that 
2785
 
a CNAME record in the cache returns the corresponding A record (note: only
2786
 
one A record!) along with the CNAME record.  This should allow hosts like
2787
 
www.yahoo.com to work when this is used as a stub resolver. (2001.06.24)
2788
 
</blockquote><p>
2789
 
 
2790
 
<p>maradns-0.7.12:
2791
 
<blockquote><p>
2792
 
More work done on plugging memory leaks.  Working on code that will 
2793
 
determine the ip for a given CNAME record, since stub resolvers are not
2794
 
smart enough to do a second A query themselves when they see a CNAME
2795
 
record.  Also some minor cleanups that Franky Van Liedekerke
2796
 
suggested. (2001.06.22)
2797
 
</blockquote><p>
2798
 
 
2799
 
<p>maradns-0.7.11:
2800
 
<blockquote><p>
2801
 
Finished work on the custodian.  Now, I need to make sure the custodian
2802
 
works.  Also fixed CNAME support so it now works, plugged a couple more
2803
 
memory leaks, and revised the offline testbed to have a CNAME record.
2804
 
(2001.06.21)
2805
 
</blockquote><p>
2806
 
 
2807
 
<p>maradns-0.7.10:
2808
 
<blockquote><p>
2809
 
Bigfixes: I have plugged some memory leaks, and added code which will
2810
 
(hopefully) allow recursive queries to cname records to work.
2811
 
I have also done some more work on the "custodian" code.
2812
 
(2001.06.21)
2813
 
</blockquote><p>
2814
 
 
2815
 
<p>maradns-0.7.09:
2816
 
<blockquote><p>
2817
 
Bugfix release: MaraDNS now closes the sockets that she opens when 
2818
 
performing recursive queries.  This stops the open sockets from piling
2819
 
up.  Also, I have begun work on the "custodian" code: Code the reduces
2820
 
the number of elements in the cache when the user-defined cache runs
2821
 
low on space. (2001.06.20)
2822
 
</blockquote><p>
2823
 
 
2824
 
<p>maradns-0.7.08:
2825
 
<blockquote><p>
2826
 
I have made the RNG truly random, and I have added code to the resolution
2827
 
algorithm which allows it to perform recursive queries when the only 
2828
 
authoritative records are NS delegation records.  Also, updates to the
2829
 
todo list.  Changed cc to gcc in all the makefiles to make
2830
 
MaraDNS more Solaris-friendly.  (2001.06.20)
2831
 
</blockquote><p>
2832
 
 
2833
 
<p>maradns-0.7.07:
2834
 
<blockquote><p>
2835
 
I have added ACLs which limit who is allowed to make recursive queries.
2836
 
I have also begun work on making the random number seed truly random.
2837
 
(2001.06.19)
2838
 
</blockquote><p>
2839
 
 
2840
 
<p>maradns-0.7.06:
2841
 
<blockquote><p>
2842
 
I have updated the non-recursive code to use code from MaraDNS 0.5.25,
2843
 
which adds a number of features from there (round robin rotation, etc.)
2844
 
I have alos made a list of things which need to be done before I can
2845
 
make this a beta candidate for a 1.0 release.  In addition, the code now
2846
 
makes sure that the query ID we receive is the same one we sent out.
2847
 
I have also started work on a CREDITS file, updated the FAQ, and added
2848
 
a couple of interesting (if not MaraDNS-specific) Perl scripts to the
2849
 
archive.
2850
 
(2001.06.17)
2851
 
</blockquote><p>
2852
 
 
2853
 
<p>maradns-0.7.05:
2854
 
<blockquote><p>
2855
 
The DNS server now has a psudo-random number generator which uses the
2856
 
Rijndael algorithm.  This PRNG randomizes both the query ID and (I believe)
2857
 
the source port of any and all DNS queries.   This PNRG now needs to become
2858
 
secure (by setting up either a random or a user-defined Rijndael key)
2859
 
(2001.06.16)
2860
 
</blockquote><p>
2861
 
 
2862
 
<p>maradns-0.7.04:
2863
 
<blockquote><p>
2864
 
There were some bugs in the RR expire code.  I have found those bugs,
2865
 
fixed them, and now cache expirery should work. (2001.06.12)
2866
 
</blockquote><p>
2867
 
 
2868
 
<p>maradns-0.7.03:
2869
 
<blockquote><p>
2870
 
This release has implemented the ability to expire records from the cache.
2871
 
All Name server records have a fixed expire of 1 day (this can be changed
2872
 
by changing one #define in recursive.c), but all other records have an 
2873
 
expire time based on the TTL of the record.  <b>I have not yet tested
2874
 
DNS RR expire</b>.
2875
 
(2001.06.11)
2876
 
</blockquote><p>
2877
 
 
2878
 
<p>maradns-0.7.02:
2879
 
<blockquote><p>
2880
 
 
2881
 
Milestone: This is the first release of MaraDNS that works as a recursive
2882
 
nameserver with the real root nameservers.  Fix: Changing only the case of 
2883
 
the first nameserver, add negative caching, then start adding security
2884
 
(good RNG for the query ID and source port, recursive ACL), then start
2885
 
making the root servers customizable (including being able to have different
2886
 
TLDs have different root servers). (2001.06.11)
2887
 
</blockquote><p>
2888
 
 
2889
 
<p>maradns-0.7.01:
2890
 
<blockquote><p>
2891
 
 
2892
 
Beginning work on making MaraDNS both case-insensitive and able to preserve
2893
 
case. (2001.06.06)
2894
 
 
2895
 
</blockquote><p>
2896
 
<p>maradns-0.7.00:
2897
 
<blockquote><p>
2898
 
 
2899
 
Albert Prats kindly provided Spanish translations for various text files.
2900
 
To get MaraDNS to compile in Spanish instead of English, type in 
2901
 
<tt>./locale.es</tt> before compiling MaraDNS.
2902
 
 
2903
 
<p>
2904
 
 
2905
 
MaraDNS now can handle gluelessness.  I am bumping up the minor version
2906
 
number to reflect that MaraDNS now has recursive nameserving capabilities,
2907
 
albeit without some security features.  Next:  Work on cache flushing and 
2908
 
security.
2909
 
 
2910
 
(2001.06.03)
2911
 
</blockquote><p>
2912
 
 
2913
 
<p>maradns-0.6.21:
2914
 
<blockquote><p>
2915
 
 
2916
 
Now, if one of the IP nameservers is bad, we will try the next nameserver 
2917
 
in the chain.  Next: Add the code to handle out-of-bailiwick nameservers
2918
 
(2001.06.01)
2919
 
 
2920
 
</blockquote><p>
2921
 
 
2922
 
<p>maradns-0.6.20:
2923
 
<blockquote><p>
2924
 
 
2925
 
Two big improvments: 1) The recursive resolver can now handle multiple
2926
 
A records (MaraDNS deliberately ignores NS and AR records.  Note that it is
2927
 
a good idea to give out the corresponding A record for a CNAME record
2928
 
[To do]) 2) There is now code which makes a local copy of the chain
2929
 
of NS records in an authoritative-only section, which will allow me to
2930
 
make thread-safe code which will query other nameservers, should a given
2931
 
nameserver not function (e.g. Someone changed a computer's IP.  In the
2932
 
three weeks it can take Network Solutions to update the records on the
2933
 
root nameservers, we still want to be able to reach the domain in question
2934
 
by using the other listed nameserver for the domain)
2935
 
 
2936
 
</blockquote><p>
2937
 
 
2938
 
<p>maradns-0.6.19:
2939
 
<blockquote><p>
2940
 
Not only did I get to spend some time with my family this memorial day 
2941
 
weekend, I also was able to get Linux up and going on my new laptop.  Took
2942
 
two installs, but everything except SSL in Konqueror now works. 
2943
 
I also, now that the new laptop is (mostly) up and going, have gotten
2944
 
a chance to work on MaraDNS.  This new laptop, since it has a working battery,
2945
 
should speed up MaraDNS development--I can now work on MaraDNS on the train.
2946
 
The latest version is able to go to a remote server and give us an 
2947
 
incomplete answer (only one RR) based on what the remote server tells us.  
2948
 
(2001.05.29)
2949
 
</blockquote><p>
2950
 
<p>maradns-0.6.18:
2951
 
<blockquote><p>
2952
 
Some minor bugfixes and tweaks: The nameserver will now query name servers
2953
 
until it is able to find an answer, then it will go in a loop.
2954
 
(2001.05.24)
2955
 
</blockquote><p>
2956
 
 
2957
 
<p>maradns-0.6.17:
2958
 
<blockquote><p>
2959
 
A fairly significant milestone: This version of MaraDNS is able to read data
2960
 
from an authoritative nameserver, and, based on that data, determine the IP
2961
 
of a nameserver closer to the answer we are looking for.  (2001.05.21)
2962
 
</blockquote><p>
2963
 
 
2964
 
<p>maradns-0.5.24:
2965
 
<blockquote><p>
2966
 
Two minor bug fixes: The erre-con-erre-cigarro.maradns.org query will work,
2967
 
even if authoritative nameservers for the root are set up; MaraDNS now
2968
 
will run on systems which do not support the setrlimit system call, such
2969
 
as the GNU Hurd. (2001.05.21)
2970
 
</blockquote><p>
2971
 
 
2972
 
<p>maradns-0.5.23:
2973
 
<blockquote><p>
2974
 
Three bug fixes: MaraDNS now works with RRs for the root namserver (MaraDNS,
2975
 
in fact, can now be a nameserver for the root), the askmara tool now has
2976
 
a timeout (and can ask questions about the root nameserver), and the output
2977
 
that MaraDNS generates is unbuffered.  (2001.05.19)
2978
 
</blockquote><p>
2979
 
 
2980
 
<p>maradns-0.6.16:
2981
 
<blockquote><p>
2982
 
I have added a lot more debugging stuff as I hunt down why it is RRs are
2983
 
not being added to the dns RR cache.  I think I am pretty close to pinning 
2984
 
it down, and hope tomorrow's release can add RRs to the big cache.
2985
 
(2001.05.18)
2986
 
</blockquote><p>
2987
 
 
2988
 
<p>maradns-0.6.15:
2989
 
<blockquote><p>
2990
 
I added a simple interactive debugger which lets me see the state of
2991
 
the DNS cache hash table.  Looks like the data from the server is not
2992
 
being added to the cache.  Next: FInd out why not.  (2001.05.17)
2993
 
</blockquote><p>
2994
 
 
2995
 
<p>maradns-0.6.14:
2996
 
<blockquote><p>
2997
 
An unexpected event forcing me to go home late yesterday caused there
2998
 
not to be a release of MaraDNS yesterday.<p>
2999
 
Fixed bug where it was not correctly appending the class to the server
3000
 
that it was querying.  Temporarily disabled the actual threading while 
3001
 
development work on the recurseor continues.  Next: Make sure that
3002
 
the cache is properly seeded from data from authoritative nameservers.
3003
 
(2001.05.17)
3004
 
</blockquote><p>
3005
 
 
3006
 
<p>maradns-0.6.13:
3007
 
<blockquote><p>
3008
 
Fixed bug where it was choosing the wrong IP to query.  Automated
3009
 
the process of setting up a testbed (which is completely self-contained),
3010
 
so I can debug this on a variety of machines.  Next: Fix the timeout bug.
3011
 
(2001.05.15)
3012
 
</blockquote><p>
3013
 
 
3014
 
<p>maradns-0.6.12:
3015
 
<blockquote><p>
3016
 
MaraDNS compiles again.  Now, I need to go through all the code and 
3017
 
iron out all of the bugs.  Testbed of MaraDNS configuration files
3018
 
added. (2001.05.14)
3019
 
</blockquote><p>
3020
 
 
3021
 
<p>maradns-0.6.11:
3022
 
<blockquote><p>
3023
 
More work on the recursive stuff done.  (2001.05.13)
3024
 
</blockquote><p>
3025
 
<p>maradns-0.6.10:
3026
 
<blockquote><p>
3027
 
More work on the recursive stuff done.  (2001.05.12)
3028
 
</blockquote><p>
3029
 
 
3030
 
<p>maradns-0.5.22:
3031
 
<blockquote><p>
3032
 
Bugfix release: non-0 opcodes now correctly return a "NOT IMPLEMENTED" error
3033
 
message.   Also, some minor cleanup in the documentation: star records
3034
 
(*.example.com, etc.) are now documented. (2001.05.10)
3035
 
</blockquote><p>
3036
 
 
3037
 
<p>maradns-0.6.09:
3038
 
<blockquote><p>
3039
 
add_closer_jsddip, add_closer_js, and add_closer_jsip now have a third
3040
 
argument: Whether to overwrite or append to already existing data in the 
3041
 
cache.  Since the autoconf stuff doesn't work with the development 
3042
 
branch, I got rid of it for now.  Once this code gets stable, one of the 
3043
 
Debian packagers can feel free to add the autoconf stuff again.
3044
 
(2001.05.10)
3045
 
</blockquote><p>
3046
 
 
3047
 
<p>maradns-0.6.08:
3048
 
<blockquote><p>
3049
 
Added in_bailiwick and cmp_dnames functions to recursive.c
3050
 
(2001.05.09)
3051
 
</blockquote><p>
3052
 
 
3053
 
<p>maradns-0.5.21:
3054
 
<blockquote><p>
3055
 
Feature enhancment: Added round-robin rotation of records and limits to the
3056
 
number of records that can be displayed for a given answer to MaraDNS.
3057
 
This will be the last feature enhancment for the 0.5.xx tree.  All changes
3058
 
in the 0.5.xx tree will now be bug fixes.  Now, back to work
3059
 
on the 0.6.xx series, starting off with integrating the 0.5.xx
3060
 
changes. (2001.05.07)
3061
 
</blockquote><p>
3062
 
 
3063
 
<p>maradns-0.5.20:
3064
 
<blockquote><p>
3065
 
Feature enhancment: We now make sure that the same AR record does not
3066
 
show up twice in the AR section.  Thanks to Phil Homewood for pointing
3067
 
out this problem. (2001.05.06)
3068
 
</blockquote><p>
3069
 
 
3070
 
<p>maradns-0.5.19:
3071
 
<blockquote><p>
3072
 
Bugfix release: We now follow chains of records in the AR section.
3073
 
The authoritative bit for an "RR_ALL" request is now determined by
3074
 
the authoritative bit in the first RR found.  Thanks to Phil Homewood
3075
 
for finding these bugs. (2001.05.06)
3076
 
</blockquote><p>
3077
 
 
3078
 
<p>maradns-0.6.07:
3079
 
<blockquote><p>
3080
 
The askmara tool now uses select() to time out after three seconds.
3081
 
Added a lot of code to the recursive lookup.  I now send a query to
3082
 
the remote server, and receive the reponse.  Next: Code to process the
3083
 
response and add the data to the local cache. (2001.05.06)
3084
 
</blockquote><p>
3085
 
 
3086
 
<p>maradns-0.6.06:
3087
 
<blockquote><p>
3088
 
The recursive code now sucessfully seeds a root nameserver in to the cache.
3089
 
Next: Code to query and get the response form that nameserver.
3090
 
(2001.05.05)
3091
 
</blockquote><p>
3092
 
 
3093
 
<p>maradns-0.6.05:
3094
 
<blockquote><p>
3095
 
Heavy debugging of the recursive stuff going on.  It is not fixed, but I
3096
 
wanted to post something, however miniscule, before going to bed.  
3097
 
(2001.05.04)
3098
 
</blockquote><p>
3099
 
 
3100
 
<p>maradns-0.5.18:
3101
 
<blockquote><p>
3102
 
Addded new feature: default_rrany_set, which is used to change the
3103
 
RRs returned when a RR_ANY query is sent to the MaraDNS server.  Thanks
3104
 
to Phil Homewood who pointed out that this is sometimes needed.
3105
 
(2001.05.03)
3106
 
</blockquote><p>
3107
 
 
3108
 
<p>maradns-0.6.04:
3109
 
<blockquote><p>
3110
 
recursive text documented updated to reflect changes I made on the train.
3111
 
Some other cleanup. (2001.05.02)
3112
 
</blockquote><p>
3113
 
 
3114
 
<p>maradns-0.6.03:
3115
 
<blockquote><p>
3116
 
Wrote up document detailing the recursive algorithm that MaraDNS' 
3117
 
recursive resolver will use.  Integrated the 0.5.17 bugfixes in to the
3118
 
development tree. (2001.05.01)
3119
 
</blockquote><p>
3120
 
 
3121
 
<p>maradns-0.5.17:
3122
 
<blockquote><p>
3123
 
Fixed bug in MaraDNS' handling of zone transfers where the response
3124
 
is a single big RR instead of multiple small RRs.  Some other small
3125
 
bugfixes. (2001.04.30)
3126
 
</blockquote><p>
3127
 
 
3128
 
<p>maradns-0.6.02:
3129
 
<blockquote><p>
3130
 
I have the general structure of how I want to do the recursive name
3131
 
serving in place.  The devil, however, is in the details.
3132
 
(2001.04.28)
3133
 
</blockquote><p>
3134
 
 
3135
 
<p>maradns-0.6.01:
3136
 
<blockquote><p>
3137
 
Fixes in MaraDNS-0.5.16 incorporated in to development branch.  Slowly
3138
 
making progress on the recursive code. (2001.04.26)
3139
 
</blockquote><p>
3140
 
 
3141
 
<p>maradns-0.5.16:
3142
 
<blockquote><p>
3143
 
Fixed bug in the zoneserver's handling of replies longer than 255 octets in
3144
 
length.  Fixed problem in manpage and updated man page.  Special thanks to 
3145
 
Phil Homewood for finding problems the zone server was having.
3146
 
(2001.04.26)
3147
 
</blockquote><p>
3148
 
 
3149
 
<p>maradns-0.6.00:
3150
 
<blockquote><p>
3151
 
Work on making MaraDNS recursive begins. (2001.04.26)
3152
 
</blockquote><p>
3153
 
<p>maradns-0.5.15:
3154
 
<blockquote><p>
3155
 
Fatal error messages caused by failed system calls now show the user the
3156
 
error message that the system gave, in addition to MaraDNS' error
3157
 
message. (2001.04.26)
3158
 
</blockquote><p>
3159
 
<p>maradns-0.5.14:
3160
 
<blockquote><p>
3161
 
 Added "no_fingerprint" feature which minimizes the
3162
 
                MaraDNS-specific features, making it more difficult
3163
 
                to determine which DNS server one is running.  (2001.04.23)
3164
 
</blockquote><p>
3165
 
 
3166
 
<p>maradns-0.5.13:
3167
 
<blockquote><p>Manpage for maradns added.  (2001.04.22)</blockquote><p>
3168
 
<p>
3169
 
maradns-0.5.12: 
3170
 
<blockquote><p>
3171
 
Added better support for CNAME records: If the CNAME record
3172
 
                points to an A record, and we have the A record "on file",
3173
 
                MaraDNS will add the CNAME record to the ar section of the
3174
 
                reply.  Also added support for getting the version number
3175
 
                for maradns via a 'erre-con-erre-cigarro.maradns.org.' 
3176
 
                TXT query.  Set things up so we can both a autoconf-based
3177
 
                and a non-autoconf-based build process, and we can switch
3178
 
                between the two.
3179
 
                Next: Branch off to development again, because I need to 
3180
 
                get the zone server multithreaded.  (2001.04.22)
3181
 
</blockquote><p>
3182
 
<p>
3183
 
maradns-0.5.11: <blockquote><p>Tollef Fog Heen generously ran autoconf for MaraDNS.  The 
3184
 
                build process now consists of './configure;make'".
3185
 
                (2001.04.21)
3186
 
</blockquote><p>
3187
 
<p>maradns-0.5.10: 
3188
 
<blockquote><p>Code cleanup: I added -Wall as an option in the libs, dns,
3189
 
                and server directories.  Cleanup of all the warnings that
3190
 
                -Wall generated.  Added /etc/mararc and
3191
 
                /var/maradns/db.example.com to RPM file. (2001.04.20)
3192
 
</blockquote><p>
3193
 
<p>
3194
 
maradns-0.5.09: 
3195
 
<blockquote><p>
3196
 
The server crashes were causes by pointers that were
3197
 
                not correctly initialized to zero.  The pointers causing
3198
 
                the crash have been initialized, and hopefully this one
3199
 
                will be crashproof.  Next: Look for other incorrectly
3200
 
                initialized variables.  (2001.04.20)
3201
 
</blockquote><p>
3202
 
<p>
3203
 
maradns-0.5.08: 
3204
 
<blockquote><p>
3205
 
Begin a "stable" brach for the only-authoritative
3206
 
                non-threaded nameserver.  Changed compiler option from
3207
 
                -g to -O2.  Made RPM of MaraDNS-0.5.08.  (2001.04.19)
3208
 
</blockquote><p>
3209
 
<p>
3210
 
maradns-0.5.07: 
3211
 
<blockquote><p>
3212
 
Plugged some memory leaks in the zoneserver which, while
3213
 
                not currently a problem, could have been a problem if
3214
 
                I had started coding threads before plugging the memory
3215
 
                leaks.  Some of the leaks were is the js_string library,
3216
 
                so that code base is a lot cleaner now.  Made the
3217
 
                functions in ParseCsv1.c thread-safe.  My friend Fatma 
3218
 
                generously supplied a German translation of the error
3219
 
                strings in MaraDNS_en.h--we now have a MaraDNS_de.h which,
3220
 
                while not perfect, will be appreciated by the Germans.
3221
 
                (2001.04.18)
3222
 
</blockquote><p>
3223
 
<p>
3224
 
maradns-0.5.06: 
3225
 
<blockquote><p>
3226
 
The zone server for MaraDNS can now be run from inetd.
3227
 
                Due to the security implications of this (MaraDNS' IP-based
3228
 
                ACLs stop working when run from inetd), this will be an
3229
 
                undocumented feature.  (2001.04.18)
3230
 
</blockquote><p>
3231
 
<p>
3232
 
maradns-0.5.05: 
3233
 
<BLOCKQUOTE><p>
3234
 
Phil Homewood generously supplied a patch that makes this
3235
 
                compile on FreeBSD.  In addition, he fixed a bug in the
3236
 
                Makefile in dns/Makefile which made it so bobbit.c 
3237
 
                compiles instead of using the Linux-specific object file
3238
 
                (Which I didn't catch, since make clean didn't remove it
3239
 
                and make didn't recreate it).  I also fixed a bug in
3240
 
                getzone.c which was introduced when I put the string
3241
 
                literals in a language-specific file. (2001.04.17)
3242
 
</BLOCKQUOTE><p> 
3243
 
 
3244
 
<p>
3245
 
maradns-0.5.04: 
3246
 
<BLOCKQUOTE><p> Added more support for dotted decimal IPs in NS, CNAME, and
3247
 
                MX records.  Added handles for code which will warn the user
3248
 
                of the presence of these dotted-decimal IP records.  Fixed
3249
 
                bug where js_copy was not returning an appropriate value on
3250
 
                success (2001.04.17)
3251
 
</BLOCKQUOTE><p>
3252
 
<p>maradns-0.5.03: 
3253
 
<BLOCKQUOTE><p>
3254
 
If a "give me all records for a given hostname" query appears,
3255
 
                MaraDNS will now look for a CNAME with the same hostname,
3256
 
                returning only that if found (and she will only look for a
3257
 
                CNAME if an A and MX were not found), and if A, MX, and
3258
 
                CNAME records are not found, MaraDNS will see if the person
3259
 
                entered a dotted decimal ip and respond appropriately.
3260
 
                (2001.04.16)
3261
 
</BLOCKQUOTE><p>
3262
 
<P>maradns-0.5.02: 
3263
 
<BLOCKQUOTE><p>
3264
 
Most of the text messages that MaraDNS' various utilities 
3265
 
                generate have been moved to separate files, which will make 
3266
 
                localization easier.  (2001.04.16)
3267
 
</BLOCKQUOTE><p>
3268
 
<p>
3269
 
maradns-0.5.01: Bugfix: Since mail exchangers routinely ask for "all records"
3270
 
                queries (to get both A and MX records), I have hacked MaraDNS
3271
 
                to deliver A and MX records if a request for all records
3272
 
                is received.  I still need to code the case of a request for
3273
 
                "all records" pointing to a CNAME, though.  Also, I have
3274
 
                added a benchmark tool which times a DNS server by sending
3275
 
                50,000 queries to the server in question as quickly as
3276
 
                possible.  (2001.04.13)
3277
 
 
3278
 
<p>
3279
 
maradns-0.5.00: The UDP server no longer fork()s off processes to process
3280
 
                queries.  I performed a mild stress test, where MaraDNS was 
3281
 
                processing 81 queries a second for over an hour--MaraDNS 
3282
 
                performed beautifully--memory usage did not increase, and
3283
 
                queries were fast during this test.  I am making this
3284
 
                release the stable branch.  Next: Get string literals out
3285
 
                of the code. (2001.04.12)
3286
 
 
3287
 
<p>
3288
 
maradns-0.4.04: More bug fixes: Plugged potential memory leaks in 
3289
 
                js_buf_getline.  Fixed bug where the last line of a
3290
 
                csv1 file was not read.  Fixed makefile so that it cleans
3291
 
                files in new location of the zonefile stuff--it's now in
3292
 
                a directory called "tuzona".  Next:  Go from a multi-process
3293
 
                model to a single process model.  (2001.04.12)
3294
 
 
3295
 
<p>
3296
 
maradns-0.4.03: Bugfix: The zone server is now hacked up to give a  
3297
 
                plausable-looking answer to a SOA request on the TCP port.
3298
 
                As a result, BIND 4 and BIND 8 will now transfer zones from 
3299
 
                the maradns zoneserver. (2001.04.12)
3300
 
 
3301
 
<p>
3302
 
maradns-0.4.02: Bigfix: Hacked zoneserver so that it can work as a zone server
3303
 
                in cases where the zone transfer client asks for the SOA
3304
 
                record before downloading the zone.  Also: Added the ability
3305
 
                to verbosely log invalid queries sent to the DNS server,
3306
 
                and to have a log level of 0 make MaraDNS give out no logs
3307
 
                whatsoever.  Next: Fix bug where the last line of a csv1
3308
 
                file is not parsed.  (2001.04.12)
3309
 
 
3310
 
<p>
3311
 
maradns-0.4.01: Bugfix: Fixed bug where SOA records were not properly loaded
3312
 
                when we have multiple zones. (2001.04.11)
3313
 
 
3314
 
<p>
3315
 
maradns-0.4.00: Stable branch:  This is the stable branch of MaraDNS, which 
3316
 
                will only be updated with security fixes.  Made zoneserver
3317
 
                check the query type, and drop connection on anything
3318
 
                besides AXFR and IXFR (Hack: The zone server treats an IXFR
3319
 
                exactly like an AXFR).  Also cleaned up the error
3320
 
                handling in the zone and udp server code in preparation to
3321
 
                make maradns multithreaded.  (2001.04.11)
3322
 
 
3323
 
<p>
3324
 
maradns-0.3.06: Security fix: The zone transfer client now checks for and
3325
 
                disables any out-of-baliwick records it finds when performing
3326
 
                a zone transfer.  Feature enhancment: Maradns now has a 
3327
 
                working zone transfer server. (2001.04.10)
3328
 
 
3329
 
<p>
3330
 
maradns-0.3.05: An entire parsing engine which processes ip-based ACLs has
3331
 
                been created, complete with recursive aliases.  Zoneserver
3332
 
                now only needs the code that reads the client's request
3333
 
                and send them the zone they ask for (as long as they have
3334
 
                access).  (2001.04.08)
3335
 
 
3336
 
<p>
3337
 
maradns-0.3.04: TXT, A, and MX records are now "pretty printed" when downloaded
3338
 
                from a foreign zone.  All seven RR types supported by MaraDNS
3339
 
                are now pretty printed.  Fixed bug with the handling of 
3340
 
                "umbrella" NS records.  Fixed bug with the handling of high
3341
 
                serial numbers and extra-long TTL values.  Next: the AXFR
3342
 
                server. (2001.04.04)
3343
 
 
3344
 
<p>
3345
 
maradns-0.3.03: The getzone program in tcp now generates working, albeit 
3346
 
                ugly (too many RR types are still marked 'U'), MaraDNS zone
3347
 
                files based on the data from a zone transfer.  Also found and
3348
 
                fixed other bugs the popped up when stressing the various
3349
 
                queries routines with a full Zone transfer.  Unreleated
3350
 
                to MaraDNS per se, MaraDNS now has a `real' web page. (Thanks,
3351
 
                Leo!) (2001.04.04)
3352
 
 
3353
 
<p>
3354
 
maradns-0.3.02: Added support for truncating headers.  Began work on getzone
3355
 
                zone transfer client.  (2001.04.03)
3356
 
 
3357
 
<p>
3358
 
maradns-0.3.01: Fixed bug where the MX preference changed on DNS compressing
3359
 
                and DNS decompressing.  (2001.04.01)
3360
 
 
3361
 
<p>
3362
 
maradns-0.3.00: The DNS compression routines now work.  Also set up the server
3363
 
                to return "Not implemented" to the unimplemented requests for
3364
 
                zone transfers and the unimplemented requests for all RRs
3365
 
                attached to a hostname. (2001.04.01)
3366
 
 
3367
 
<p>
3368
 
maradns-0.2.10: My theory is that they made DNS comprssion so difficult to 
3369
 
                implement out of fear that anyone would be crazy enough to
3370
 
                write their own DNS server.  Continued work on the compression
3371
 
                routines.  (2001.03.31)
3372
 
 
3373
 
<p>
3374
 
maradns-0.2.09: Moved check for star records attached to CNAME or to NS RRs
3375
 
                in the CSV1 parser, where it belongs.  Added support for
3376
 
                "notfound" reply.  Next: RFC1035 compression (ugh). 
3377
 
                (2001.03.29)
3378
 
 
3379
 
<p>
3380
 
maradns-0.2.08: Added support for ddip addresses (An IP query for '127.1.1.1'
3381
 
                gives the IP '127.1.1.1').  Added almost full support for 
3382
 
                star records. Only these somewhat silly star record cases are
3383
 
                not supported: Star records pointing to CNAMEs and to NSs 
3384
 
                records.  Added code that warns the user if they try to add
3385
 
                an unsupported star record type.  Next: The code to give
3386
 
                out a "notfound" reply. (2001.03.28)
3387
 
 
3388
 
<p>
3389
 
maradns-0.2.07: Fixed bug in MaraDNS' handling of case folding.  Added some
3390
 
                support for star records. (2001.03.27)
3391
 
 
3392
 
<p>
3393
 
maradns-0.2.06: A and CNAME queries are now case-insensitive.  Changed 
3394
 
                the bs_process routine to have domain-labels converted to
3395
 
                their lower-case format before octal processing is done
3396
 
                (so we can still have 'A' in a domain label with '\101')
3397
 
                Returns NS delegation if we asked for a host in a
3398
 
                sub-delegated domain. (2001.03.27)
3399
 
 
3400
 
<p>
3401
 
maradns-0.2.05: Cleaned up the makefile so that we don't have compiled 
3402
 
                binaries in any of the directories after a "make clean" is
3403
 
                performed.  Added support for CNAME and limited NS record
3404
 
                support.  (2001.03.26)
3405
 
 
3406
 
<p>
3407
 
maradns-0.2.04: New security feature: Maxprocs, which is a mandatory way
3408
 
                of limiting the resources MaraDNS uses.  Added fix.perms
3409
 
                tool. (2001.03.26)
3410
 
 
3411
 
<p>
3412
 
maradns-0.2.03: I have made the directory structure a little cleaner.  The
3413
 
                only problem I have now is that multiple Makefiles have to
3414
 
                be changed if I add a new object file.  I also have improved
3415
 
                the way MaraDNS cleans up after her children. (2001.03.26)
3416
 
 
3417
 
<p>
3418
 
maradns-0.2.02: Now, MaraDNS correctly returns NS records and AN records for 
3419
 
                every query where it has NS and AN records in its local 
3420
 
                database.  While I wait for the clows at NSI to figure 
3421
 
                out why we can't make maradns.com and maradns.org use 
3422
 
                ns.maradns.com and ns.maradns.org as name servers for
3423
 
                both domains, I can test things with www.z.maradns.org
3424
 
                (2001.03.25) 
3425
 
 
3426
 
<p>
3427
 
maradns-0.2.01: Bugfix: SOA lines can now have percent escape sequences in 
3428
 
                them. (2001.03.25)
3429
 
 
3430
 
<p>
3431
 
maradns-0.2.00: Incremented minor number in light of the fact MaraDNS now
3432
 
                actually resolves, albeit in a very limited fashion.  Added
3433
 
                some QuickStart notes, and added the ability for uint16s and
3434
 
                uint32s to be added directly to the end of a JS_STRING 
3435
 
                object.  (2001.03.25)
3436
 
 
3437
 
<p>
3438
 
maradns-0.1.40: MaraDNS now resolves hosts.  It doesn't handle a lot
3439
 
                of cases where the resolution is not an exact match
3440
 
                (NS records for stuff below us, star records, etc.) nor
3441
 
                does it give us NS or AN records, nor the IP for a Cname
3442
 
                record (if applicable), but at least MaraDNS is finally
3443
 
                resolving.  To do: js_string function for adding uint16s
3444
 
                and uin32s in a single fell swoop, and real name resolution.
3445
 
                (2001.03.25)
3446
 
 
3447
 
<p>
3448
 
maradns-0.1.39: At this point, MaraDNS binds to a port and listens to
3449
 
                incoming data.  Next: Actually process the data that 
3450
 
                she gets (2001.03.24)
3451
 
 
3452
 
<p>
3453
 
maradns-0.1.38: Added the code that adds pointers to the corresponding A
3454
 
                records for MX, NS, and CNAME records.  (2001.03.23)
3455
 
 
3456
 
<p>
3457
 
maradns-0.1.37: Placed the code that converts star records in a more sensible
3458
 
                location.  Added a new element in the rr answer which is 
3459
 
                a pointer to the query string (we need this so we can tell
3460
 
                the resolver both the question and the answer with the NS
3461
 
                records, and which IP addresses go with which answers in
3462
 
                the AR records) (2001.03.21)
3463
 
 
3464
 
<p>
3465
 
maradns-0.1.36: Now we convert star records (record which start off with
3466
 
                a * label) to an EDNS-style format MaraDNS uses for its
3467
 
                internal hash of RRs (2001.03.19)
3468
 
 
3469
 
<p>
3470
 
maradns-0.1.35: Verified that records are placed in the bug hash correctly.
3471
 
                Next: We can now start making this a working DNS server.
3472
 
                Bind to the port, answering UDP queries using a simple 
3473
 
                forking model. (2001.03.18)
3474
 
 
3475
 
<p>
3476
 
maradns-0.1.34: Added some more security features: It now chroot's and
3477
 
                changes the uid if it is run as root.  Also made a function
3478
 
                that adds a RR to the end of a chain of RRs before the first
3479
 
                NS RR. (2001.03.17)
3480
 
 
3481
 
<p>
3482
 
maradns-0.1.33: Plugged up some memory leaks in MaraHash.c.  Added a lot
3483
 
                of code which starts populating the big hash with data.
3484
 
                (2001.03.17)
3485
 
 
3486
 
<p>
3487
 
maradns-0.1.32: More work on the the populate+bighash routine.  Now, when
3488
 
                a syntax error is encountered, MaraDNS makes a best-faith
3489
 
                effort to continue processing zone files.  (2001.03.16)
3490
 
 
3491
 
<p>
3492
 
maradns-0.1.31: Additional work on that routine.  Now, it correctly make
3493
 
                sure that we add the NS records for the zone before the
3494
 
                NS records, and also fixed some other bugs in this 
3495
 
                routine.  Next: Make add_rr_to_bighash really check the
3496
 
                authority of a record and and data to the big hash 
3497
 
                (2001.03.15)
3498
 
 
3499
 
<p>
3500
 
maradns-0.1.30: Worked on the routine to fill up the "big hash" with the
3501
 
                appropriate data.  Now, I need to replace the "dummy"
3502
 
                add_rr_to_bighash with a routine that adds the appropriate
3503
 
                rr to the big hash (if appropriate).  (2001.03.14)
3504
 
 
3505
 
<p>
3506
 
maradns-0.1.29: Installed a new verison of Linux on my Laptop (Esware 2.0r2,
3507
 
                a Spanish RedHat clone with the 2.4 kernel).  Begun work
3508
 
                on MaraDNS.c.  Next: continue work on MaraDNS.c
3509
 
                (2001.03.13)
3510
 
 
3511
 
<p>
3512
 
maradns-0.1.28: Made all of the string literals in ParseMaraRc.c labels which
3513
 
                point to entries in ParseMaraRc_en.h.  Wrote and documented
3514
 
                Perl script which automates this kind of work.  
3515
 
                I did the same with ParseCsv1.c (ParseCsv1_en.h).  
3516
 
                (2001.03.11)
3517
 
 
3518
 
<p>
3519
 
maradns-0.1.27: Pasted in read/write/setup kvar code from the code that
3520
 
                parsed the kiwirc file in the kiwi2 anti-spam package.
3521
 
                Modified mararc code so that it can parse both simple
3522
 
                strings and dictionaries (Assosciative arrays)
3523
 
                Next: The code that populates the DNS lookup hash based on
3524
 
                the data read from the mararc file.  (2001.03.11) 
3525
 
 
3526
 
<p>
3527
 
maradns-0.1.26: Made the code that parses mararc lines a little more
3528
 
                senisible.  It's still hackish, but is somewhat pedantic
3529
 
                about what kind of syntax it accepts, returning errors
3530
 
                when wrong syntax is given to it.  (2001.03.10)
3531
 
 
3532
 
<p>
3533
 
maradns-0.1.25: Added support for % in csv1 file.  Revised csv1.format
3534
 
                document.  Next: figure out a way to store "star records" 
3535
 
                in the hash table in such a way as to not step on the 
3536
 
                EDNS standards.  And implement that method. (2001.03.09)
3537
 
 
3538
 
<p>
3539
 
maradns-0.1.24: Added support for MX and "Unknown" (user-specified query
3540
 
                type) data types.  Added support for '\xxx'-style escape
3541
 
                sequences, making it possible to have arbitrary data in
3542
 
                the csv1 zone file. (2001.03.08)
3543
 
 
3544
 
<p>
3545
 
maradns-0.1.23: Changed js_atoi to return unsigned integers.  Added support
3546
 
                for TXT and SOA records.  Tested to make sure error 
3547
 
                correction looks good.  Next: PTR shorthand, more efficient 
3548
 
                Makefile. (2001.03.07)
3549
 
 
3550
 
<p>
3551
 
maradns-0.1.22: Split off some of the routines in other files to new .c
3552
 
                files: ParseCsv1.c and Utf8.c.  Created js_addbyte routine.
3553
 
                Added csv1test and example_csv1 files to test the csv1
3554
 
                parsing routines.  Created js_changebyte routine.  
3555
 
                ParseCsv1 routine now parses all data types except for the
3556
 
                SOA datatype.  Next: SOA datatype, shortcut for PTR datatype.
3557
 
                (2001.03.07)
3558
 
 
3559
 
<p>
3560
 
maradns-0.1.21: Wrote utf8test to test the ability to convert ISO 8859-1
3561
 
                strings to UTF-8 strings.  Found minor bug in code, fixed,
3562
 
                and now ISO 8859-1 strings are correctly copied.  I had to 
3563
 
                set up X and recompile xterm to support all this.  Cleaned
3564
 
                up the comments in the js_notmatch_offset code (they were
3565
 
                never cleaned up from the Kiwi days).  Clean up of some
3566
 
                code in Queries.c.  Wrote about half of the line parsing
3567
 
                code for parsing csv1 lines. csv1 format doc clean
3568
 
                up. (2001.03.07)
3569
 
 
3570
 
<p>
3571
 
maradns-0.1.20: I have decided that MaraDNS will use UTF-8 to support 
3572
 
                international characters in domain names.  I have added
3573
 
                the draft RFC for UTF8 domain names and a description of
3574
 
                UTF8 in the docs.  In terms of code, we now have code   
3575
 
                that converts ISO 8859-1 to UTF-8.  In addition, I have
3576
 
                written up a couple of documents describing the csv1
3577
 
                non-standard Zone file format, and how MaraDNS will
3578
 
                resolve a domain name. (2001.03.06)
3579
 
 
3580
 
<p>
3581
 
maradns-0.1.19: Added routines to handle getting all of the keys of a hash
3582
 
                in series (in the semi-random order they are in the hash
3583
 
                table).  Corrected errors in parseline code, it now
3584
 
                works with foo["bar"] = "baz" lines and no longer considers
3585
 
                foo["bar"] = baz legal.  foo["bar"] = 1 is still legal.
3586
 
                (2001.03.04)
3587
 
 
3588
 
<p>
3589
 
maradns-0.1.18: More ParseMaraRC hacking (this this is a real hack. 
3590
 
                A really bad hack.  At least the elegant js_string lib
3591
 
                stops it from being a security problem).  It now has
3592
 
                routines that can fill up an assosciative array based
3593
 
                on user-specified keys and values.  Next: Routine that
3594
 
                reads the rc file, and, based on the data there, begins 
3595
 
                reading zone files.  The zone files will then be read in
3596
 
                turn, and then populate a hash.  (2001.03.03)
3597
 
 
3598
 
<p>
3599
 
maradns-0.1.17: More ParseMaraRC.c hacking.  Now, it can parse
3600
 
                'foo = {}', 'foo["bar"] = "baz"', and 'foo = "bar"'.  
3601
 
                Next: Write the routine to read an entire maradnsrc (maybe
3602
 
                we should just call this mararc) and fill up the hash
3603
 
                table with the names of all of the zones. (2001.03.03)
3604
 
 
3605
 
<p>
3606
 
maradns-0.1.16: Modified js_anq_chars handle just numerics.  Made it 
3607
 
                correctly handle just alphabetics.  Renamed 'ctest' to
3608
 
                'askmara'.  Rewrote askmara.c to have all labels in
3609
 
                another file (askmara_labels_en.h), to make translation
3610
 
                easier.  (2001.03.02)
3611
 
 
3612
 
<p>
3613
 
maradns-0.1.15: Continuing the retooling of code from the KiwiSpam package
3614
 
                to use assosciative arrays in ParseMaraRC.c.  Yes, this whole
3615
 
                parser is a hack instead of a proper parser.  Right now, the
3616
 
                single line parser groks foo["bar"] = baz.  Next: get it
3617
 
                to grok foo = {} (2001.03.01)
3618
 
 
3619
 
<p>
3620
 
maradns-0.1.14: Beginning the retooling of code from the KiwiSpam package
3621
 
                to use assosciative arrays in ParseMaraRC.c.  This will
3622
 
                be a fairly extensive code rewrite, considering the code I am
3623
 
                modding is somewhat hacky itself. (2001.03.01)
3624
 
 
3625
 
<p>
3626
 
maradns-0.1.13: Fixed bug where ctest resolver program did not print out SOA
3627
 
                replies (2001.02.28)
3628
 
 
3629
 
<p>
3630
 
maradns-0.1.12: Added support for TXT in ctest resolver code.  Made ctest code
3631
 
                more hardy--it validates all input and returns an error if
3632
 
                there is a problem at any point.  
3633
 
                (2001.02.27)
3634
 
 
3635
 
<p>
3636
 
maradns-0.1.11: Support for MX and SOA, and a number of other formats that
3637
 
                may have compressed data in them now added to the 
3638
 
                decompression routine.  ctest now can parse any RR that
3639
 
                MaraDNS fully supports except TXT (A, NS, SOA, MX, CNAME, 
3640
 
                HINFO), and is now a rather verbose dig replacment.  Got
3641
 
                rid of the cruft variables in the decompression routine.
3642
 
                Next: Have a routine to decode TXT data.
3643
 
                (2001.02.27)
3644
 
 
3645
 
<p>
3646
 
maradns-0.1.10: You know how to handle buggy code?  Rewirte the code so 
3647
 
                that it is simpler and less buggy.  A lot of the overhead
3648
 
                I had was not needed to keep things secure.  The docs
3649
 
                on how MaraDNS handles decompression have been revised 
3650
 
                also.  RFC1035 decompression now works, still need to
3651
 
                add MX and SOA, and possibly support for other data types
3652
 
                that get compressed (SRV, the obscure RFC1035 datatypes, 
3653
 
                etc.) Also, get rid of some of the cruft variables in the
3654
 
                decompression code. (2001.02.26)
3655
 
 
3656
 
<p>
3657
 
maradns-0.1.09: Had a good weekend.  Got to see a friend of mine and his wife
3658
 
                get baptised.  Continued work on decompress_data.  It is 
3659
 
                still buggy, but I am working out the bugs. (2001.02.26)
3660
 
 
3661
 
<p>
3662
 
maradns-0.1.08: Added read_rr_h.  Also began work on decompress_data
3663
 
                (Ugh.  rfc1035 compression is horrible.)  (2001.02.22)
3664
 
 
3665
 
<p>
3666
 
maradns-0.1.07: Fixed potential overflow in rtest (probably never exploitable)
3667
 
                Discovered that DNS servers do not support QDCOUNT > 1 in DNS
3668
 
                queries.  Made notes in "doc" about this.  (2001.02.21)
3669
 
 
3670
 
<p>
3671
 
maradns-0.1.06: ctest now sends correctly formed DNS queries to a DNS server
3672
 
                (2001.02.21)
3673
 
 
3674
 
<p>
3675
 
maradns-0.1.05: Added hname_2rfc1035, which does the reverse of 
3676
 
                hname_translate.  Beginning work on ctest, which is a
3677
 
                test DNS client, to see what kind of replies we get
3678
 
                from DNS servers. (2001.02.21)
3679
 
 
3680
 
<p>
3681
 
maradns-0.1.04: Debugged routines in Query.c that convert a RFC1035 question
3682
 
                in to a query.  Added routine that converts a RFC1035 domain
3683
 
                name (with class) in to a dotted-decimal hostname.
3684
 
                (2001.02.20)
3685
 
 
3686
 
<p>
3687
 
maradns-0.1.03: Began work on debugging routines in Query.  Time to go to
3688
 
                work (2001.02.20)
3689
 
 
3690
 
<p>
3691
 
maradns-0.1.02: Wrote first (test-only) server that listens on port 53.
3692
 
                Using this server to determine what kind of data resolvers
3693
 
                ask for. (2001.02.20)
3694
 
 
3695
 
<p>
3696
 
maradns-0.1.01: Added some more RFC1035 data to MaraDns.h (2001.02.20)
3697
 
 
3698
 
<p>
3699
 
maradns-0.1.00: Begin work on handlers to handle various data types that
3700
 
                RFC1035 has. (2001.02.20)
3701
 
 
3702
 
<p>
3703
 
maradns-0.0.08: Added js_anq_chars, js_alpha_chars, and js_an_chars to 
3704
 
                JsStrCP object.  (2001.02.19)
3705
 
 
3706
 
<p>
3707
 
maradns-0.0.07: Good morning!  Added mtuple_new, mtuple_put, and mtuple_get
3708
 
                functions.  Fixed bug where mhash_inc would allow a return
3709
 
                value of 0.  Fixed Makefile so make clean cleans up mtest
3710
 
                binary.  Added bounds testing to mhash_resize hashtable size.
3711
 
                Time to eat breakfast. (2001.02.19)
3712
 
 
3713
 
<p>
3714
 
maradns-0.0.06: Added mara_tuple support and verified that hash collisions
3715
 
                are properly handled.  Time to go to evening church recital.
3716
 
                (2001.02.18)
3717
 
 
3718
 
<p>
3719
 
maradns-0.0.05: Corrected mhash_resize to blank out the hash we resize to.
3720
 
                Create mtest.c program to test the creation of hash
3721
 
                elements.  Time to get ready for church.  (2001.02.18)
3722
 
 
3723
 
<p>
3724
 
maradns-0.0.04: We now properly handle the case of trying to add an
3725
 
                element already there (return an error), and have
3726
 
                more error checking to make sure we don't crash
3727
 
                because of corrupt hash data.  Added an interactive
3728
 
                test which lets the user interactively add, delete, and
3729
 
                view hash elements.  Time to go to bed (2001.02.18)
3730
 
 
3731
 
<p>
3732
 
maradns-0.0.03: Some more work has been done.  mhash_undef_js and
3733
 
                mhash_resize functions written and compile. (2001.02.18)
3734
 
 
3735
 
<p>
3736
 
maradns-0.0.02: MaraHash functions--assosciative array methods utilizing
3737
 
                a hash--have been set up.  This has the functions
3738
 
                mhash_create, mhash_js, mhash_inc, mhash_put,
3739
 
                mhash_get, mhash_undef, mhash_put_js, and mhash_get_js.
3740
 
                Debugging done--these functions can perform basic
3741
 
                get/put operatins with elements in an assosciative
3742
 
                array. (2001.02.18)
3743
 
 
3744
 
<p>
3745
 
maradns-0.0.01: First version of MaraDNS package.  Added iso-8859-1 support
3746
 
                to JsStr routines.  Added js_qappend and js_qprepend
3747
 
                functions there.  In addition to js_qfgrep.  All tested
3748
 
                functions work and are without error. (2001.02.17)
3749
 
 
3750
 
<p>