aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Chehade <gilles@dalenys.com>2016-03-29 10:26:59 +0200
committerGilles Chehade <gilles@dalenys.com>2016-03-29 10:26:59 +0200
commit939288a05de92b27238f0276f9d6d671ed4ad71a (patch)
tree112090f22e4bbf4374c923853012026f8c7e3a58
parentMerge pull request #664 from bsdsx/solaris_have_ss_len (diff)
parentsync with CVS: (diff)
downloadOpenSMTPD-939288a05de92b27238f0276f9d6d671ed4ad71a.tar.xz
OpenSMTPD-939288a05de92b27238f0276f9d6d671ed4ad71a.zip
Merge branch 'master' into portable
-rw-r--r--smtpd/CVS/Entries176
-rw-r--r--smtpd/config.c6
-rw-r--r--smtpd/control.c6
-rw-r--r--smtpd/filter.c6
-rw-r--r--smtpd/ioev.c19
-rw-r--r--smtpd/ioev.h6
-rw-r--r--smtpd/makemap.c4
-rw-r--r--smtpd/mda.c4
-rw-r--r--smtpd/mproc.c6
-rw-r--r--smtpd/smtp.c6
-rw-r--r--smtpd/smtp_session.c4
-rw-r--r--smtpd/smtpctl.c8
-rw-r--r--smtpd/smtpd.c4
-rw-r--r--smtpd/smtpd.conf.56
-rw-r--r--smtpd/smtpd.h9
-rw-r--r--smtpd/util.c29
16 files changed, 130 insertions, 169 deletions
diff --git a/smtpd/CVS/Entries b/smtpd/CVS/Entries
index 187c8a10..a6466a1d 100644
--- a/smtpd/CVS/Entries
+++ b/smtpd/CVS/Entries
@@ -1,90 +1,90 @@
D/smtpctl////
D/smtpd////
-/Makefile/1.15/Wed Feb 3 12:14:44 2016//
-/aliases.5/1.12/Wed Feb 3 12:14:44 2016//
-/forward.5/1.9/Wed Feb 3 12:14:44 2016//
-/iobuf.h/1.4/Wed Feb 3 12:14:44 2016//
-/ioev.h/1.5/Wed Feb 3 12:14:44 2016//
-/newaliases.8/1.11/Wed Feb 3 12:14:44 2016//
-/parser.h/1.29/Wed Feb 3 12:14:44 2016//
-/rfc2822.h/1.4/Wed Feb 3 12:14:44 2016//
-/sendmail.8/1.4/Wed Feb 3 12:14:44 2016//
-/smtpctl.8/1.54/Wed Feb 3 12:14:44 2016//
-/smtpd-api.h/1.29/Wed Feb 10 07:35:31 2016//
-/smtpd.8/1.28/Wed Feb 3 12:14:44 2016//
-/ssl.h/1.19/Wed Feb 3 12:14:44 2016//
-/table.5/1.5/Wed Feb 3 12:14:44 2016//
-/aliases.c/1.69/Fri Feb 26 07:32:33 2016//
-/bounce.c/1.72/Fri Feb 26 07:32:33 2016//
-/ca.c/1.21/Fri Feb 26 07:32:33 2016//
-/compress_backend.c/1.9/Fri Feb 26 07:32:33 2016//
-/compress_gzip.c/1.10/Fri Feb 26 07:32:33 2016//
-/config.c/1.33/Fri Feb 26 07:32:33 2016//
-/control.c/1.111/Fri Feb 26 07:32:33 2016//
-/crypto.c/1.5/Fri Feb 26 07:32:33 2016//
-/delivery.c/1.6/Fri Feb 26 07:32:33 2016//
-/delivery_filename.c/1.14/Fri Feb 26 07:32:33 2016//
-/delivery_lmtp.c/1.15/Fri Feb 26 07:32:33 2016//
-/delivery_maildir.c/1.17/Fri Feb 26 07:32:33 2016//
-/delivery_mbox.c/1.12/Fri Feb 26 07:32:33 2016//
-/delivery_mda.c/1.9/Fri Feb 26 07:32:33 2016//
-/dict.c/1.5/Fri Feb 26 07:32:33 2016//
-/dns.c/1.83/Fri Feb 26 07:32:33 2016//
-/enqueue.c/1.112/Fri Feb 26 07:32:33 2016//
-/envelope.c/1.36/Fri Feb 26 07:32:33 2016//
-/esc.c/1.4/Fri Feb 26 07:32:33 2016//
-/expand.c/1.29/Fri Feb 26 07:32:33 2016//
-/filter.c/1.16/Fri Feb 26 07:32:33 2016//
-/forward.c/1.39/Fri Feb 26 07:32:33 2016//
-/iobuf.c/1.9/Fri Feb 26 07:32:33 2016//
-/ioev.c/1.24/Fri Feb 26 07:32:33 2016//
-/limit.c/1.4/Fri Feb 26 07:32:33 2016//
-/lka.c/1.192/Fri Feb 26 07:32:33 2016//
-/lka_session.c/1.79/Fri Feb 26 07:32:33 2016//
-/log.c/1.17/Fri Feb 26 07:32:33 2016//
-/log.h/1.5/Fri Feb 26 07:32:33 2016//
-/mailaddr.c/1.2/Fri Feb 26 07:32:33 2016//
-/makemap.8/1.29/Sat Feb 13 12:12:16 2016//
-/makemap.c/1.64/Fri Feb 26 07:32:33 2016//
-/mda.c/1.117/Fri Feb 26 07:32:33 2016//
-/mproc.c/1.18/Fri Feb 26 07:32:33 2016//
-/mta.c/1.200/Fri Feb 26 07:32:33 2016//
-/mta_session.c/1.82/Fri Feb 26 07:32:33 2016//
-/parse.y/1.183/Fri Feb 26 08:01:10 2016//
-/parser.c/1.40/Fri Feb 26 07:32:33 2016//
-/pony.c/1.12/Fri Feb 26 07:32:33 2016//
-/queue.c/1.176/Fri Feb 26 07:32:33 2016//
-/queue_backend.c/1.62/Fri Feb 26 07:32:33 2016//
-/queue_fs.c/1.14/Fri Feb 26 07:32:33 2016//
-/queue_null.c/1.6/Fri Feb 26 07:32:33 2016//
-/queue_proc.c/1.6/Fri Feb 26 07:32:33 2016//
-/queue_ram.c/1.7/Fri Feb 26 07:32:33 2016//
-/rfc2822.c/1.7/Fri Feb 26 07:32:33 2016//
-/ruleset.c/1.32/Fri Feb 26 07:32:33 2016//
-/runq.c/1.2/Fri Feb 26 07:32:33 2016//
-/scheduler.c/1.51/Fri Feb 26 07:32:33 2016//
-/scheduler_backend.c/1.15/Fri Feb 26 07:32:33 2016//
-/scheduler_null.c/1.9/Fri Feb 26 07:32:33 2016//
-/scheduler_proc.c/1.8/Fri Feb 26 07:32:33 2016//
-/scheduler_ramqueue.c/1.42/Fri Feb 26 07:32:33 2016//
-/smtp.c/1.154/Fri Feb 26 08:01:10 2016//
-/smtp_session.c/1.268/Fri Feb 26 07:32:33 2016//
-/smtpctl.c/1.147/Fri Feb 26 07:32:33 2016//
-/smtpd-defines.h/1.6/Fri Feb 26 07:32:33 2016//
-/smtpd.c/1.274/Fri Feb 26 07:32:33 2016//
-/smtpd.conf.5/1.155/Fri Feb 26 08:01:10 2016//
-/smtpd.h/1.513/Fri Feb 26 08:01:10 2016//
-/ssl.c/1.85/Fri Feb 26 07:32:33 2016//
-/ssl_smtpd.c/1.13/Fri Feb 26 07:32:33 2016//
-/stat_backend.c/1.10/Fri Feb 26 07:32:33 2016//
-/stat_ramstat.c/1.10/Fri Feb 26 07:32:33 2016//
-/table.c/1.23/Fri Feb 26 07:32:33 2016//
-/table_api.c/1.8/Fri Feb 26 07:32:33 2016//
-/table_db.c/1.9/Fri Feb 26 07:32:33 2016//
-/table_getpwnam.c/1.4/Fri Feb 26 07:32:33 2016//
-/table_proc.c/1.6/Fri Feb 26 07:32:33 2016//
-/table_static.c/1.15/Fri Feb 26 07:32:33 2016//
-/to.c/1.26/Fri Feb 26 08:01:11 2016//
-/tree.c/1.5/Fri Feb 26 07:32:33 2016//
-/util.c/1.125/Fri Feb 26 07:32:33 2016//
-/waitq.c/1.5/Fri Feb 26 07:32:33 2016//
+/Makefile/1.15/Thu Feb 4 22:09:08 2016//
+/aliases.5/1.12/Thu Feb 4 22:09:08 2016//
+/aliases.c/1.69/Tue Mar 29 08:25:08 2016//
+/bounce.c/1.72/Tue Mar 29 08:25:08 2016//
+/ca.c/1.21/Tue Mar 29 08:25:08 2016//
+/compress_backend.c/1.9/Tue Mar 29 08:25:08 2016//
+/compress_gzip.c/1.10/Tue Mar 29 08:25:08 2016//
+/config.c/1.34/Tue Mar 29 08:25:27 2016//
+/control.c/1.112/Tue Mar 29 08:25:27 2016//
+/crypto.c/1.5/Tue Mar 29 08:25:08 2016//
+/delivery.c/1.6/Tue Mar 29 08:25:08 2016//
+/delivery_filename.c/1.14/Tue Mar 29 08:25:08 2016//
+/delivery_lmtp.c/1.15/Tue Mar 29 08:25:08 2016//
+/delivery_maildir.c/1.17/Tue Mar 29 08:25:08 2016//
+/delivery_mbox.c/1.12/Tue Mar 29 08:25:08 2016//
+/delivery_mda.c/1.9/Tue Mar 29 08:25:08 2016//
+/dict.c/1.5/Tue Mar 29 08:25:08 2016//
+/dns.c/1.83/Tue Mar 29 08:25:08 2016//
+/enqueue.c/1.112/Tue Mar 29 08:25:08 2016//
+/envelope.c/1.36/Tue Mar 29 08:25:08 2016//
+/esc.c/1.4/Tue Mar 29 08:25:08 2016//
+/expand.c/1.29/Tue Mar 29 08:25:08 2016//
+/filter.c/1.17/Tue Mar 29 08:25:28 2016//
+/forward.5/1.9/Thu Feb 4 22:09:08 2016//
+/forward.c/1.39/Tue Mar 29 08:25:08 2016//
+/iobuf.c/1.9/Tue Mar 29 08:25:08 2016//
+/iobuf.h/1.4/Thu Feb 4 22:09:08 2016//
+/ioev.c/1.25/Tue Mar 29 08:25:28 2016//
+/ioev.h/1.6/Tue Mar 29 08:25:28 2016//
+/limit.c/1.4/Tue Mar 29 08:25:08 2016//
+/lka.c/1.192/Tue Mar 29 08:25:08 2016//
+/lka_session.c/1.79/Tue Mar 29 08:25:08 2016//
+/log.c/1.17/Tue Mar 29 08:25:08 2016//
+/log.h/1.5/Tue Mar 29 08:25:08 2016//
+/mailaddr.c/1.2/Tue Mar 29 08:25:08 2016//
+/makemap.8/1.29/Sat Feb 13 08:56:41 2016//
+/makemap.c/1.65/Tue Mar 29 08:25:28 2016//
+/mda.c/1.118/Tue Mar 29 08:25:28 2016//
+/mproc.c/1.19/Tue Mar 29 08:25:28 2016//
+/mta.c/1.200/Tue Mar 29 08:25:08 2016//
+/mta_session.c/1.82/Tue Mar 29 08:25:08 2016//
+/newaliases.8/1.11/Thu Feb 4 22:09:08 2016//
+/parse.y/1.183/Tue Mar 29 08:25:10 2016//
+/parser.c/1.40/Tue Mar 29 08:25:08 2016//
+/parser.h/1.29/Thu Feb 4 22:09:08 2016//
+/pony.c/1.12/Tue Mar 29 08:25:08 2016//
+/queue.c/1.176/Tue Mar 29 08:25:08 2016//
+/queue_backend.c/1.62/Tue Mar 29 08:25:08 2016//
+/queue_fs.c/1.14/Tue Mar 29 08:25:08 2016//
+/queue_null.c/1.6/Tue Mar 29 08:25:08 2016//
+/queue_proc.c/1.6/Tue Mar 29 08:25:08 2016//
+/queue_ram.c/1.7/Tue Mar 29 08:25:08 2016//
+/rfc2822.c/1.7/Tue Mar 29 08:25:08 2016//
+/rfc2822.h/1.4/Thu Feb 4 22:09:08 2016//
+/ruleset.c/1.32/Tue Mar 29 08:25:08 2016//
+/runq.c/1.2/Tue Mar 29 08:25:08 2016//
+/scheduler.c/1.51/Tue Mar 29 08:25:08 2016//
+/scheduler_backend.c/1.15/Tue Mar 29 08:25:08 2016//
+/scheduler_null.c/1.9/Tue Mar 29 08:25:08 2016//
+/scheduler_proc.c/1.8/Tue Mar 29 08:25:08 2016//
+/scheduler_ramqueue.c/1.42/Tue Mar 29 08:25:08 2016//
+/sendmail.8/1.4/Thu Feb 4 22:09:08 2016//
+/smtp.c/1.155/Tue Mar 29 08:25:29 2016//
+/smtp_session.c/1.269/Tue Mar 29 08:25:29 2016//
+/smtpctl.8/1.54/Thu Feb 4 22:09:08 2016//
+/smtpctl.c/1.148/Tue Mar 29 08:25:29 2016//
+/smtpd-api.h/1.29/Sat Feb 13 08:56:39 2016//
+/smtpd-defines.h/1.6/Tue Mar 29 08:25:08 2016//
+/smtpd.8/1.28/Thu Feb 4 22:09:08 2016//
+/smtpd.c/1.275/Tue Mar 29 08:25:29 2016//
+/smtpd.conf.5/1.156/Tue Mar 29 08:25:29 2016//
+/smtpd.h/1.514/Tue Mar 29 08:25:29 2016//
+/ssl.c/1.85/Tue Mar 29 08:25:08 2016//
+/ssl.h/1.19/Thu Feb 4 22:09:08 2016//
+/ssl_smtpd.c/1.13/Tue Mar 29 08:25:08 2016//
+/stat_backend.c/1.10/Tue Mar 29 08:25:08 2016//
+/stat_ramstat.c/1.10/Tue Mar 29 08:25:08 2016//
+/table.5/1.5/Thu Feb 4 22:09:08 2016//
+/table.c/1.23/Tue Mar 29 08:25:08 2016//
+/table_api.c/1.8/Tue Mar 29 08:25:08 2016//
+/table_db.c/1.9/Tue Mar 29 08:25:08 2016//
+/table_getpwnam.c/1.4/Tue Mar 29 08:25:08 2016//
+/table_proc.c/1.6/Tue Mar 29 08:25:08 2016//
+/table_static.c/1.15/Tue Mar 29 08:25:08 2016//
+/to.c/1.26/Tue Mar 29 08:25:10 2016//
+/tree.c/1.5/Tue Mar 29 08:25:08 2016//
+/util.c/1.126/Tue Mar 29 08:25:30 2016//
+/waitq.c/1.5/Tue Mar 29 08:25:08 2016//
diff --git a/smtpd/config.c b/smtpd/config.c
index 0bb840d6..b2a50c69 100644
--- a/smtpd/config.c
+++ b/smtpd/config.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: config.c,v 1.33 2015/10/14 20:45:30 gilles Exp $ */
+/* $OpenBSD: config.c,v 1.34 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -119,8 +119,8 @@ init_pipes(void)
fatal("socketpair");
pipes[i][j] = sockpair[0];
pipes[j][i] = sockpair[1];
- session_socket_blockmode(pipes[i][j], BM_NONBLOCK);
- session_socket_blockmode(pipes[j][i], BM_NONBLOCK);
+ io_set_nonblocking(pipes[i][j]);
+ io_set_nonblocking(pipes[j][i]);
}
}
diff --git a/smtpd/control.c b/smtpd/control.c
index 22f6b125..b0c2c3a6 100644
--- a/smtpd/control.c
+++ b/smtpd/control.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: control.c,v 1.111 2016/02/09 10:38:02 gilles Exp $ */
+/* $OpenBSD: control.c,v 1.112 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2012 Gilles Chehade <gilles@poolp.org>
@@ -238,7 +238,7 @@ control_create_socket(void)
fatal("control: chmod");
}
- session_socket_blockmode(fd, BM_NONBLOCK);
+ io_set_nonblocking(fd);
control_state.fd = fd;
return fd;
@@ -361,7 +361,7 @@ control_accept(int listenfd, short event, void *arg)
fatal("control_accept: accept");
}
- session_socket_blockmode(connfd, BM_NONBLOCK);
+ io_set_nonblocking(connfd);
if (getpeereid(connfd, &euid, &egid) == -1)
fatal("getpeereid");
diff --git a/smtpd/filter.c b/smtpd/filter.c
index 5f746c24..38904a2e 100644
--- a/smtpd/filter.c
+++ b/smtpd/filter.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: filter.c,v 1.16 2016/02/03 11:14:08 eric Exp $ */
+/* $OpenBSD: filter.c,v 1.17 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2011 Gilles Chehade <gilles@poolp.org>
@@ -667,8 +667,8 @@ filter_tx(struct filter_session *s, int sink)
return (-1);
}
- io_set_blocking(sp[0], 0);
- io_set_blocking(sp[1], 0);
+ io_set_nonblocking(sp[0]);
+ io_set_nonblocking(sp[1]);
iobuf_init(&s->ibuf, 0, 0);
io_init(&s->iev, sp[0], s, filter_tx_io, &s->ibuf);
diff --git a/smtpd/ioev.c b/smtpd/ioev.c
index 5145f6f2..ee0fabb8 100644
--- a/smtpd/ioev.c
+++ b/smtpd/ioev.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ioev.c,v 1.24 2015/12/28 22:08:30 jung Exp $ */
+/* $OpenBSD: ioev.c,v 1.25 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@openbsd.org>
*
@@ -133,30 +133,25 @@ io_strevent(int evt)
}
void
-io_set_blocking(int fd, int blocking)
+io_set_nonblocking(int fd)
{
int flags;
- if ((flags = fcntl(fd, F_GETFL, 0)) == -1)
+ if ((flags = fcntl(fd, F_GETFL)) == -1)
err(1, "io_set_blocking:fcntl(F_GETFL)");
- if (blocking)
- flags &= ~O_NONBLOCK;
- else
- flags |= O_NONBLOCK;
+ flags |= O_NONBLOCK;
if ((flags = fcntl(fd, F_SETFL, flags)) == -1)
err(1, "io_set_blocking:fcntl(F_SETFL)");
}
void
-io_set_linger(int fd, int linger)
+io_set_nolinger(int fd)
{
struct linger l;
memset(&l, 0, sizeof(l));
- l.l_onoff = linger ? 1 : 0;
- l.l_linger = linger;
if (setsockopt(fd, SOL_SOCKET, SO_LINGER, &l, sizeof(l)) == -1)
err(1, "io_set_linger:setsockopt()");
}
@@ -598,8 +593,8 @@ io_connect(struct io *io, const struct sockaddr *sa, const struct sockaddr *bsa)
if ((sock = socket(sa->sa_family, SOCK_STREAM, 0)) == -1)
goto fail;
- io_set_blocking(sock, 0);
- io_set_linger(sock, 0);
+ io_set_nonblocking(sock);
+ io_set_nolinger(sock);
if (bsa && bind(sock, bsa, SA_LEN(bsa)) == -1)
goto fail;
diff --git a/smtpd/ioev.h b/smtpd/ioev.h
index dfcc7843..cb630a7a 100644
--- a/smtpd/ioev.h
+++ b/smtpd/ioev.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ioev.h,v 1.5 2014/12/24 13:51:31 eric Exp $ */
+/* $OpenBSD: ioev.h,v 1.6 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@openbsd.org>
*
@@ -52,8 +52,8 @@ struct io {
const char *error; /* only valid immediately on callback */
};
-void io_set_blocking(int, int);
-void io_set_linger(int, int);
+void io_set_nonblocking(int);
+void io_set_nolinger(int);
void io_init(struct io*, int, void*, void(*)(struct io*, int), struct iobuf*);
void io_clear(struct io*);
diff --git a/smtpd/makemap.c b/smtpd/makemap.c
index 5d43bee1..a19d8077 100644
--- a/smtpd/makemap.c
+++ b/smtpd/makemap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: makemap.c,v 1.64 2016/02/13 08:53:18 gilles Exp $ */
+/* $OpenBSD: makemap.c,v 1.65 2016/03/17 19:40:43 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -186,7 +186,7 @@ makemap(int argc, char *argv[])
}
execlp("makemap", "makemap", "-d", argv[0], "-o", dbname, "-",
- NULL);
+ (char *)NULL);
err(1, "execlp");
}
diff --git a/smtpd/mda.c b/smtpd/mda.c
index cc1c21f3..3cb38698 100644
--- a/smtpd/mda.c
+++ b/smtpd/mda.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mda.c,v 1.117 2016/02/02 05:45:27 sunil Exp $ */
+/* $OpenBSD: mda.c,v 1.118 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -436,7 +436,7 @@ mda_imsg(struct mproc *p, struct imsg *imsg)
"for session %016"PRIx64 " evpid %016"PRIx64,
imsg->fd, s->id, s->evp->id);
- io_set_blocking(imsg->fd, 0);
+ io_set_nonblocking(imsg->fd);
io_init(&s->io, imsg->fd, s, mda_io, &s->iobuf);
io_set_write(&s->io);
return;
diff --git a/smtpd/mproc.c b/smtpd/mproc.c
index 8d1c710f..71bcbc08 100644
--- a/smtpd/mproc.c
+++ b/smtpd/mproc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mproc.c,v 1.18 2016/02/10 15:03:37 millert Exp $ */
+/* $OpenBSD: mproc.c,v 1.19 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@faurot.net>
@@ -54,8 +54,8 @@ mproc_fork(struct mproc *p, const char *path, char *argv[])
if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, sp) < 0)
return (-1);
- session_socket_blockmode(sp[0], BM_NONBLOCK);
- session_socket_blockmode(sp[1], BM_NONBLOCK);
+ io_set_nonblocking(sp[0]);
+ io_set_nonblocking(sp[1]);
if ((p->pid = fork()) == -1)
goto err;
diff --git a/smtpd/smtp.c b/smtpd/smtp.c
index c761d7eb..282aa334 100644
--- a/smtpd/smtp.c
+++ b/smtpd/smtp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp.c,v 1.154 2016/02/13 20:43:07 gilles Exp $ */
+/* $OpenBSD: smtp.c,v 1.155 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -180,7 +180,7 @@ smtp_setup_events(void)
" ca \"%s\"", ss_to_text(&l->ss), ntohs(l->port),
l->flags, l->pki_name, l->ca_name);
- session_socket_blockmode(l->fd, BM_NONBLOCK);
+ io_set_nonblocking(l->fd);
if (listen(l->fd, SMTPD_BACKLOG) == -1)
fatal("listen");
event_set(&l->ev, l->fd, EV_READ|EV_PERSIST, smtp_accept, l);
@@ -291,7 +291,7 @@ smtp_accept(int fd, short event, void *p)
close(sock);
return;
}
- io_set_blocking(sock, 0);
+ io_set_nonblocking(sock);
sessions++;
stat_increment("smtp.session", 1);
diff --git a/smtpd/smtp_session.c b/smtpd/smtp_session.c
index 0724988d..c0554127 100644
--- a/smtpd/smtp_session.c
+++ b/smtpd/smtp_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp_session.c,v 1.268 2016/02/05 19:15:15 jung Exp $ */
+/* $OpenBSD: smtp_session.c,v 1.269 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -1180,7 +1180,7 @@ smtp_filter_fd(uint64_t id, int fd)
}
iobuf_init(&s->obuf, 0, 0);
- io_set_blocking(fd, 0);
+ io_set_nonblocking(fd);
io_init(&s->oev, fd, s, smtp_data_io, &s->obuf);
iobuf_fqueue(&s->obuf, "Received: ");
diff --git a/smtpd/smtpctl.c b/smtpd/smtpctl.c
index afc1bcd6..6e0192aa 100644
--- a/smtpd/smtpctl.c
+++ b/smtpd/smtpctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpctl.c,v 1.147 2016/02/12 03:11:16 sunil Exp $ */
+/* $OpenBSD: smtpctl.c,v 1.148 2016/03/17 19:40:43 krw Exp $ */
/*
* Copyright (c) 2013 Eric Faurot <eric@openbsd.org>
@@ -885,7 +885,7 @@ do_encrypt(int argc, struct parameter *argv)
if (argv)
p = argv[0].u.u_str;
- execl(PATH_ENCRYPT, "encrypt", p, NULL);
+ execl(PATH_ENCRYPT, "encrypt", p, (char *)NULL);
errx(1, "execl");
}
@@ -1283,9 +1283,9 @@ display(const char *s)
lseek(fileno(fp), 0, SEEK_SET);
(void)dup2(fileno(fp), STDIN_FILENO);
if (gzipped)
- execl(PATH_GZCAT, gzcat_argv0, NULL);
+ execl(PATH_GZCAT, gzcat_argv0, (char *)NULL);
else
- execl(PATH_CAT, "cat", NULL);
+ execl(PATH_CAT, "cat", (char *)NULL);
err(1, "execl");
}
diff --git a/smtpd/smtpd.c b/smtpd/smtpd.c
index 2f5c6213..9fe07518 100644
--- a/smtpd/smtpd.c
+++ b/smtpd/smtpd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpd.c,v 1.274 2016/02/05 19:15:15 jung Exp $ */
+/* $OpenBSD: smtpd.c,v 1.275 2016/03/17 19:40:43 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -892,7 +892,7 @@ fork_proc_backend(const char *key, const char *conf, const char *procname)
if (procname == NULL)
procname = name;
- execl(path, procname, arg, NULL);
+ execl(path, procname, arg, (char *)NULL);
err(1, "execl: %s", path);
}
diff --git a/smtpd/smtpd.conf.5 b/smtpd/smtpd.conf.5
index bdcce0c4..db062597 100644
--- a/smtpd/smtpd.conf.5
+++ b/smtpd/smtpd.conf.5
@@ -1,4 +1,4 @@
-.\" $OpenBSD: smtpd.conf.5,v 1.155 2016/02/13 23:15:00 jmc Exp $
+.\" $OpenBSD: smtpd.conf.5,v 1.156 2016/03/07 16:21:48 gilles 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: February 13 2016 $
+.Dd $Mdocdate: March 7 2016 $
.Dt SMTPD.CONF 5
.Os
.Sh NAME
@@ -577,7 +577,7 @@ bounce-warn 1h, 6h, 2d
will generate a failure report when an envelope is in the queue for more
than one hour, six hours and two days.
The default is 4h.
-.It Ic ca Ar hostname Ic ca Ar cafile
+.It Ic ca Ar hostname Ic certificate Ar cafile
Associate a custom CA certificate located in
.Ar cafile
with
diff --git a/smtpd/smtpd.h b/smtpd/smtpd.h
index 68b382be..9776b436 100644
--- a/smtpd/smtpd.h
+++ b/smtpd/smtpd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpd.h,v 1.513 2016/02/21 15:17:25 gilles Exp $ */
+/* $OpenBSD: smtpd.h,v 1.514 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -334,11 +334,6 @@ enum imsg_type {
IMSG_CA_PRIVDEC
};
-enum blockmodes {
- BM_NORMAL,
- BM_NONBLOCK
-};
-
enum smtp_proc_type {
PROC_PARENT = 0,
PROC_LKA,
@@ -1532,8 +1527,6 @@ void iobuf_xinit(struct iobuf *, size_t, size_t, const char *);
void iobuf_xfqueue(struct iobuf *, const char *, const char *, ...);
void log_envelope(const struct envelope *, const char *, const char *,
const char *);
-void session_socket_blockmode(int, enum blockmodes);
-void session_socket_no_linger(int);
int session_socket_error(int);
int getmailname(char *, size_t);
int base64_encode(unsigned char const *, size_t, char *, size_t);
diff --git a/smtpd/util.c b/smtpd/util.c
index 4b3c3d6e..c0e7003b 100644
--- a/smtpd/util.c
+++ b/smtpd/util.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: util.c,v 1.125 2016/01/12 17:29:43 sunil Exp $ */
+/* $OpenBSD: util.c,v 1.126 2016/03/25 15:06:58 krw Exp $ */
/*
* Copyright (c) 2000,2001 Markus Friedl. All rights reserved.
@@ -666,33 +666,6 @@ generate_uid(void)
return (uid);
}
-void
-session_socket_blockmode(int fd, enum blockmodes bm)
-{
- int flags;
-
- if ((flags = fcntl(fd, F_GETFL, 0)) == -1)
- fatal("fcntl F_GETFL");
-
- if (bm == BM_NONBLOCK)
- flags |= O_NONBLOCK;
- else
- flags &= ~O_NONBLOCK;
-
- if ((flags = fcntl(fd, F_SETFL, flags)) == -1)
- fatal("fcntl F_SETFL");
-}
-
-void
-session_socket_no_linger(int fd)
-{
- struct linger lng;
-
- memset(&lng, 0, sizeof(lng));
- if (setsockopt(fd, SOL_SOCKET, SO_LINGER, &lng, sizeof(lng)) == -1)
- fatal("session_socket_no_linger");
-}
-
int
session_socket_error(int fd)
{