ietf-mta-filters
[Top] [All Lists]

Re: ABNF or example error in RFC 5228

2008-12-17 06:10:56

Magnus Westerlund wrote:

Hi,
Hi Magnus,

When reviewing the ihave document I stumbled on what I believe to be a
bug in RFC 5228 regarding string list:

2.4.2.1.  String Lists

  When matching patterns, it is frequently convenient to match against
  groups of strings instead of single strings.  For this reason, a list
  of strings is allowed in many tests, implying that if the test is
  true using any one of the strings, then the test is true.

  For instance, the test 'header :contains ["To", "Cc"]
  ["me(_at_)example(_dot_)com", "me00(_at_)landru(_dot_)example(_dot_)com"]' is 
true if either a To
  header or Cc header of the input message contains either of the email
  addresses "me(_at_)example(_dot_)com" or 
"me00(_at_)landru(_dot_)example(_dot_)com".

  Conversely, in any case where a list of strings is appropriate, a
  single string is allowed without being a member of a list: it is
  equivalent to a list with a single member.  This means that the test
  'exists "To"' is equivalent to the test 'exists ["To"]'.


Section 3.2 for example contains the following example:

  Example:  require ["fileinto", "reject"];

However if one looks at the ABNF for string-list it says:

  string-list  = "[" string *("," string) "]" / string
                   ; if there is only a single string, the brackets
                   ; are optional

  string       = quoted-string / multi-line
  quoted-string      = DQUOTE quoted-text DQUOTE
  multi-line         = "text:" *(SP / HTAB) (hash-comment / CRLF)
                       *(multiline-literal / multiline-dotstart)
                       "." CRLF
I am looking at the ABNF and not seeing anything wrong. Maybe I was looking for too long at this.
So can you elaborate on what you think is wrong?

So it seems that the description, the examples of string lists doesn't
match the ABNF syntax for string lists. If I am correct, I think the WG
needs to address this somehow.

<Prev in Thread] Current Thread [Next in Thread>