summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2015-09-20 21:49:55 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2015-09-20 21:49:55 +0000
commit12ea671b20c8f2b724519d518d2c4f8881e8cf58 (patch)
treec274009a8e04b07b33601beb31d4b29086fed6ed /sys/kern
parentac80b6591c6b0cedf6fdac35db003472a6c15307 (diff)
Misuse of libevent in TLS read and write might have caused strange
event loss in syslogd. The ev_read and ev_write event structures were used for both EV_READ and EV_WRITE events intermixedly. The correct way is to use each event for its read and write purpose and instead switch the handler. Then libevent is no longer confused. When doing TLS read and a TLS_WANT_POLLOUT occures, call event_set() for the write event to change the callback to read. As there might be an event scheduled on the event, call event_del() before event_set(). After a successful TLS read, change back the write event. Add analog code for TLS write and handshake. OK beck@
Diffstat (limited to 'sys/kern')
0 files changed, 0 insertions, 0 deletions