November 18, 2020 9:54 PM, "Joerg Jung" <[email protected]> wrote:

> Hi,
> 
> in my opinion revision 1.423 of smtp_session.c went a bit too far.
> Enforcing that ORCPT has to have domain results in breakage in real
> world usage. For example, sending from root user cron jobs mails 
> via Postfix aliased to an address handled by OpenSMTPD will fail.
> 
> RFC leaves some room for interpretation here, but interoperability 
> may be considered important as well. GitHub issue #1084 [1] has
> some more elaborations and examples, but was opened for the same
> reason.
> 
> Therefore, I propose the following diff below to slightly relax
> the ORCPT check again by skipping the domain part check. 
> 
> Comments, OK?
> 

maybe just skip the check ONLY if domain part is empty ?


> Index: smtp_session.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/smtp_session.c,v
> retrieving revision 1.426
> diff -u -p -r1.426 smtp_session.c
> --- smtp_session.c 24 Apr 2020 11:34:07 -0000 1.426
> +++ smtp_session.c 18 Nov 2020 20:24:28 -0000
> @@ -2582,8 +2582,7 @@ smtp_tx_rcpt_to(struct smtp_tx *tx, cons
> opt += 7;
> 
> if (!text_to_mailaddr(&tx->evp.dsn_orcpt, opt) ||
> - !valid_localpart(tx->evp.dsn_orcpt.user) ||
> - !valid_domainpart(tx->evp.dsn_orcpt.domain)) {
> + !valid_localpart(tx->evp.dsn_orcpt.user)) {
> smtp_reply(tx->session,
> "553 ORCPT address syntax error");
> return;

Reply via email to