2003-04-01 0.74pre4

 - reorganized zone loading to allow loading from several files
   (split xx_load into xx_alloc, xx_load and xx_finish).

 - new zonetype: generic, simplified bind-alike format.

2003-03-31 0.74pre3

 - not change but a note:
   0.74pre1 change introduced a question.  What dns server should return
   in case of e.g. TXT query for listed IP but no TXT value is available?
   Two choices: return NXDOMAIN, or return no RRs at all.  Pre-0.74
   rbldnsd returned NXDOMAIN, now it returns zero RRs in this case.
   DJB's rbldns always adds fake, zero-length TXT in this case.  BIND
   returns no records.  For now, I'll follow BIND's behaviour, i.e.
   no records in successeful answer will be returned.

 - use one mempool for dnvset again.

 - reviewed logging, should be ok for buffer-overflow things.
   Also, prevent log flooding in case input file contains many
   errors (only first 5 is logged)

 - some more source reorganizations and simplifications.

2003-03-30 0.74pre2

 - removed sstr completely, in flavour of mempool.  For *different*
   data (like in wirehub.net's permblockIP.txt - many number of
   *different* strings), sstr is very inefficient.  Switch to
   (enhanced) mempool allows much faster loads of non-repeated
   values, but uses much more memory on _randomized_ relays.osirusoft.com
   zone (but it is still good on original relays.osirus zone, where
   equal entries follows each other most of the time)

 - modified mempool (and added strpool: "subclass" of mempool).  Much
   faster, uses larger chunksize (64K vs 8K), and moves chunks with
   only a few free space (less than average data size) to "full" chunk
   list.

 - little optimization in dn[v]set: add lower number of dn labels limit,
   do not try to search DNs with less labels than minlab.

 - stop searching zone list at first applicable zone.  For now.  Should
   add sorting of zones (longer first), or else, if relays.osirusoft.com
   specified before dialups.relays.osirusoft.com, first will catch all
   queries to the second and second will never be considered.  Currently,
   order is the same as was in command line.  Hmm... but user may know
   better which zones will be accessed more frequently.  Probably should
   document this instead.

 - fixed another bug introduced in 0.74pre1 - uninitialized A RR for
   dnvset zone files

2003-03-29 0.74pre1

 - added exclusions to ip4vset and dnvset zones - entry starting with
   an exclamation sign `!' treated as _excluded_ from a set.  Useful to
   include large networks but exclude some hosts.
 
 - fixed potential memory leak when memory is unsufficient to extend an
   array of entries (may this even happen?), where erealloc() routine is
   used

 - added pidfile (-p) writing option.  Thanks to Bruce Gingery @gtcs.com.

 - reorganized source

 - use common routine to read zone data files, and handle long lines
   in zones more accurately

 - allow first line of zonedata to start with a comment, so default
   RR values may be specified in first _non-comment_ line.

2003-02-12 0.73

 - bugfix: ip4vset, when no A RR was given for a particular IP,
   returned strange A RR instead of default one.  Noticied by
   Karl A. Krueger @whoi.edu.
 
 - bugfix: rbldnsd segfaulted when given A/TXT RR in a (incorrect)
   form
     :Some text
   instead of
     :1.2.3.4:Some text

2003-01-09 0.72

 - yet another bug in ip4vset: not all records where returned
   for listings >= /24.  Thanks Furio Ercolessi for finding this.

2003-01-08 0.71

 - fixed a bug: in ip4vset, rbldnsd returned only one TXT record
   when several entries are present

 - fixed a bug with incorrect sorting of dnset record (resulted
   in returning NXDOMAIN for almost every query to such zones)

 - archive now unpacks to rbldnsd-NN.NN directory

2002-12-05 0.7

 - added an initial manual page

2002-11-30 0.6

 - speed up significantly (about 3 times) zone loading
   by reorganizing sstr pool to be a hash table.  Restrict
   length of text records to 254 bytes.
 - implemented proper signal blocking during zone reloads
 - cleaned up signal handling (use POSIX signal primitives)
 - added some comments to the code
 - do not use *log() routines with user-controllable data,
   changed logging and added length checks for command-line
   parameters - all to avoid possible buffer overruns after
   user (not network!)-supplied data

2002-11-28 0.5

 - fixed a bug with incorrect formatting of IP address
 - allow last digit of 127.0.0.x A result in lists to save space
 - first release with a few changes (too much changes was before)
