ietf-mxcomp
[Top] [All Lists]

Re: change of version string

2004-08-11 02:49:57


 example.com TXT "v=spf1 a mx ptr"
 example.com TXT "v=spf2 a mx ptr"

example.com 3600    IN 104  "a mx ptr"
example.com 3600 IN 105  "a mx ptr"

Perhaps it would be usefull if we allow one type of SPF record to reference
(include, refer to) another type of SPF record, this would eliminate 
duplication problems in case of long records and avoid issues with large 
dns packet (because of multiple large txt records) as well.

Right now in the drafts published it is not clear if this is allowed, but 
my reading from MARID drafts is that for MARID (i.e. v=spf2 or v=marid1,  
whatever) it is not and in case of reference, it must refer to the same 
v=marid type/version txt record. I understand this to be the resolt of an 
issue in that we can not easily reference different txt records for the 
same domain (FQDN), especially a problem when you have to reference same
FQDN as the record itself (i.e. like with above example). So to change 
that it would be necessary to slightly enhanced syntax to allow include 
to specify type (version) of SPF txt record. An example of what I'm 
proposing is below:

example.com TXT "v=spf1 a mx ptr"
example.com TXT "v=spf2 include:example.com/v=spf1"

(ok from the above example the include itself is longer the original 
 record, but for longer records, it makes more sense)

The issue of where the version number is located is independent of the
record type. 

Not quite, if we go with pure TXT-like record for new MARID dns type, then 
versioning is expected to be done same as with SPF TXT record (i.e. its 
part of the data text portion), But when doing new dns record type we do 
have an option of having some required parts of the data put into their 
own specified binary locations in record separate from main text portion.
In case of version number this saves a little (2 bytes taken by "v=") on 
the size of typical record. So for example record would look like:
  example.com SPF 1 "a mx ptr"
rather then pure text representation like
  example.com SPF "v=1 a mx ptr"

But doing it with one byte (or two bytes just in case) for version number 
does mean we're adding something new for IANA to keep track off and adding
new version type can not be done by "name" (i.e. "spf1" or "marid1") and
it we're expecting for all clients to know version number or be able to 
look it up by name in IANA records.

-- 
William Leibzon
Elan Networks
william(_at_)elan(_dot_)net