diff options
author | jsing <> | 2020-11-03 17:41:39 +0000 |
---|---|---|
committer | jsing <> | 2020-11-03 17:41:39 +0000 |
commit | a706869ac70670ecb35789f6076ad655477e08e6 (patch) | |
tree | 0c5fb43083efa0cdcdcc5ead4355aab342727ce6 /src/lib/libc/stdlib/reallocarray.c | |
parent | b7e071d468fd49ea9bbc98532eb8d0fff0bf974a (diff) | |
download | openbsd-a706869ac70670ecb35789f6076ad655477e08e6.tar.gz openbsd-a706869ac70670ecb35789f6076ad655477e08e6.tar.bz2 openbsd-a706869ac70670ecb35789f6076ad655477e08e6.zip |
Only check BIO_should_read() on read and BIO_should_write() on write.
The TLSv1.3 code that drives a BIO currently checks BIO_should_read()
after BIO_write() and BIO_should_write() after BIO_read(), which was
modelled on SSL_get_error(). However, there are certain cases where
this can confuse the caller - primarily where the same BIO is being
used for both read and write and the caller is manipulating the retry
flags. SSL_get_error() tends avoids this issue by relying on another
layer of state tracking.
Unfortunately haproxy hits this situation - it has its own BIO_METHOD,
the same BIO is used for both read and write and it manipulates the
retry flags - resulting in it stalling.
Issued noted by Thorsten Lockert <tholo@tzecmaun.org>
ok beck@ tb@
Diffstat (limited to 'src/lib/libc/stdlib/reallocarray.c')
0 files changed, 0 insertions, 0 deletions