spf-discuss
[Top] [All Lists]

Re: new ABNF for the SPF spec

2005-07-10 14:52:56
wayne wrote:

* The definition for the unknown-modifier has been changed
  slightly to note that unknown modifiers MUST NOT match
  "redirect" and "exp".

Ugh.

The differene between <domain-spec> and <macro-string> is
apparently that the former has a trailing <domain-end>.

So for redirect= and exp= you insist on a trailing <toplabel>
or <macro-var> (and syntactically the latter can be nonsense).

In other words better stay from this idea, you can't catch
all bogus redirect= and exp= in syntax.  With our new syntax
you'd only catch *( DIGIT / "." ) or similar cases.

I have created a series of ANBF terms in the form of
range$i-$j

Okay, let's first get that ready, without touching the other
problem, I think it's fine.

                      / "1" DIGIT                ;  10 ..  19
                      / "2" DIGIT                ;  20 ..  29

How about               / (( "1" / "2" ) DIGIT )   ;  10 ..  29

                      / "3" %x30-32              ;  30 ..  32

Dito                    / "30" / "31 " / 32"       ;  30 ..  32

                      / "10" DIGIT               ; 100 .. 109
                      / "11" DIGIT               ; 110 .. 119

Dito                    / (( "10" / "11" ) DIGIT ) ; 100 .. 119

                      / "12" %x30-38             ; 120 .. 128

Recommended grouping    / ( "12" %30-38 )          ; 120 .. 128

                      / range1-9 DIGIT           ;  10 .. 99

Dito                    / ( range1-9 DIGIT )       ;  10 ..  99

                      / "1" 2DIGIT               ; 100 .. 199

Dito                    / ( "1" 2DIGIT )           ; 100 .. 199

                      / "2" %x30-34 DIGIT        ; 200 .. 249

Dito                    / ( "2" %x30-34 DIGIT )    ; 200 .. 249

                      / "25" %x30-35             ; 250 .. 255

Dito                    / ( "25" %x30-35 )         ; 250 .. 255

   toplabel         = ALPHA / ALPHA *[ alphanum / "-" ] alphanum

     toplabel         = ALPHA [ *( alphanum / "-" ) alphanum ]

IIRC Bill's validator doesn't not like *[ x ] instead of *( x )

                      Bye, Frank