In message <[email protected]>, Alessandro Vesely writes:
> On Tue 30/Apr/2013 01:07:42 +0200 Mark Andrews wrote:
> > 
> >     The really annoying thing is that SPF is techically superior
> >     to TXT is lots of ways.
> > 
> >     1. It uniquely identifies the roll of the record.
> > 
> >     2. As SPF records are singletons you don't need to identify
> >        and remove the old record when updating.  You can just
> >        remove all SPF record and add the replacement.
> > 
> >        For TXT you need to lookup the existing RRset, extract
> >        the v=spf1 record from it.  You then need to create a
> >        UPDATE message to delete just that record as well as add
> >        the new TXT record.   You then have to hope that no one
> >        else is performing a simultanious update as you may get
> >        two TXT v=spf1 records in the RRset.
> 
> That's true, except that one has TXT records anyway.

        nsupdate
        update del example.com SPF
        update add example.com 3600 SPF v=spf1 ....
        send

        txt=`dig +short example.com TXT | \
        sed -n -e '/^"v=spf1 /s/^/update del example.com TXT /p' \
               -e '/^"v=spf1"$/^/update del example.com TXT /p'`
        nsupdate << EOF
        $txt
        update add example.com 3600 TXT v=spf1 ....
        send
        EOF

        But that doesn't work for 'example.com TXT "v" "=" "s" "p" "f" "1"'
        which is a perfectly legal SPF record.

        sed -n -e '/^"v=spf1 /s/^/update del example.com TXT /p' \
               -e '/^"v" "=spf1 /s/^/update del example.com TXT /p' \
               -e '/^"v" "=" "spf1 /s/^/update del example.com TXT /p' \
               -e '/^"v" "=" "s" "pf1 /s/^/update del example.com TXT /p' \
               -e '/^"v" "=" "s" "p" "f1 /s/^/update del example.com TXT /p' \
               -e '/^"v" "=" "s" "p" "f" "1 /s/^/update del example.com TXT /p' 
\
               -e '/^"v" "=" "s" "p" "f" "1" " /s/^/update del example.com TXT 
/p' \
               -e '/^"v=spf1"$/^/update del example.com TXT /p'`
        
        And keep going because the delete needs the rdata to be a
        perfect match to identify the record to be removed.

        I'm sure I could come up with a more compact way of identifying
        a spf record but it wouldn't be needed if people published type
        SPF.

> >     The complains about using SPF is that there are broken
>p >    firewalls and some servers drop queries for it, some registars
> >     don't support it.
> 
> Nits, as explained below.  The basic fact that killed the SPF type is
> the ability to use TXT as a replacement.  There must be an analogous
> of Gresham's law:  "Bad types drive out good ones."
> 
> >     For firewalls, fix/replace the firewall if you intend to
> >     deploy SPF and it doesn't support it.  It is total !@##@#
> >     that firewall are incapable of handling new DNS record
> >     types.  New records we exected to occur from the very
> >     beginning and have been coming out regularly ever since the
> >     DNS was invented.  Firewall vendors that are incapable of
> >     handling new DNS types are incompetent and do not deserve
> >     repeat business.
> > 
> >     For servers than drop SPF queries they really are at the
> >     noise level.  When you identify one you complain to the
> >     owners of it.  Yes, that does work.  We needed to do that
> >     for AAAA records.
> > 
> >     For registrars, change registrar to one that does.
> 
> While it's too late for SPF, we can learn this lesson.
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email protected]

Reply via email to