summaryrefslogtreecommitdiffstats
path: root/crypto/conf/conf_def.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2018-05-10 15:31:00 +0100
committerMatt Caswell <matt@openssl.org>2018-05-11 10:29:04 +0100
commitc3114a7732f423ec42a86392e12c8c3783c53aae (patch)
tree7a503c6db6ffeae1e95403450e2c7b755c7863e3 /crypto/conf/conf_def.c
parent13f6857db107b1b6f68daa7fc4a6dd1293428bb1 (diff)
Set the ossl_shim to auto retry if not running asynchronously
In certain circumstances in the DTLS code we have to drop a record (e.g. if it is a stale retransmit). We then have to move on to try and read the next record. Some applications using blocking sockets (e.g. s_server/s_client will hang if there isn't actually any data to be read from the socket yet). Others can tolerate this. Therefore SSL_read()/SSL_write() can sometimes return SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE even when using blocking sockets. Applications can use the mode SSL_MODE_AUTO_RETRY, to switch this behaviour off so that we never return unless we have read the data we wanted to. Commit ad96225285 fixed a DTLS problem where we always retried even if SSL_MODE_AUTO_RETRY was not set. However that fix caused the Boring ossl_shim to fail in some tests because it was relying on the previous (buggy) behaviour. The ossl_shim should be set into SSL_MODE_AUTO_RETRY if it is not operating asynchronously to avoid this problem. [extended tests] Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6216)
Diffstat (limited to 'crypto/conf/conf_def.c')
0 files changed, 0 insertions, 0 deletions