You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Marc Perkel <ma...@perkel.com> on 2008/04/04 02:53:41 UTC

New DNS list for host information using strings instead of numbers


Theo Van Dinter wrote:
> I'm not saying anything positive or negative about the different lists,
> but there's a long precedent of doing this type of thing w/ bits in a
> standard DNS response.  Look at SURBL and URIBL, for example -- a single
> response encodes multiple individual list entries, and there's no special
> code that needs to be written for it.
>
>   

Yes - using bits has been traditional and it has worked well in the past 
where mostly it was used to indicate if something is or is not 
blacklisted. What I'm proposing envisions returning a wide variety of 
information and where host names might be in multiple categories. Using 
numbers is also confused when it is possible that multiple numbers could 
be returned and then standardizing on what bits mean what messages.

Returning a single string allows for human readable messages as flags. 
You make one call to get the string and then parse the string for the 
flags you are looking for. Generally bit based systems require complex 
bit masking that, except for SA and Exim, bost systems aren't capable of 
dealing with. In my case I've been returning different codes for a wide 
variety of listing and I'm about to add more and I'm wondering, do I 
stay with bits or do I ask id bits are the right path to the future.

For example. A host is verified as yahoo.com. On my system it is yellow 
listed. That means that not information can be decided based on the IP 
address as to is it is spam or ham. It is also a flag that indicates not 
to either white list or black list the IP. But now I want to also list 
it as a freemail domain because I do conditional based on if it is 
freemail. So I'm now returning 2 pieces of information about that host.

Suppose I want to return 3 or 4 or more flags on the host name? Do I 
return 4 values? Or do I return one value and use bitmasks? Or - as I'm 
suggesting here - do I return a string with all the flags I want? I'm 
thinking the in the long term that there are going to be a lot of flags 
that will be useful to classify the host and that a string is ultimately 
the best solution.

I'm at a point where the numbers I return are more complex for most 
systems to handle. Therefore I can switch at this point to a string 
system because the bit mask system to do what I want doesn't exist 
either. So I'm thinking maybe I need to do this right from the start and 
not end up regretting it later. So that's what I'm leaning towards.