aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Chehade <gilles@dalenys.com>2016-05-16 22:17:23 +0200
committerGilles Chehade <gilles@dalenys.com>2016-05-16 22:17:23 +0200
commit0937655c5018445bcf623133af0c20a327030353 (patch)
tree90476e550fb2200a649cb5e4d1e6d2be7b16bfda
parentMerge branch 'portable' of ssh://github.com/OpenSMTPD/OpenSMTPD into portable (diff)
parentsync with OpenBSD: (diff)
downloadOpenSMTPD-0937655c5018445bcf623133af0c20a327030353.tar.xz
OpenSMTPD-0937655c5018445bcf623133af0c20a327030353.zip
Merge branch 'master' into portable
-rw-r--r--smtpd/CVS/Entries176
-rw-r--r--smtpd/filter.c4
-rw-r--r--smtpd/smtp_session.c7
-rw-r--r--smtpd/smtpd.conf.58
-rw-r--r--smtpd/util.c6
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';
}