diff options
author | Gilles Chehade <gilles@dalenys.com> | 2016-05-16 22:17:23 +0200 |
---|---|---|
committer | Gilles Chehade <gilles@dalenys.com> | 2016-05-16 22:17:23 +0200 |
commit | 0937655c5018445bcf623133af0c20a327030353 (patch) | |
tree | 90476e550fb2200a649cb5e4d1e6d2be7b16bfda | |
parent | Merge branch 'portable' of ssh://github.com/OpenSMTPD/OpenSMTPD into portable (diff) | |
parent | sync with OpenBSD: (diff) | |
download | OpenSMTPD-0937655c5018445bcf623133af0c20a327030353.tar.xz OpenSMTPD-0937655c5018445bcf623133af0c20a327030353.zip |
Merge branch 'master' into portable
-rw-r--r-- | smtpd/CVS/Entries | 176 | ||||
-rw-r--r-- | smtpd/filter.c | 4 | ||||
-rw-r--r-- | smtpd/smtp_session.c | 7 | ||||
-rw-r--r-- | smtpd/smtpd.conf.5 | 8 | ||||
-rw-r--r-- | smtpd/util.c | 6 |
5 files changed, 105 insertions, 96 deletions
diff --git a/smtpd/CVS/Entries b/smtpd/CVS/Entries index 59b847e8..7c1b8c8b 100644 --- a/smtpd/CVS/Entries +++ b/smtpd/CVS/Entries @@ -1,90 +1,90 @@ D/smtpctl//// D/smtpd//// -/Makefile/1.15/Mon Mar 7 16:27:28 2016// -/aliases.5/1.12/Mon Mar 7 16:27:28 2016// -/forward.5/1.9/Mon Mar 7 16:27:28 2016// -/iobuf.h/1.4/Mon Mar 7 16:27:28 2016// -/makemap.8/1.29/Mon Mar 7 16:27:28 2016// -/newaliases.8/1.11/Mon Mar 7 16:27:28 2016// -/parser.h/1.29/Mon Mar 7 16:27:28 2016// -/rfc2822.h/1.4/Mon Mar 7 16:27:28 2016// -/sendmail.8/1.4/Mon Mar 7 16:27:28 2016// -/smtpd-api.h/1.29/Mon Mar 7 16:27:28 2016// -/table.5/1.5/Mon Mar 7 16:27:28 2016// -/aliases.c/1.69/Tue May 3 08:13:59 2016// -/bounce.c/1.72/Tue May 3 08:13:59 2016// -/ca.c/1.21/Tue May 3 08:13:59 2016// -/compress_backend.c/1.9/Tue May 3 08:13:59 2016// -/compress_gzip.c/1.10/Tue May 3 08:13:59 2016// -/config.c/1.34/Tue May 3 08:13:59 2016// -/control.c/1.112/Tue May 3 08:13:59 2016// -/crypto.c/1.5/Tue May 3 08:13:59 2016// -/delivery.c/1.6/Tue May 3 08:13:59 2016// -/delivery_filename.c/1.14/Tue May 3 08:13:59 2016// -/delivery_lmtp.c/1.15/Tue May 3 08:13:59 2016// -/delivery_maildir.c/1.17/Tue May 3 08:13:59 2016// -/delivery_mbox.c/1.12/Tue May 3 08:13:59 2016// -/delivery_mda.c/1.9/Tue May 3 08:13:59 2016// -/dict.c/1.5/Tue May 3 08:13:59 2016// -/dns.c/1.83/Tue May 3 08:13:59 2016// -/enqueue.c/1.112/Tue May 3 08:13:59 2016// -/envelope.c/1.36/Tue May 3 08:13:59 2016// -/esc.c/1.4/Tue May 3 08:13:59 2016// -/expand.c/1.29/Tue May 3 08:13:59 2016// -/filter.c/1.17/Tue May 3 08:13:59 2016// -/forward.c/1.39/Tue May 3 08:13:59 2016// -/iobuf.c/1.9/Tue May 3 08:13:59 2016// -/ioev.c/1.25/Tue May 3 08:13:59 2016// -/ioev.h/1.6/Sun Apr 17 08:29:30 2016// -/limit.c/1.4/Tue May 3 08:13:59 2016// -/lka.c/1.192/Tue May 3 08:13:59 2016// -/lka_session.c/1.79/Tue May 3 08:13:59 2016// -/log.c/1.17/Tue May 3 08:13:59 2016// -/log.h/1.5/Tue May 3 08:13:59 2016// -/mailaddr.c/1.2/Tue May 3 08:13:59 2016// -/makemap.c/1.65/Tue May 3 08:13:59 2016// -/mda.c/1.118/Tue May 3 08:13:59 2016// -/mproc.c/1.19/Tue May 3 08:13:59 2016// -/mta.c/1.200/Tue May 3 08:13:59 2016// -/mta_session.c/1.82/Tue May 3 08:13:59 2016// -/parse.y/1.184/Wed May 4 08:42:16 2016// -/parser.c/1.40/Tue May 3 08:13:59 2016// -/pony.c/1.12/Tue May 3 08:13:59 2016// -/queue.c/1.177/Wed May 4 08:42:17 2016// -/queue_backend.c/1.62/Tue May 3 08:13:59 2016// -/queue_fs.c/1.14/Tue May 3 08:13:59 2016// -/queue_null.c/1.6/Tue May 3 08:13:59 2016// -/queue_proc.c/1.6/Tue May 3 08:13:59 2016// -/queue_ram.c/1.7/Tue May 3 08:13:59 2016// -/rfc2822.c/1.7/Tue May 3 08:13:59 2016// -/ruleset.c/1.32/Tue May 3 08:13:59 2016// -/runq.c/1.2/Tue May 3 08:13:59 2016// -/scheduler.c/1.51/Tue May 3 08:13:59 2016// -/scheduler_backend.c/1.15/Tue May 3 08:13:59 2016// -/scheduler_null.c/1.9/Tue May 3 08:13:59 2016// -/scheduler_proc.c/1.8/Tue May 3 08:13:59 2016// -/scheduler_ramqueue.c/1.42/Tue May 3 08:13:59 2016// -/smtp.c/1.155/Tue May 3 08:13:59 2016// -/smtp_session.c/1.269/Tue May 3 08:13:59 2016// -/smtpctl.8/1.55/Wed May 4 08:42:17 2016// -/smtpctl.c/1.149/Wed May 4 08:42:17 2016// -/smtpd-defines.h/1.6/Tue May 3 08:13:59 2016// -/smtpd.8/1.30/Wed May 4 08:42:17 2016// -/smtpd.c/1.276/Wed May 4 08:42:18 2016// -/smtpd.conf.5/1.159/Wed May 4 08:42:18 2016// -/smtpd.h/1.514/Tue May 3 08:13:59 2016// -/ssl.c/1.86/Wed May 4 08:42:18 2016// -/ssl.h/1.20/Wed May 4 08:42:19 2016// -/ssl_smtpd.c/1.13/Tue May 3 08:13:59 2016// -/stat_backend.c/1.10/Tue May 3 08:13:59 2016// -/stat_ramstat.c/1.10/Tue May 3 08:13:59 2016// -/table.c/1.23/Tue May 3 08:13:59 2016// -/table_api.c/1.8/Tue May 3 08:13:59 2016// -/table_db.c/1.9/Tue May 3 08:13:59 2016// -/table_getpwnam.c/1.4/Tue May 3 08:13:59 2016// -/table_proc.c/1.6/Tue May 3 08:13:59 2016// -/table_static.c/1.15/Tue May 3 08:13:59 2016// -/to.c/1.26/Tue May 3 08:13:59 2016// -/tree.c/1.5/Tue May 3 08:13:59 2016// -/util.c/1.126/Tue May 3 08:13:59 2016// -/waitq.c/1.5/Tue May 3 08:13:59 2016// +/Makefile/1.15/Sun May 8 15:40:28 2016// +/aliases.5/1.12/Sun May 8 15:40:28 2016// +/aliases.c/1.69/Mon May 16 20:12:13 2016// +/bounce.c/1.72/Mon May 16 20:12:13 2016// +/ca.c/1.21/Mon May 16 20:12:13 2016// +/compress_backend.c/1.9/Mon May 16 20:12:13 2016// +/compress_gzip.c/1.10/Mon May 16 20:12:13 2016// +/config.c/1.34/Mon May 16 20:12:13 2016// +/control.c/1.112/Mon May 16 20:12:13 2016// +/crypto.c/1.5/Mon May 16 20:12:13 2016// +/delivery.c/1.6/Mon May 16 20:12:13 2016// +/delivery_filename.c/1.14/Mon May 16 20:12:13 2016// +/delivery_lmtp.c/1.15/Mon May 16 20:12:13 2016// +/delivery_maildir.c/1.17/Mon May 16 20:12:13 2016// +/delivery_mbox.c/1.12/Mon May 16 20:12:13 2016// +/delivery_mda.c/1.9/Mon May 16 20:12:13 2016// +/dict.c/1.5/Mon May 16 20:12:13 2016// +/dns.c/1.83/Mon May 16 20:12:13 2016// +/enqueue.c/1.112/Mon May 16 20:12:13 2016// +/envelope.c/1.36/Mon May 16 20:12:13 2016// +/esc.c/1.4/Mon May 16 20:12:13 2016// +/expand.c/1.29/Mon May 16 20:12:13 2016// +/filter.c/1.18/Result of merge// +/forward.5/1.9/Sun May 8 15:40:28 2016// +/forward.c/1.39/Mon May 16 20:12:13 2016// +/iobuf.c/1.9/Mon May 16 20:12:13 2016// +/iobuf.h/1.4/Sun May 8 15:40:28 2016// +/ioev.c/1.25/Mon May 16 20:12:13 2016// +/ioev.h/1.6/Sun May 8 16:37:15 2016// +/limit.c/1.4/Mon May 16 20:12:13 2016// +/lka.c/1.192/Mon May 16 20:12:13 2016// +/lka_session.c/1.79/Mon May 16 20:12:13 2016// +/log.c/1.17/Mon May 16 20:12:13 2016// +/log.h/1.5/Mon May 16 20:12:13 2016// +/mailaddr.c/1.2/Mon May 16 20:12:13 2016// +/makemap.8/1.29/Sun May 8 15:40:28 2016// +/makemap.c/1.65/Mon May 16 20:12:13 2016// +/mda.c/1.118/Mon May 16 20:12:13 2016// +/mproc.c/1.19/Mon May 16 20:12:13 2016// +/mta.c/1.200/Mon May 16 20:12:13 2016// +/mta_session.c/1.82/Mon May 16 20:12:13 2016// +/newaliases.8/1.11/Sun May 8 15:40:28 2016// +/parse.y/1.184/Mon May 16 20:12:13 2016// +/parser.c/1.40/Mon May 16 20:12:13 2016// +/parser.h/1.29/Sun May 8 15:40:28 2016// +/pony.c/1.12/Mon May 16 20:12:13 2016// +/queue.c/1.177/Mon May 16 20:12:13 2016// +/queue_backend.c/1.62/Mon May 16 20:12:13 2016// +/queue_fs.c/1.14/Mon May 16 20:12:13 2016// +/queue_null.c/1.6/Mon May 16 20:12:13 2016// +/queue_proc.c/1.6/Mon May 16 20:12:13 2016// +/queue_ram.c/1.7/Mon May 16 20:12:13 2016// +/rfc2822.c/1.7/Mon May 16 20:12:13 2016// +/rfc2822.h/1.4/Sun May 8 15:40:28 2016// +/ruleset.c/1.32/Mon May 16 20:12:13 2016// +/runq.c/1.2/Mon May 16 20:12:13 2016// +/scheduler.c/1.51/Mon May 16 20:12:13 2016// +/scheduler_backend.c/1.15/Mon May 16 20:12:13 2016// +/scheduler_null.c/1.9/Mon May 16 20:12:13 2016// +/scheduler_proc.c/1.8/Mon May 16 20:12:13 2016// +/scheduler_ramqueue.c/1.42/Mon May 16 20:12:13 2016// +/sendmail.8/1.4/Sun May 8 15:40:28 2016// +/smtp.c/1.155/Mon May 16 20:12:13 2016// +/smtp_session.c/1.271/Result of merge// +/smtpctl.8/1.55/Sun May 8 16:37:15 2016// +/smtpctl.c/1.149/Mon May 16 20:12:13 2016// +/smtpd-api.h/1.29/Sun May 8 15:40:28 2016// +/smtpd-defines.h/1.6/Mon May 16 20:12:13 2016// +/smtpd.8/1.30/Sun May 8 16:37:15 2016// +/smtpd.c/1.276/Mon May 16 20:12:13 2016// +/smtpd.conf.5/1.160/Mon May 16 20:16:20 2016// +/smtpd.h/1.514/Mon May 16 20:12:13 2016// +/ssl.c/1.86/Mon May 16 20:12:13 2016// +/ssl.h/1.20/Mon May 16 20:12:13 2016// +/ssl_smtpd.c/1.13/Mon May 16 20:12:13 2016// +/stat_backend.c/1.10/Mon May 16 20:12:13 2016// +/stat_ramstat.c/1.10/Mon May 16 20:12:13 2016// +/table.5/1.5/Sun May 8 15:40:28 2016// +/table.c/1.23/Mon May 16 20:12:13 2016// +/table_api.c/1.8/Mon May 16 20:12:13 2016// +/table_db.c/1.9/Mon May 16 20:12:13 2016// +/table_getpwnam.c/1.4/Mon May 16 20:12:13 2016// +/table_proc.c/1.6/Mon May 16 20:12:13 2016// +/table_static.c/1.15/Mon May 16 20:12:13 2016// +/to.c/1.26/Mon May 16 20:12:13 2016// +/tree.c/1.5/Mon May 16 20:12:13 2016// +/util.c/1.127/Mon May 16 20:16:20 2016// +/waitq.c/1.5/Mon May 16 20:12:13 2016// diff --git a/smtpd/filter.c b/smtpd/filter.c index 38904a2e..1bb4f5b8 100644 --- a/smtpd/filter.c +++ b/smtpd/filter.c @@ -1,4 +1,4 @@ -/* $OpenBSD: filter.c,v 1.17 2016/03/25 15:06:58 krw Exp $ */ +/* $OpenBSD: filter.c,v 1.18 2016/05/16 19:25:05 gilles Exp $ */ /* * Copyright (c) 2011 Gilles Chehade <gilles@poolp.org> @@ -299,6 +299,8 @@ filter_event(uint64_t id, int event) if (event == EVENT_DISCONNECT) { io_clear(&s->iev); iobuf_clear(&s->ibuf); + if (s->ofile) + fclose(s->ofile); free(s); } } diff --git a/smtpd/smtp_session.c b/smtpd/smtp_session.c index c0554127..f7a07d4e 100644 --- a/smtpd/smtp_session.c +++ b/smtpd/smtp_session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: smtp_session.c,v 1.269 2016/03/25 15:06:58 krw Exp $ */ +/* $OpenBSD: smtp_session.c,v 1.271 2016/05/16 19:25:05 gilles Exp $ */ /* * Copyright (c) 2008 Gilles Chehade <gilles@poolp.org> @@ -1146,6 +1146,7 @@ smtp_filter_response(uint64_t id, int query, int status, uint32_t code, case QUERY_EOM: if (status != FILTER_OK) { + tree_pop(&wait_filter_data, s->id); smtp_filter_rollback(s); code = code ? code : 530; line = line ? line : "Message rejected"; @@ -1452,6 +1453,8 @@ smtp_data_io_done(struct smtp_session *s) if (s->msgflags & MF_ERROR) { + tree_pop(&wait_filter_data, s->id); + smtp_filter_rollback(s); smtp_queue_rollback(s); @@ -2581,7 +2584,7 @@ smtp_filter_dataline(struct smtp_session *s, const char *line) s->rcvcount++; if (s->rcvcount == MAX_HOPS_COUNT) { s->msgflags |= MF_ERROR_LOOP; - log_warn("warn: loop detected"); + log_warnx("warn: loop detected"); return; } diff --git a/smtpd/smtpd.conf.5 b/smtpd/smtpd.conf.5 index 17651804..d9110b59 100644 --- a/smtpd/smtpd.conf.5 +++ b/smtpd/smtpd.conf.5 @@ -1,4 +1,4 @@ -.\" $OpenBSD: smtpd.conf.5,v 1.159 2016/05/03 18:43:45 jung Exp $ +.\" $OpenBSD: smtpd.conf.5,v 1.160 2016/05/11 18:34:44 jung Exp $ .\" .\" Copyright (c) 2008 Janne Johansson <jj@openbsd.org> .\" Copyright (c) 2009 Jacek Masiulaniec <jacekm@dobremiasto.net> @@ -17,7 +17,7 @@ .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" -.Dd $Mdocdate: May 3 2016 $ +.Dd $Mdocdate: May 11 2016 $ .Dt SMTPD.CONF 5 .Os .Sh NAME @@ -664,6 +664,7 @@ Changing the default value might degrade performance. .Op Ic filter Ar name .Op Ic tls | tls-require | tls-require verify | smtps | secure .Op Ic pki Ar pkiname +.Op Ic ca Ar caname .Op Ic auth | auth-optional Op < Ns Ar authtable Ns > .Op Ic tag Ar tag .Op Ic hostname Ar hostname @@ -742,6 +743,9 @@ is specified, a certificate matching .Ic name is searched for. +Moreover, a previously declared +.Ic ca +directive may be specified to use a custom CA certificate. .Pp If the .Ic auth diff --git a/smtpd/util.c b/smtpd/util.c index c0e7003b..f87f5472 100644 --- a/smtpd/util.c +++ b/smtpd/util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: util.c,v 1.126 2016/03/25 15:06:58 krw Exp $ */ +/* $OpenBSD: util.c,v 1.127 2016/05/16 17:43:18 gilles Exp $ */ /* * Copyright (c) 2000,2001 Markus Friedl. All rights reserved. @@ -457,9 +457,9 @@ mailaddr_match(const struct mailaddr *maddr1, const struct mailaddr *maddr2) if (m2.user[0]) { /* if address from table has a tag, we must respect it */ - if (strchr(m2.user, '+') == NULL) { + if (strchr(m2.user, TAG_CHAR) == NULL) { /* otherwise, strip tag from session address if any */ - p = strchr(m1.user, '+'); + p = strchr(m1.user, TAG_CHAR); if (p) *p = '\0'; } |