diff options
author | millert <millert@openbsd.org> | 2020-05-06 16:03:30 +0000 |
---|---|---|
committer | millert <millert@openbsd.org> | 2020-05-06 16:03:30 +0000 |
commit | b69a92741ebdb48eb20816411974f69a1cab3e30 (patch) | |
tree | f931bf8a07b58a1fcfe9261e076a5f9028f9a235 /usr.sbin/smtpd | |
parent | Bump LibreSSL version to 3.1.1 (diff) | |
download | wireguard-openbsd-b69a92741ebdb48eb20816411974f69a1cab3e30.tar.xz wireguard-openbsd-b69a92741ebdb48eb20816411974f69a1cab3e30.zip |
Only allow forkmda() to be called from a local action dispatcher.
From gilles@, OK deraadt@ jung@
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r-- | usr.sbin/smtpd/smtpd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/smtpd.c b/usr.sbin/smtpd/smtpd.c index ce1262fa4fc..d0c67bab2af 100644 --- a/usr.sbin/smtpd/smtpd.c +++ b/usr.sbin/smtpd/smtpd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: smtpd.c,v 1.332 2020/02/24 16:16:08 millert Exp $ */ +/* $OpenBSD: smtpd.c,v 1.333 2020/05/06 16:03:30 millert Exp $ */ /* * Copyright (c) 2008 Gilles Chehade <gilles@poolp.org> @@ -1409,6 +1409,8 @@ forkmda(struct mproc *p, uint64_t id, struct deliver *deliver) const char *pw_dir; dsp = dict_xget(env->sc_dispatchers, deliver->dispatcher); + if (dsp->type != DISPATCHER_LOCAL) + fatalx("non-local dispatcher called from forkmda()"); log_debug("debug: smtpd: forking mda for session %016"PRIx64 ": %s as %s", id, deliver->userinfo.username, |