ietf-smtp
[Top] [All Lists]

Re: rfc2821bis-08

2008-02-28 02:01:15

Alexey Melnikov wrote:

+1.

What +1, focus on discussing the merits of FWS in
<quoted-string> as <local-part> of an <addr-spec> ?

Or +1 to kill the FWS in <local-part> in 2822upd ?
Killing it in syntax could be something like this:

- local-part    = dot-atom / quoted-string / obs-local-part
+ local-part    = dot-atom / quoted-local / obs-local-part

= quoted-string = [CFWS] 
                  DQUOTE *([FWS] qcontent) [FWS] DQUOTE
                  [CFWS]

+ quoted-local  = [CFWS] DQUOTE 
                  [SP] 1*qcontent *(SP 1*qcontent) [SP]
                  DQUOTE [CFWS]

That permits a single trailing or leading space, and a
single space between non-empty strings of <qcontent>.

It doesn't touch <quoted-pair>, if folks insist on it
they can still have " \  \  "@example with 5 spaces :-(

It doesn't permit ""@example or " "@example, so that
needs to be handled elsewhere, e.g. <obs-local-part>.

And it doesn't touch any backslash-HTAB, should that be
moved from <quoted-pair> to <obs-qp> ?  It's quite easy
to do that in syntax:

- quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
+ quoted-pair = ("\" (SP / VCHAR)) / obs-qp

Bonus, modulo <obs-qp> that's the same as in 2821bis.

- obs-qp      = "\" (%d0 / obs-NO-WS-CTL / LF / CR)
+ obs-qp      = "\" CTL

Bonus, CTL is simpler.  Disadvantage, what breaks with
this relatively radical simplification ?  

Of course 1*HTAB and 2*WSP would also need to go to an
augmented <obs-local-part> for this solution.  

Anything with <quoted-string> that is no <quoted-local>
is automagically matched by <obs-local-part>, IMO that 
covers 1*HTAB, 2*WSP, " "@example, backslash-HTAB, and
""@example.  If I didn't miss something <obs-local-part>
could stay as is, is that what you want ?

 Frank

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