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

Re: Stripping leading/trailing spaces in relational draft

2005-10-12 04:13:48

On Tue, Oct 11, 2005 at 09:50:59PM -0400, Barry Leiba wrote:
As to your example, well, I didn't ask whether you could *contrive* a
case where it could matter -- clearly, one can.  I asked whether it was
a sensible thing to expect in reality, and I think it's not.  And my
experience tells me that it's not.  And my experience tells me that
allowing for it causes problems, over time.

If we don't, then someone's implementation is going to turn
   To:  kjetilho(_at_)ifi(_dot_)uio(_dot_)no
into " kjetilho(_at_)ifi(_dot_)uio(_dot_)no", and it'll be forever before 
someone sorts
that bug out.

I strongly disagree to always stripping white space.  To me, it is
intuitive to strip leading (not trailing) white space for header tests,
and no white space at all for address or envelope tests.  If white space
is stripped on the left side (message value), it should be stripped on the
right side (literal) the same way, but that is an independent issue.
And I would love to keep this out of the relational extension, if I had
a choice.

The base specification indeed does not say anything on this, which means
implementations might differ depending on how the underlying systems
handles stuff.  Not good [tm].  What do

  header "subject" "abc"
  header "subject" " abc"

yield with different implementations on matching

  Subject:abc
  Subject: abc
  Subject:  abc

? My implementation evaluates the first test to be true, and the second
to false for all subjects.  Trailing white space is kept and used,
because that was intuitive to me, but indeed I should have brought this
up for discussion of the base spec.  It just didn't occur to me it was
really undefined. :-(

Let's first resolve this before proceeding with the relational extension.

Michael

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