Re: Re: Problems with spf testsuite and dns specification

Stefano Bagnara <[email protected]>
Newsgroups gmane.mail.spam.spf.devel
Message-ID <[email protected]>
Julian Mehnle ha scritto:
> Stefano Bagnara wrote:
>> Can someone add this issue to the Errata page
>> (http://www.openspf.org/RFC_4408/Errata) or change the testsuite to not
>> check this?
> 
> In order for this to become an erratum to RFC 4408, it would have to be 
> approved by the council.  I can table this for the next council meeting, 
> even if -- as I said -- I don't think that would be the correct solution.
> 
> As far as the test suite is concerned, a change can eventually happen, but 
> it won't be "fast".  Perhaps in a week or two.  But see below.

A week or two would be fast enough :-)
I just wanted to be sure that this won't be lost...

>> I bet that most "compliant" SPF implementations currently use resolver
>> libraries that compact the results
> 
> (For what it's worth, I somehow doubt that client-side unification of 
> multiple identical RRs is widely implemented in DNS _resolvers_.)

A big problem are DNS caches: as far as I understood BIND does compact
identical RRs, so any user using an SPF client against a BIND cache (90%
of users around the world?) will have big probability to never see
identical duplicate RRs.

So this lead to inconsistent result when someone publishes multiple
identical records: you cannot tell if users will receive PermError or
they will accept it... IMHO unpredictable result is bad for a
specification directive, that's why I think a more consistent approach
would be to accept multiple identical records as a single records and to
not fail. This way the dns caches behaviour will not alter the SPF
processig/result.

Of course this is something the council will have to decide and I'm ok
with most solutions, but I need a solution ;-)

>> and in real use cases they probably fail to recognize identical duplicate
>> records: are these implementations being tested against real dns servers
>> or the resolution process is mocked?
> 
> I currently don't know of any RFC 4408 compliant implementation that tests 
> against live DNS.  There may be some, but I don't know any.

In jSPF we created a DNS server that takes the data from the test suite
and provide results according to that data to the client. So the client
resolving library is also tested for real. Doing this work I found out
the duplicate record issue ;-)

I think that the "mockable" DNS Server we created might also be useful
to spf team to better test implementations without mocking the
resolution mechanism in the library.

>> How can I help to have a fast solution for the test suite? I'd like to
>> complete our jSPF library and make sure it is compliant and this issue
>> is critical.
> 
> Until the issue is resolved officially, you can instruct your jSPF test 
> suite driver to skip the problematic tests, explicitly declare in your 
> documentation that you cannot comply with those tests, and explain why.

This would weak the test suite. I think that at least adding "cloned"
tests for multispf tests replacing multiple identical records with
multiple different records would help differentiating the problem and
this seems to be a task that you can approach without council
requirements... WDYT?

Add this to the tests:

  multispf3:
    description: >-
      Multiple records is a permerror, even when they are identical.
    spec: 4.5/6
    helo: mail.example1.com
    host: 1.2.3.4
    mailfrom: [email protected]
    result: permerror
  multispf4:
    description: >-
      Older implementations will give pass because there is a single
      TXT record.  But RFC 4408 requires permerror because the SPF
      records override and there are more than one.
    spec: 4.5/6
    helo: mail.example1.com
    host: 1.2.3.4
    mailfrom: [email protected]
    result: [permerror, pass]

and in the zone

  example10.com:
    - SPF:  v=spf1 -all
    - SPF:  v=spf1 +all
  example11.com:
    - SPF:  v=spf1 -all
    - SPF:  v=spf1 +all
    - TXT:  v=spf1 +all


Stefano

-------------------------------------------
-----------------------------------------------------------------------
To unsubscribe, change your address, or temporarily deactivate your
subscription,
please go to http://v2.listbox.com/member/?member_id=6959932&user_secret=62b4c45f
Powered by Listbox: http://www.listbox.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.