[rbldnsd] Announcing upcoming data format change

Michael Tokarev mjt at tls.msk.ru
Fri Nov 28 09:06:59 MSK 2003

Upcoming version of rbldnsd will understand slightly
different format of NS records.  This email intended
to prepare for the transition and make it painless.

Currently, rbldnsd expects several NS records to be
entered one on it's own line, like:

$NS 1234 ns1.example.com
$NS 1234 ns2.example.com

Upcoming release will understand this format too to
make transition easier, but will accept new format,
where all NS records are on ONE line.  Next version
will ONLY understand NS records in one line.  Like:

$NS 1234 ns1.example.com ns2.example.com

Current version ignores anything on the $NS line after
first domain name.  While new release will accept
several $NS lines of ONE nameserver on each (but will
log a warning in this case), but will ignore all $NS
lines after a multi-value $NS.

This all is in order to be able overwrite $NS in 3rd
party data by specifying different $NS line BEFORE
the 3rd party $NS line.  That is, by specifying
additional local file (containing $NS and $SOA, which
is already may be overwritten this way) before a file
downloaded from blocklist operator.

New version works as following:

o When there's $NS line with multiple nameservers on
   it, rbldnsd will ignore all other $NS lines in this
   same dataset, including all single-value ones that
   has already been read so far, and all, including
   multi-value ones, that may be encountered next while
   reading current dataset.

o When there's NO multi-value $NS line, rbldnsd will
   work as it is now, ie by collecting and accepting
   all of them.

Current version, which ignores all but only first value
in $NS line, will collect NS records from all lines

In order to make transition easy, please change your
data format *now* as described below, so there will
be no need to change anything when it will be too
later ;)

Ie, instead of current

$NS 1234 ns1.example.com
$NS 1234 ns2.example.com


$NS 1234 ns1.example.com ns2.example.com
$NS 1234 ns2.example.com

Or, in case if you have 3 or more nameservers:

$NS 1234 ns1.example.com ns2.example.com .. nsN.example.com
$NS 1234 ns2.example.com
$NS 1234 nsN.example.com

This way, current version will read it "vertically",
while new version will read it "horisontally", from
the first line only.  Later, when all your secondary
nameservers will be upgraded, it will be possible to
remove all "extra" compatibility lines.

When new version will read the above, it will not log any
warnings.  It will log a warning however if there will be
no multi-value first line - a warning about format change.

When old version will read the above, it *may* log a warning
due to too long first line (if you have many nameservers):
line length limit currently is 512 bytes.  But this warning,
while may be annoying, is harmless (rbldnsd just ignores
the rest of a long line).

I expect to release rbldnsd-0.990 this weekend (testing is
going on right now :)


More information about the rbldnsd mailing list