$Id: CHANGES-0.81,v 1.4 2003/04/05 07:47:28 mjt Exp $ 2003-04-03 0.81 - IP4RANGES is now the default (but old behaviour may be selected by defining -DNOIP4RANGES). Updated manpage etc. 2003-04-03 0.81pre2 - -v option is gone, logging is now done with -l logfile option - reorganized source: moved various parts into separate files, cleanups - ip4addr library modified: new and improved/completed "parsers" (ip4addr, ip4range, ip4prefix, ip4cidr - ip4parse.c) - preparations to handle net ranges. Feature is implemented but not yet tested well. NOT compiled in by default (specify DEFS=-DIP4RANGES if you want to try this out). To test what it looks like, make ip4rangetest and execute it with netranges in command line. Famous ip4range_expand macro in rbldnsd.h... 2003-04-03 0.81pre1 - revisited default A/TXT values handling when reading multiple files. Now, ip4set and dnset will get A/TXT from the FIRST file, :A:TXT in subsequent files will be ignored; ip4vset and dnvset will not assign A/TXT from previous file if a given file has no :A:TXT line. - corrected a typo in ip4cidr.c: reversed error return. Does not affect rbldnsd (happened only when ip4cidr was called with zero last argument) - added code to remove duplicates from zones. Enabled by default, may be disabled by adding DEFS=-DNOREMOVEDUPS when compiling (maybe made this runtime-configurable? But not per-zone, please!..;). Tested on concatenation of list.dsbl.org (192796 entries) and unconfirmed.dsbl.org (209198 entries, list.dsbl.org is completely included into unconfirmed): On PII-233 machine, using ip4vset, load time is 0m5.910s when not removing dups, and 0m6.030s when removing dups so the difference is almost unnotiseable. 2003-04-02 0.80 - many changes. Reworked zone handling code significantly. See NEWS file for details. 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)