boringssl/include/openssl
David Benjamin 7934f08b26 Replace init_msg/init_num with a get_message hook.
Rather than init_msg/init_num, there is a get_message function which
either returns success or try again. This function does not advance the
current message (see the previous preparatory change). It only completes
the current one if necessary.

Being idempotent means it may be freely placed at the top of states
which otherwise have other asychronous operations. It also eases
converting the TLS 1.2 state machine. See
https://docs.google.com/a/google.com/document/d/11n7LHsT3GwE34LAJIe3EFs4165TI4UR_3CqiM9LJVpI/edit?usp=sharing
for details.

The read_message hook (later to be replaced by something which doesn't
depend on BIO) intentionally does not finish the handshake, only "makes
progress". A follow-up change will align both TLS and DTLS on consuming
one handshake record and always consuming the entire record (so init_buf
may contain trailing data). In a few places I've gone ahead and
accounted for that case because it was more natural to do so.

This change also removes a couple pointers of redundant state from every
socket.

Bug: 128
Change-Id: I89d8f3622d3b53147d69ee3ac34bb654ed044a71
Reviewed-on: https://boringssl-review.googlesource.com/18806
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-08-08 21:13:04 +00:00
..
aead.h Make the bssl::SealRecord out_suffix arg fixed length. 2017-07-28 21:42:25 +00:00
aes.h
arm_arch.h
asn1_mac.h
asn1.h Register stack deleters automatically. 2017-07-26 21:03:11 +00:00
asn1t.h Document support status of the legacy ASN.1 code. 2017-06-09 19:27:33 +00:00
base64.h
base.h More scopers. 2017-08-03 19:35:09 +00:00
bio.h Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
blowfish.h
bn.h Fix typo. 2017-07-20 21:26:32 +00:00
buf.h Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
buffer.h
bytestring.h Convert bytestring_test to GTest. 2017-04-17 14:19:47 +00:00
cast.h
chacha.h
cipher.h Enforce incrementing counter for TLS 1.2 AES-GCM. 2017-05-26 20:06:36 +00:00
cmac.h
conf.h Convert stack.h to use inline functions. 2017-05-22 15:06:04 +00:00
cpu.h Set static armcaps based on __ARM_FEATURE_CRYPTO. 2017-06-09 00:29:10 +00:00
crypto.h
curve25519.h Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
des.h
dh.h Remove ex_data's dup hook. 2017-05-23 22:43:59 +00:00
digest.h
dsa.h Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
dtls1.h
ec_key.h Trim RSA_METHOD and ECDSA_METHOD. 2017-06-22 19:06:29 +00:00
ec.h
ecdh.h
ecdsa.h
engine.h
err.h Document ERR_error_string_n standalone. 2017-04-27 20:26:22 +00:00
evp.h Implement scrypt from RFC 7914. 2017-06-12 20:32:21 +00:00
ex_data.h Remove ex_data's dup hook. 2017-05-23 22:43:59 +00:00
hkdf.h
hmac.h
is_boringssl.h
lhash_macros.h
lhash.h
md4.h
md5.h
mem.h Use functions that do not depend on the current locale. 2017-07-25 22:53:33 +00:00
nid.h Align EVP_PKEY Ed25519 API with upstream. 2017-06-12 12:04:11 +00:00
obj_mac.h
obj.h
objects.h
opensslconf.h
opensslv.h
ossl_typ.h
pem.h Switch a number of files to C++. 2017-07-12 20:54:02 +00:00
pkcs7.h Add PKCS7_get_raw_certificates. 2017-04-19 17:30:31 +00:00
pkcs8.h
pkcs12.h
poly1305.h
pool.h Register stack deleters automatically. 2017-07-26 21:03:11 +00:00
rand.h Add dummy |RAND_get_rand_method|. 2017-07-28 21:50:21 +00:00
rc4.h
ripemd.h
rsa.h Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
safestack.h
sha.h
span.h C++ headers should be more aggressively wrapped in extern "C++". 2017-07-27 20:12:53 +00:00
srtp.h
ssl3.h Replace init_msg/init_num with a get_message hook. 2017-08-08 21:13:04 +00:00
ssl.h Add DTLS_with_buffers_method. 2017-08-07 21:01:25 +00:00
stack.h Add a bssl::PushToStack helper. 2017-07-28 19:56:36 +00:00
thread.h
tls1.h
type_check.h Use OPENSSL_UNUSED in OPENSSL_COMPILE_ASSERT. 2017-07-17 20:53:15 +00:00
x509_vfy.h More scopers. 2017-08-03 19:35:09 +00:00
x509.h More scopers. 2017-08-03 19:35:09 +00:00
x509v3.h Register stack deleters automatically. 2017-07-26 21:03:11 +00:00