boringssl/include/openssl
Adam Langley ec48af40a7 Make SSL_MODE_AUTO_RETRY the default.
Without SSL_MODE_AUTO_RETRY, even blocking mode will return
SSL_ERROR_WANT_{READ|WRITE} in the event of a renegotiation.

The comments in the code speak only of "nasty problems" unless this is
done. The original commit that added SSL_MODE_AUTO_RETRY
(54f10e6adce56eb2e59936e32216162aadc5d050) gives a little more detail:

    The [...] behaviour is needed by applications such as s_client and
    s_server that use select() to determine when to use SSL_read.

Without the -nbio flag, s_client will use select() to find when the
socket is readable and then call SSL_read with a blocking socket.
However, this will still block in the event of an incomplete record, so
the delay is already unbounded. This it's very unclear what the point of
this behaviour ever was.

Perhaps if the read and write paths were different sockets where the
read socket was non-blocking but the write socket was blocking. But that
seems like an implausible situation to worry too much about.

Change-Id: I9d9f2526afc2e0fd0e5440e9a047f419a2d61afa
Reviewed-on: https://boringssl-review.googlesource.com/2140
Reviewed-by: Adam Langley <agl@google.com>
2014-11-04 01:25:22 +00:00
..
aead.h Convert all zero-argument functions to '(void)' 2014-08-21 01:06:07 +00:00
aes.h Add visibility rules. 2014-07-31 22:03:11 +00:00
asn1_mac.h Add visibility rules. 2014-07-31 22:03:11 +00:00
asn1.h Don't mix and match libraries and errors. 2014-10-13 22:56:28 +00:00
asn1t.h Fix Windows shared library build. 2014-10-01 02:01:53 +00:00
base64.h Introduce EVP_DecodeBase64. 2014-08-25 23:00:28 +00:00
base.h Move the X509_NAME typedef into x509.h. 2014-10-28 22:38:38 +00:00
bio.h Add misc functions for easier porting. 2014-09-18 22:38:11 +00:00
bn.h Fix BN_sub documentation. 2014-08-27 17:41:08 +00:00
buf.h Add visibility rules. 2014-07-31 22:03:11 +00:00
bytestring.h Extended master secret support. 2014-10-24 21:19:44 +00:00
chacha.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
cipher.h Add deprecated functions for tcpdump. 2014-09-26 22:10:45 +00:00
conf.h Convert all zero-argument functions to '(void)' 2014-08-21 01:06:07 +00:00
cpu.h Convert all zero-argument functions to '(void)' 2014-08-21 01:06:07 +00:00
crypto.h Add a CRYPTO_library_init and static-initializer-less build option. 2014-09-12 00:10:53 +00:00
des.h Add visibility rules. 2014-07-31 22:03:11 +00:00
dh.h Windows build fixes. 2014-08-11 22:10:02 +00:00
digest.h Add misc functions for easier porting. 2014-09-18 22:38:11 +00:00
dsa.h Add misc functions for easier porting. 2014-09-18 22:38:11 +00:00
dtls1.h DTLS1_AD_MISSING_HANDSHAKE_MESSAGE does not exist. 2014-11-04 00:26:01 +00:00
ec_key.h Add visibility rules. 2014-07-31 22:03:11 +00:00
ec.h Readd EC_GROUP_get_curve_GFp. 2014-08-26 21:52:12 +00:00
ecdh.h Add visibility rules. 2014-07-31 22:03:11 +00:00
ecdsa.h Add visibility rules. 2014-07-31 22:03:11 +00:00
engine.h Add generic OPERATION_NOT_SUPPORTED error code. 2014-10-09 23:55:39 +00:00
err.h Remove ERR_LIB_PKCS12. 2014-10-31 18:25:06 +00:00
evp.h Make EVP_DigestVerifyFinal return only zero or one. 2014-10-28 20:22:46 +00:00
ex_data.h Add visibility rules. 2014-07-31 22:03:11 +00:00
hmac.h Add visibility rules. 2014-07-31 22:03:11 +00:00
lhash_macros.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
lhash.h Add visibility rules. 2014-07-31 22:03:11 +00:00
md4.h Fix build (broken by MD4_CTX redefine). 2014-08-26 23:30:32 +00:00
md5.h Readd MD4. 2014-08-26 21:51:48 +00:00
mem.h Add visibility rules. 2014-07-31 22:03:11 +00:00
modes.h Add visibility rules. 2014-07-31 22:03:11 +00:00
obj_mac.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
obj.h Clarify a comment. 2014-08-14 09:42:46 -07:00
objects.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
opensslfeatures.h Readd MD4. 2014-08-26 21:51:48 +00:00
opensslv.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
ossl_typ.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
pem.h unifdef a bunch of OPENSSL_NO_* ifdefs. 2014-08-28 00:41:34 +00:00
pkcs7.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
pkcs8.h Provide compatibility functions for PKCS#12 parsing. 2014-09-20 00:10:03 +00:00
pkcs12.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
poly1305.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
pqueue.h Export pqueue functions. 2014-09-03 21:38:19 +00:00
rand.h Convert all zero-argument functions to '(void)' 2014-08-21 01:06:07 +00:00
rc4.h Add visibility rules. 2014-07-31 22:03:11 +00:00
rsa.h Fix minor comment typos. 2014-08-19 19:01:03 +00:00
safe_stack.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
sha.h Fix SHA*_Final documentation. 2014-10-06 23:51:50 +00:00
srtp.h Add less dangerous versions of SRTP functions. 2014-10-27 21:58:09 +00:00
ssl2.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
ssl3.h Extended master secret support. 2014-10-24 21:19:44 +00:00
ssl23.h Clean up s23_srvr.c. 2014-08-12 21:10:56 +00:00
ssl.h Make SSL_MODE_AUTO_RETRY the default. 2014-11-04 01:25:22 +00:00
stack_macros.h Mark all SSL_CIPHERs as const. 2014-08-18 17:55:05 +00:00
stack.h Mark all SSL_CIPHERs as const. 2014-08-18 17:55:05 +00:00
thread.h Also export some deprecated functions. 2014-08-01 10:33:29 -07:00
time_support.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
tls1.h Extended master secret support. 2014-10-24 21:19:44 +00:00
type_check.h Move public headers to include/openssl/ 2014-07-14 22:42:18 +00:00
x509_vfy.h Add visibility rules. 2014-07-31 22:03:11 +00:00
x509.h Move the X509_NAME typedef into x509.h. 2014-10-28 22:38:38 +00:00
x509v3.h Fix Windows shared library build. 2014-10-01 02:01:53 +00:00