boringssl/include/openssl
David Benjamin 3c1ccc017c Document a bunch of core functions in ssl.h.
Unfortunately, these are also some of the worst APIs in the SSL stack.
I've tried to capture all the things they expose to the caller. 0 vs -1
is intentionally left unexpanded on for now. Upstream's documentation
says 0 means transport EOF, which is a nice idea but isn't true. (A lot
of random functions return 0 on error and pass it up to the caller.)
https://crbug.com/466303 tracks fixing that.

SSL_set_bio is intentionally documented to NOT be usable when they're
already configured. The function tries to behave in this case and even
with additional cases when |rbio| and/or |wbio| are unchanged, but this
is buggy. For instance, this will explode:

     SSL_set_bio(ssl, bio1, bio1);
     SSL_set_bio(ssl, bio2, SSL_get_wbio(ssl));

As will this, though it's less clear this is part of the API contract
due to SSL taking ownership.

     SSL_set_bio(ssl, bio1, bio2);
     SSL_set_bio(ssl, bio2, bio1);

It also tries to handle ssl->bbio already existing, but I doubt it quite
works. Hopefully we can drop ssl->bbio eventually. (Why is this so
complicated...)

Change-Id: I5f9f3043915bffc67e2ebd282813e04afbe076e6
Reviewed-on: https://boringssl-review.googlesource.com/5872
Reviewed-by: Adam Langley <agl@google.com>
2015-09-14 23:29:18 +00:00
..
aead.h Restore the NULL-SHA ciphersuite. (Alas.) 2015-09-11 22:18:08 +00:00
aes.h
arm_arch.h Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
asn1_mac.h
asn1.h Fix the type of ASN1_i2d_bio's last argument. 2015-08-28 22:03:54 +00:00
asn1t.h
base64.h Deprecated functions get their own sections. 2015-09-11 20:57:36 +00:00
base.h
bio.h Some documentation fixes. 2015-09-11 20:56:53 +00:00
blowfish.h
bn.h Stop using |ERR_peek_last_error| in RSA blinding. 2015-09-08 23:32:48 +00:00
buf.h
buffer.h Add buffer.h for compatibility. 2015-05-12 00:09:57 +00:00
bytestring.h Allow out_present to be NULL in CBS_get_optional_asn1 2015-09-03 18:46:17 +00:00
cast.h
chacha.h
cipher.h Re-add |EVP_des_ede|, which is ECB. 2015-08-20 21:33:21 +00:00
cmac.h
conf.h
cpu.h
crypto.h
des.h Clean up the DES_key_schedule logic. 2015-08-07 01:55:59 +00:00
dh.h Fix pub_key comment in dh.h. 2015-08-17 20:32:51 +00:00
digest.h
dsa.h
dtls1.h
ec_key.h
ec.h
ecdh.h
ecdsa.h
engine.h
err.h
evp.h
ex_data.h
hkdf.h
hmac.h
lhash_macros.h
lhash.h
md4.h
md5.h
mem.h
modes.h
obj_mac.h
obj.h
objects.h
opensslfeatures.h
opensslv.h
ossl_typ.h
pem.h
pkcs7.h
pkcs8.h pkcs8.c: Add PBES2 to list of password-based encryption methods. 2015-08-28 20:33:33 +00:00
pkcs12.h
poly1305.h
pqueue.h
rand.h Buffer reads of urandom, if you promise no forking. 2015-09-09 01:02:54 +00:00
rc4.h
rsa.h Some documentation fixes. 2015-09-11 20:56:53 +00:00
safestack.h
sha.h
srtp.h
ssl3.h Wait for CertificateStatus message to verify certificate. 2015-09-08 19:04:43 +00:00
ssl.h Document a bunch of core functions in ssl.h. 2015-09-14 23:29:18 +00:00
stack_macros.h
stack.h
thread.h
time_support.h
tls1.h Remove DHE_RSA_WITH_CHACHA20_POLY1305. 2015-08-24 23:35:25 +00:00
type_check.h
x509_vfy.h
x509.h Add X509_CRL_up_ref. 2015-09-01 19:12:56 +00:00
x509v3.h