diff options
author | 2016-03-29 10:26:59 +0200 | |
---|---|---|
committer | 2016-03-29 10:26:59 +0200 | |
commit | 939288a05de92b27238f0276f9d6d671ed4ad71a (patch) | |
tree | 112090f22e4bbf4374c923853012026f8c7e3a58 | |
parent | Merge pull request #664 from bsdsx/solaris_have_ss_len (diff) | |
parent | sync with CVS: (diff) | |
download | OpenSMTPD-939288a05de92b27238f0276f9d6d671ed4ad71a.tar.xz OpenSMTPD-939288a05de92b27238f0276f9d6d671ed4ad71a.zip |
Merge branch 'master' into portable
-rw-r--r-- | smtpd/CVS/Entries | 176 | ||||
-rw-r--r-- | smtpd/config.c | 6 | ||||
-rw-r--r-- | smtpd/control.c | 6 | ||||
-rw-r--r-- | smtpd/filter.c | 6 | ||||
-rw-r--r-- | smtpd/ioev.c | 19 | ||||
-rw-r--r-- | smtpd/ioev.h | 6 | ||||
-rw-r--r-- | smtpd/makemap.c | 4 | ||||
-rw-r--r-- | smtpd/mda.c | 4 | ||||
-rw-r--r-- | smtpd/mproc.c | 6 | ||||
-rw-r--r-- | smtpd/smtp.c | 6 | ||||
-rw-r--r-- | smtpd/smtp_session.c | 4 | ||||
-rw-r--r-- | smtpd/smtpctl.c | 8 | ||||
-rw-r--r-- | smtpd/smtpd.c | 4 | ||||
-rw-r--r-- | smtpd/smtpd.conf.5 | 6 | ||||
-rw-r--r-- | smtpd/smtpd.h | 9 | ||||
-rw-r--r-- | smtpd/util.c | 29 |
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) { |