diff options
author | Eric Faurot <eric@cvs.openbsd.org> | 2012-01-12 22:59:56 +0000 |
---|---|---|
committer | Eric Faurot <eric@cvs.openbsd.org> | 2012-01-12 22:59:56 +0000 |
commit | 5f10cdb7b1ae0464e5be5a94742899a679ae4232 (patch) | |
tree | 930ae865e9fd3e0c611bdc062123b80929c32d04 /usr.sbin | |
parent | 8b4e86d9015234db4fd2114b1ecf5d73a6ea486e (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.c | 4 | ||||
-rw-r--r-- | usr.sbin/smtpd/runner.c | 4 | ||||
-rw-r--r-- | usr.sbin/smtpd/smtpctl.c | 9 |
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", |