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

Re: I-D ACTION:draft-ietf-sieve-variables-04.txt

2005-07-20 16:05:50


On Wed, 2005-07-20 at 14:54 -0700, Philip Guenther wrote:
Kjetil Torgrim Homme <kjetilho(_at_)ifi(_dot_)uio(_dot_)no> writes:
there is no ABNF in [REGEX] to refer to, and a full list will be prone
to inaccuracies.  not that I expect any changes to the syntax allowed by
it, but ...

That would be an argument for moving :quoteregex to the regex draft.  I
don't see any wording that limits support for :quotaregex to when the
regex extension is also required, so even implementations that don't
support regex will need to support :quoteregex.

ouch, you're right.  suggestion:

Modifier ":quoteregex"

        Every character with special meaning for :regex (".", "*", "?"
        etc.) is prefixed with "\" in the expansion.  This modifier is
        only available when the "regex" extension is in effect.

Seems reasonable.

To me, that means that
this document needs to specify exactly what its behavior is.  (Yeah, you
could make [REGEX] a normative reference, but ... ick.)

(Hmm, what if the regex extension is revised to support not just the
normal ("extended") POSIX regexps but also the old "basic" regexps?  The
quoting rules for the two are different.  (Basic regexps are _not_ a
subset of extended regexps for functionality, though the GNU
implementations have blurred that fact by extending them both.))

:quoteregex specifically works for :regex (and the added sentence above
locks the behavioural description to [REGEX]), if an :basicregex is
introduced, there will be no quoting modifier for it.

Anyway, if :quoteregex isn't moved, then the minimal list of characters
that are escaped by :quoteregex is:

\ . [ ^ $ ( ) { * + ? |

that's just too ugly a duplication of specification.  if we need to add
that, I'd rather split out the :regex bits.

On an unrelated point, the [SIEVE] reference needs to be changed to the
replacement I-D to dodge the "no side-effects in tests" restriction.

well, 3028bis must be published first, anyway, so I'll update the
reference when its done?

Might as well update it now as it is likely that the variables draft
will be approved before 3028bis comes out as an RFC. The RFC Editor
understands how to handle such dependencies and will update the
reference for you.

I have one additional suggestion. Thinking about it, I don't like the name
choices here. Specifically, ":quotewildcard" refers to the characters being 
quoted and not the context they are being quoted for, while ":quoteregex"
refers to the context they are being quoted for and not the characters being
quoted. How about changing ":quotewildcard" to ":quotematches" so both
names refer to the context?

                                Ned