62fd16283a
State on s3 gets freed in both ssl3_clear and ssl3_free. Considate to just ssl3_free. This replaces the (SSL,ssl,ssl3)_clear calls in (SSL,ssl,ssl3)_new with the state that was initialized. This results in a little code duplication between SSL_new and SSL_clear because state is on the wrong object. I've just left TODOs for now; some of it will need disentangling. We're far from it, but going forward, separate state between s and s->s3 as: - s contains configuration state, DTLS or TLS. It is initialized from SSL_CTX, configurable directly afterwards, and preserved across SSL_clear calls. (Including when it's implicitly set as part of a handshake callback.) - Connection state hangs off s->s3 (TLS) and s->d1 (DTLS). It is reset across SSL_clear. This should happen naturally out of a ssl_free/ssl_new pair. The goal is to avoid needing separate initialize and reset code for anything; the point any particular state is reset is the point its owning context is destroyed and recreated. Change-Id: I5d779010778109f8c339c07433a0777feaf94d1f Reviewed-on: https://boringssl-review.googlesource.com/2822 Reviewed-by: Adam Langley <agl@google.com> |
||
---|---|---|
crypto | ||
doc | ||
include/openssl | ||
ssl | ||
tool | ||
util | ||
.clang-format | ||
.gitignore | ||
BUILDING | ||
CMakeLists.txt | ||
codereview.settings |