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

Re: Are extension names case insensitive

2003-05-02 11:39:51


[Gisle Aas]:

  I was not able to tell from RFC 3028 if the extension names
  provided with the require statement are case-insensitive or not.
  Should this work?

     REQUIRE "FILEINTO";
     fileinto "FOO";

I'd say no.

I'd say yes. It isn't like we're going to define FILEINTO to have a different
meaning than fileinto, so implementations get maximum interop by performing
a case-insensitive comparison in this context.

  The closest thing I find is section 2.1 that says:

     Tokens in the ASCII range are considered case-insensitive.

  Should strings (as the argument to require) be considered tokens
  in this regard?

I agree it isn't clearly stated, but strings are called "literal
data", and you can do case sensitive matching (using the "i;octet"
comparator) on literal strings.  from this I conclude that strings
preserve case unless otherwise stated.  but then there is this tidbit:

Case preservation does not imply case sensitivity on comparisons.

[2.7.3 Comparators]:
|  In order to allow for language-independent, case-independent matches,
|  the match type may be coupled with a comparator name.  [...]
|
|  All implementations MUST support the "i;octet" comparator (simply
|  compares octets) and the "i;ascii-casemap" comparator (which treats
|  uppercase and lowercase characters in the ASCII subset of UTF-8 as
|  the same).  If left unspecified, the default is "i;ascii-casemap".

I find it dubious to apply this default comparator on actions where no
match type can be specified or is explicitly specified.  in other
words, I don't think it is right to say that REQUIRE has an implicit
:IS match type.

We have case-insensitive tokens and string comparisons are case-insensitive
by default. I'm sorry, but what's dubious is the assrtion that require should
be case-sensitive.

                                Ned

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