untrusted comment: signature from openbsd 6.0 base secret key
RWSho3oKSqgLQ24PCOyb2HBxKaacU+v/hRSTKWxD36nnioxkUEf8rVVyhIhiqYHZzxv+A+vFP5uZcp2z9fIhREI0uPpgkmODmg4=
OpenBSD 6.0 errata 10, Oct 3, 2016:
A bug in the smtp session logic can lead to a server crash.
Apply by doing:
signify -Vep /etc/signify/openbsd-60-base.pub -x 010_smtpd.patch.sig \
-m - | (cd /usr/src && patch -p0)
And then rebuild and install smtpd:
cd /usr/src/usr.sbin/smtpd
make obj
make depend
make
make install
Index: usr.sbin/smtpd/smtp_session.c
===================================================================
RCS file: /cvs/src/usr.sbin/smtpd/smtp_session.c,v
retrieving revision 1.284
diff -u -p -r1.284 smtp_session.c
--- usr.sbin/smtpd/smtp_session.c 22 Jul 2016 12:12:29 -0000 1.284
+++ usr.sbin/smtpd/smtp_session.c 2 Oct 2016 17:18:06 -0000
@@ -1151,6 +1151,7 @@ smtp_filter_response(uint64_t id, int qu
line = line ? line : "Message rejected";
smtp_reply(s, "%d %s", code, line);
smtp_enter_state(s, STATE_HELO);
+ s->phase = PHASE_SETUP;
io_reload(&s->io);
return;
}
@@ -1543,6 +1544,7 @@ smtp_data_io_done(struct smtp_session *s
smtp_reply(s, "421 Internal server error");
smtp_tx_free(s->tx);
smtp_enter_state(s, STATE_HELO);
+ s->phase = PHASE_SETUP;
io_reload(&s->io);
}
else {