Viktor Dukhovni:
> On Wed, Nov 12, 2014 at 05:56:38PM +0100, A. Schulze wrote:
> > 
> > wietse:
> > >/^(RCPT\s+TO:<.*>.*\s+NOTIFY=.*)/ $1
> > >/^(RCPT\s+TO:<.*>.*)/ $1 NOTIFY=SUCCESS,DELAY,FAILURE
> > 
> > the regex above don't match on 'RCPT TO: <u...@example.org>' ( SPACE after
> > colon )
> 
> Note the extra space violates RFCs 5321, 2821, 821.  However, it
> was historically accepted by Sendmail, and is accepted also by
> Postfix as a compatibility crutch.
> 
> > I use now:
> > /^(RCPT\s+TO:\s*<.*>.*\s+NOTIFY=.*)/ $1
> > /^(RCPT\s+TO:\s*<.*>.*)/ $1 NOTIFY=SUCCESS,DELAY,FAILURE
> 
> So a cleaner approach might be:
> 
>     /^RCPT\s+TO:\s*(<.*?>.*?)\s+(NOTIFY=.*)/ RCPT TO:$1 $2
>     /^RCPT\s+TO:\s*(<.*>.*)/ RCPT TO:$1 NOTIFY=SUCCESS,DELAY,FAILURE
> 
> [ Since vertical tabs, and other notional PCRE white-space characters
> are not SMTP white-space, PCRE whitespace matched with "\s+" is
> canonicalized to a space. ]

I suppose that "clean" is in the eye of the beholder.  I don't think
that we have to perpetuate workarounds for bugs that were already
uncommon 20 years ago.

        Wietse

Reply via email to