summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd/aliases.c
diff options
context:
space:
mode:
authorEric Faurot <eric@cvs.openbsd.org>2020-04-28 21:46:44 +0000
committerEric Faurot <eric@cvs.openbsd.org>2020-04-28 21:46:44 +0000
commit1890abd45b518108f3efd5bdce00bc2dc9767f97 (patch)
tree6b87e870f467c081512ffb6e1b450b1cefa2b104 /usr.sbin/smtpd/aliases.c
parentdeb6c933e7af5adb5368a1a0910b3b9bbebecdd1 (diff)
In virtual alias context, do not try to match catchall entries for
usernames, but only for email addresses. fixes an issue where usernames always expand to the @ wildcard if defined in the virtual alias file. discussed with Gilles Chehade ok millert@
Diffstat (limited to 'usr.sbin/smtpd/aliases.c')
-rw-r--r--usr.sbin/smtpd/aliases.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/aliases.c b/usr.sbin/smtpd/aliases.c
index 884f696365f..1c602e9f8b7 100644
--- a/usr.sbin/smtpd/aliases.c
+++ b/usr.sbin/smtpd/aliases.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aliases.c,v 1.77 2018/12/28 12:47:28 eric Exp $ */
+/* $OpenBSD: aliases.c,v 1.78 2020/04/28 21:46:43 eric Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -164,6 +164,10 @@ aliases_virtual_get(struct expand *expand, const struct mailaddr *maddr)
if (ret)
goto expand;
+ /* Do not try catch-all entries if there is no domain */
+ if (domain[0] == '\0')
+ return 0;
+
if (!bsnprintf(buf, sizeof(buf), "@%s", domain))
return 0;
/* Failed ? We lookup for catch all for virtual domain */