Reason for rejected message ?

Vernon Schryver vjs@calcite.rhyolite.com
Thu Mar 1 18:48:11 UTC 2007


> From: Giulio Cervera 

> i have a similar probem with 1.3.51
>     DNSBL name "combined.njabl.org,any,IPv4" too long

I have figured out this problem:

  - the field in the UDP packets passed between dccm or dccifd and the
      DNS helper containing the string to be checked in the DNS blacklist
      is MAXHOSTNAMELEN bytes long

  - version 1.3.45 of the DCC code incorrectly assumed that the worst
     case length of the ASCII representation of an IP address to be
     checked in a DNSBL is 16 bytes.  That's fine for all common,
     existing DNSBLs which are only about IPv4 addresses, but a 
     bug waiting to happen if IPv6 ever becomes real.  It should be
     the 46 that it is in 1.3.51.

  - Linux (or at least SUSE) defines MAXHOSTNAMELEN as 64.  Systems
     I prefer define MAXHOSTNAMELEN as 256 or even larger.   

   - so when I fixed the pending bug, things broke on Linux.


Don't ask me how a Linux system might have a FQDN of hostname where
people like very long domain names.  Section 3.1 of RFC 1035 says

]                            the total length of a domain name (i.e.,
]   label octets and label length octets) is restricted to 255 octets

I guess I'll go through the DCC source and change a bunch of references 
to MAXHOSTNAMELEN to something else....but not the 

Next I'll try to figure out what the Linux people have to the BIND
resolver library besides rename things to make the timeout controls
not work.


One good thing I found was that the bug in updatedcc that occurs
only where Linux's notion of /bin/sh has that incompatible notion
of the precedence of ' and ` does not keep updatedcc from working,
at least not in 2.6.11.4-21.2.

An oddity I saw while installing SUSE and then trying to debug these
problems was that the X server ate up 97.2% of a CPU for hours on end.
And what's with the imitation of csh that insists on cross-examining me
every time I type something wrong instead of just tell me I erred?
Or telling me that `cd` has done what I told it to do?
Or /bin/sh or su (I've not figured out which) spewing /etc/motd every time 
a non-interactive shell such as /var/dcc/libexec/start-dccid runs?
Yes, I assume I could fix all of those, but all except that last one
aren't worth wasting time.

Have I mentioned lately that I'm not a Linux fan?

Or that I wasted an hour or two trying to find the Microstupid style
name cache inside SUSE that has `ping` insisting on stale DNS names
or not resolving domains like ns.usenix.org until something else 
pokes at the name.


Vernon Schryver    vjs@rhyolite.com



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.