-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
There is an extensive list of tests for every SPF implementation to follow. These tests suites can be found here: http://www.openspf.org/Test_Suite
A sample of this file:
---
description: Initial processing
tests:
toolonglabel:
description: >-
DNS labels limited to 63 chars.
comment: >-
For initial processing, a long label results in None, not TempError
spec: 4.3/1
helo: mail.example.net
host: 1.2.3.5
mailfrom: lyme.eater@A123456789012345678901234567890123456789012345678901234567890123.example.com
result: none
longlabel:
description: >-
DNS labels limited to 63 chars.
spec: 4.3/1
helo: mail.example.net
host: 1.2.3.5
mailfrom: lyme.eater@A12345678901234567890123456789012345678901234567890123456789012.example.com
result: fail
zonedata:
example.com:
- TIMEOUT
example.net:
- SPF: v=spf1 -all exp=exp.example.net
a.example.net:
- SPF: v=spf1 -all exp=exp.example.net
exp.example.net:
- TXT: '%{l}'
a12345678901234567890123456789012345678901234567890123456789012.example.com:
- SPF: v=spf1 -all
hosed.example.com:
- SPF: "v=spf1 a:\xEF\xBB\xBFgarbage.example.net -all"
hosed2.example.com:
- SPF: "v=spf1 \x80a:example.net -all"
hosed3.example.com:
- SPF: "v=spf1 a:example.net \x96all"
nothosed.example.com:
- SPF: "v=spf1 a:example.net -all"
- SPF: "\x96"
fine.example.com:
- TXT: "v=spf1 a -all"Ideally, we parse the YAML and generate Elixir tests from this. Although that might not be easy, especially considering it almost requires a complete DNS server to function with the timeouts and all that stuff.
Going to get started and give it a shot.
Metadata
Metadata
Assignees
Labels
No labels