diff options
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/syslogd/evbuffer_tls.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/usr.sbin/syslogd/evbuffer_tls.c b/usr.sbin/syslogd/evbuffer_tls.c index 4514e0c14e8..56172e43f28 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.5 2015/07/18 22:33:46 bluhm Exp $ */ +/* $OpenBSD: evbuffer_tls.c,v 1.6 2015/09/10 10:58:48 bluhm Exp $ */ /* * Copyright (c) 2002-2004 Niels Provos <provos@citi.umich.edu> @@ -95,11 +95,11 @@ buffertls_readcb(int fd, short event, void *arg) res = evtls_read(bufev->input, fd, howmuch, ctx); switch (res) { - case TLS_READ_AGAIN: + case TLS_WANT_POLLIN: event_set(&bufev->ev_read, fd, EV_READ, buffertls_readcb, buftls); goto reschedule; - case TLS_WRITE_AGAIN: + case TLS_WANT_POLLOUT: event_set(&bufev->ev_read, fd, EV_WRITE, buffertls_readcb, buftls); goto reschedule; @@ -162,11 +162,11 @@ buffertls_writecb(int fd, short event, void *arg) if (EVBUFFER_LENGTH(bufev->output) != 0) { res = evtls_write(bufev->output, fd, ctx); switch (res) { - case TLS_READ_AGAIN: + case TLS_WANT_POLLIN: event_set(&bufev->ev_write, fd, EV_READ, buffertls_writecb, buftls); goto reschedule; - case TLS_WRITE_AGAIN: + case TLS_WANT_POLLOUT: event_set(&bufev->ev_write, fd, EV_WRITE, buffertls_writecb, buftls); goto reschedule; @@ -226,11 +226,11 @@ buffertls_connectcb(int fd, short event, void *arg) res = tls_connect_socket(ctx, fd, hostname); switch (res) { - case TLS_READ_AGAIN: + case TLS_WANT_POLLIN: event_set(&bufev->ev_write, fd, EV_READ, buffertls_connectcb, buftls); goto reschedule; - case TLS_WRITE_AGAIN: + case TLS_WANT_POLLOUT: event_set(&bufev->ev_write, fd, EV_WRITE, buffertls_connectcb, buftls); goto reschedule; @@ -300,7 +300,7 @@ int evtls_read(struct evbuffer *buf, int fd, int howmuch, struct tls *ctx) { u_char *p; - size_t len, oldoff = buf->off; + size_t oldoff = buf->off; int n = EVBUFFER_MAX_READ; if (ioctl(fd, FIONREAD, &n) == -1 || n <= 0) { @@ -328,30 +328,28 @@ evtls_read(struct evbuffer *buf, int fd, int howmuch, struct tls *ctx) /* We can append new data at this point */ p = buf->buffer + buf->off; - n = tls_read(ctx, p, howmuch, &len); - if (n < 0 || len == 0) + n = tls_read(ctx, p, howmuch); + if (n <= 0) return (n); - buf->off += len; + buf->off += n; /* Tell someone about changes in this buffer */ if (buf->off != oldoff && buf->cb != NULL) (*buf->cb)(buf, oldoff, buf->off, buf->cbarg); - return (len); + return (n); } int evtls_write(struct evbuffer *buffer, int fd, struct tls *ctx) { - size_t len; int n; - n = tls_write(ctx, buffer->buffer, buffer->off, &len); - if (n < 0 || len == 0) + n = tls_write(ctx, buffer->buffer, buffer->off); + if (n <= 0) return (n); + evbuffer_drain(buffer, n); - evbuffer_drain(buffer, len); - - return (len); + return (n); } |