summaryrefslogtreecommitdiffstats
path: root/usr.sbin/syslogd/evbuffer_tls.c
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2015-10-09 16:58:25 +0000
committerbluhm <bluhm@openbsd.org>2015-10-09 16:58:25 +0000
commit1cfd376a1dba5eeb3201d3836982234b3b55bbe4 (patch)
treeb26cff43469a25494527f426d3acd1f737197a9e /usr.sbin/syslogd/evbuffer_tls.c
parentConvert fgetln(3) to getline(3). (diff)
downloadwireguard-openbsd-1cfd376a1dba5eeb3201d3836982234b3b55bbe4.tar.xz
wireguard-openbsd-1cfd376a1dba5eeb3201d3836982234b3b55bbe4.zip
If syslogd is started with -S, it accepts TLS connections to receive
encrypted messages. The server certificates are taken from /etc/ssl like relayd does. OK benno@ beck@ deraadt@
Diffstat (limited to 'usr.sbin/syslogd/evbuffer_tls.c')
-rw-r--r--usr.sbin/syslogd/evbuffer_tls.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr.sbin/syslogd/evbuffer_tls.c b/usr.sbin/syslogd/evbuffer_tls.c
index 0f7edbec8cc..c1a081fb7cf 100644
--- a/usr.sbin/syslogd/evbuffer_tls.c
+++ b/usr.sbin/syslogd/evbuffer_tls.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: evbuffer_tls.c,v 1.8 2015/09/20 21:49:54 bluhm Exp $ */
+/* $OpenBSD: evbuffer_tls.c,v 1.9 2015/10/09 16:58:25 bluhm Exp $ */
/*
* Copyright (c) 2002-2004 Niels Provos <provos@citi.umich.edu>
@@ -260,6 +260,19 @@ buffertls_set(struct buffertls *buftls, struct bufferevent *bufev,
}
void
+buffertls_accept(struct buffertls *buftls, int fd)
+{
+ struct bufferevent *bufev = buftls->bt_bufev;
+
+ event_del(&bufev->ev_read);
+ event_del(&bufev->ev_write);
+ event_set(&bufev->ev_read, fd, EV_READ, buffertls_handshakecb, buftls);
+ event_set(&bufev->ev_write, fd, EV_WRITE, buffertls_handshakecb,
+ buftls);
+ bufferevent_add(&bufev->ev_read, bufev->timeout_read);
+}
+
+void
buffertls_connect(struct buffertls *buftls, int fd)
{
struct bufferevent *bufev = buftls->bt_bufev;