aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjung <jung@openbsd.org>2020-11-20 20:37:56 +0000
committerGilles Chehade <gilles@poolp.org>2020-11-21 21:44:02 +0100
commitc1672696d85286056c2aab118b2a0f952d984222 (patch)
tree82bf6ad01bc5eae177ce6d66e984b27cd8e8b6f4
parentRevert agentx support for now, we're too close to release. (diff)
downloadOpenSMTPD-c1672696d85286056c2aab118b2a0f952d984222.tar.xz
OpenSMTPD-c1672696d85286056c2aab118b2a0f952d984222.zip
partially revert revision 1.423 which went a bit too far
slightly relax the ORCPT check by not enforcing that a domain is required, allowing e.g.: ORCPT=rfc822;root originally reported via github issue #1084 by Leo Gaspard with input from gilles ok kn
-rw-r--r--usr.sbin/smtpd/smtp_session.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c
index aefce155..c103fa19 100644
--- a/usr.sbin/smtpd/smtp_session.c
+++ b/usr.sbin/smtpd/smtp_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp_session.c,v 1.426 2020/04/24 11:34:07 eric Exp $ */
+/* $OpenBSD: smtp_session.c,v 1.427 2020/11/20 20:37:56 jung Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -2593,7 +2593,8 @@ smtp_tx_rcpt_to(struct smtp_tx *tx, const char *line)
if (!text_to_mailaddr(&tx->evp.dsn_orcpt, opt) ||
!valid_localpart(tx->evp.dsn_orcpt.user) ||
- !valid_domainpart(tx->evp.dsn_orcpt.domain)) {
+ (strlen(tx->evp.dsn_orcpt.domain) != 0 &&
+ !valid_domainpart(tx->evp.dsn_orcpt.domain))) {
smtp_reply(tx->session,
"553 ORCPT address syntax error");
return;