On Fri, 15 Jul 2005, Scott Kitterman wrote:
IIRC it's just legal, some weird RfC about zone-cuts below /24
or a similar headache, I forgot the number. It caused a major
revision of Mark's last MARID syntax in Wayne's first classic
spec., that's why we have the <toplabel> today.
-exists:%{i}(_dot_)%{s1(_at_)}(_dot_)100/86400.rate.%{d}
A "/" should be okay, with %{d} instead of <toplabel>. It's
only tricky if you have e.g. /25 at the end. But an exists:
has no CIDR, the trick affects only a: or mx: mechanisms.
The complexity here in pySPF is that it looks for a CIDR range before it
knows which mechanism is in play.
Some additional test cases for parse_mechanism(), and it won't be bad.
Notice I altered a test case to check for case insensitivity.
Sometimes test cases are hard (e.g. a full SPF evaluation requires
simulated DNS lookup). But test cases for parsing are easy.
--
Stuart D. Gathman <stuart(_at_)bmsi(_dot_)com>
Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154
"Confutatis maledictis, flamis acribus addictis" - background song for
a Microsoft sponsored "Where do you want to go from here?" commercial.