summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorEric Faurot <eric@cvs.openbsd.org>2012-01-12 22:59:56 +0000
committerEric Faurot <eric@cvs.openbsd.org>2012-01-12 22:59:56 +0000
commit5f10cdb7b1ae0464e5be5a94742899a679ae4232 (patch)
tree930ae865e9fd3e0c611bdc062123b80929c32d04 /usr.sbin
parent8b4e86d9015234db4fd2114b1ecf5d73a6ea486e (diff)
The status field in the envelope is confusing. Its only purpose is to
notify the runner of what happened with an envelope that has been scheduled. It is not part of the state of the envelope, and it is not even dumped. So it should only be set by mta/mda, checked by runner to decide what to do with the envelope, and ignored everywhere else. ok gilles@
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/smtpd/bounce.c4
-rw-r--r--usr.sbin/smtpd/runner.c4
-rw-r--r--usr.sbin/smtpd/smtpctl.c9
3 files changed, 3 insertions, 14 deletions
diff --git a/usr.sbin/smtpd/bounce.c b/usr.sbin/smtpd/bounce.c
index b2b06794b5d..a0a3198a276 100644
--- a/usr.sbin/smtpd/bounce.c
+++ b/usr.sbin/smtpd/bounce.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bounce.c,v 1.38 2012/01/11 17:28:36 eric Exp $ */
+/* $OpenBSD: bounce.c,v 1.39 2012/01/12 22:59:55 eric Exp $ */
/*
* Copyright (c) 2009 Gilles Chehade <gilles@openbsd.org>
@@ -153,7 +153,6 @@ out:
__func__, cc->m.id);
queue_envelope_delete(Q_QUEUE, &cc->m);
} else {
- cc->m.status = DS_TEMPFAILURE;
cc->m.retry++;
envelope_set_errormsg(&cc->m, "%s", ep);
queue_envelope_update(Q_QUEUE, &cc->m);
@@ -186,7 +185,6 @@ bounce_record_message(struct envelope *e, struct envelope *bounce)
*bounce = *e;
bounce->type = D_BOUNCE;
- bounce->status &= ~DS_PERMFAILURE;
bounce->retry = 0;
bounce->lasttry = 0;
return (queue_envelope_create(Q_QUEUE, bounce));
diff --git a/usr.sbin/smtpd/runner.c b/usr.sbin/smtpd/runner.c
index f551856a8f3..5dcbafeb33d 100644
--- a/usr.sbin/smtpd/runner.c
+++ b/usr.sbin/smtpd/runner.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: runner.c,v 1.129 2012/01/12 22:40:16 gilles Exp $ */
+/* $OpenBSD: runner.c,v 1.130 2012/01/12 22:59:55 eric Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -83,7 +83,6 @@ runner_imsg(struct imsgev *iev, struct imsg *imsg)
*/
if (e->status & DS_TEMPFAILURE) {
log_debug("TEMPFAIL: %016" PRIx64, e->id);
- e->status &= ~DS_TEMPFAILURE;
queue_envelope_update(Q_QUEUE, e);
ramqueue_insert(&env->sc_rqueue, e, time(NULL));
runner_reset_events();
@@ -124,7 +123,6 @@ runner_imsg(struct imsgev *iev, struct imsg *imsg)
case IMSG_SMTP_ENQUEUE:
e = imsg->data;
if (imsg->fd < 0 || !bounce_session(imsg->fd, e)) {
- e->status = 0;
queue_envelope_update(Q_QUEUE, e);
ramqueue_insert(&env->sc_rqueue, e, time(NULL));
runner_reset_events();
diff --git a/usr.sbin/smtpd/smtpctl.c b/usr.sbin/smtpd/smtpctl.c
index 3c042dae0af..d2bd0155430 100644
--- a/usr.sbin/smtpd/smtpctl.c
+++ b/usr.sbin/smtpd/smtpctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpctl.c,v 1.75 2012/01/12 18:06:18 eric Exp $ */
+/* $OpenBSD: smtpctl.c,v 1.76 2012/01/12 22:59:55 eric Exp $ */
/*
* Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -507,13 +507,6 @@ show_envelope(struct envelope *e, int flags)
status[0] = '\0';
- getflag(&e->status, DS_TEMPFAILURE, "TEMPFAIL",
- status, sizeof(status));
-
- if (e->status)
- errx(1, "%016" PRIx64 ": unexpected status 0x%04x", e->id,
- e->status);
-
getflag(&e->flags, DF_BOUNCE, "BOUNCE",
status, sizeof(status));
getflag(&e->flags, DF_AUTHENTICATED, "AUTH",