diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-07-18 22:33:47 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-07-18 22:33:47 +0000 |
commit | 2f178e74e898117f4480bc308697e4557eba0d3d (patch) | |
tree | 5a566c57f2769b1188a87409e2b6604afed35b2d /usr.sbin/syslogd/syslogd.c | |
parent | 779de28a7f24b0caa34cacefe9025b8be5c3c787 (diff) |
As libtls previously did not set SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER,
syslogd had to drop messages after tls_write() returned
TLS_{READ,WRITE}_AGAIN. Now after libtls has been fixed, remove
the workaround. Messages are stored in the libevent write buffer
as we can safely do a realloc(3) now.
OK reyk@
Diffstat (limited to 'usr.sbin/syslogd/syslogd.c')
-rw-r--r-- | usr.sbin/syslogd/syslogd.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index eb762595cbb..89e14064205 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: syslogd.c,v 1.173 2015/07/16 23:29:14 bluhm Exp $ */ +/* $OpenBSD: syslogd.c,v 1.174 2015/07/18 22:33:46 bluhm Exp $ */ /* * Copyright (c) 1983, 1988, 1993, 1994 @@ -1498,22 +1498,8 @@ fprintlog(struct filed *f, int flags, char *msg) } break; - case F_FORWTLS: - if (f->f_un.f_forw.f_buftls.bt_flags & BT_WRITE_AGAIN) { - /* - * After an OpenSSL SSL_ERROR_WANT_WRITE you must not - * modify the buffer pointer or length until the next - * successful write. Otherwise there will be an - * error SSL3_WRITE_PENDING:bad write retry. - * XXX This should be handled in the buffertls layer. - */ - dprintf(" %s (dropped tls write again)\n", - f->f_un.f_forw.f_loghost); - f->f_un.f_forw.f_dropped++; - break; - } - /* FALLTHROUGH */ case F_FORWTCP: + case F_FORWTLS: dprintf(" %s", f->f_un.f_forw.f_loghost); if (EVBUFFER_LENGTH(f->f_un.f_forw.f_bufev->output) >= MAX_TCPBUF) { |