summaryrefslogtreecommitdiff
path: root/src/ssl/s3_lib.cc
diff options
context:
space:
mode:
authorRobert Sloan <varomodt@google.com>2017-07-24 08:40:01 -0700
committerRobert Sloan <varomodt@google.com>2017-07-24 08:42:03 -0700
commitb6d070c5081ba0ca11545eb50870817d6d72d926 (patch)
tree707f1e4d159e58912d448a90714557bae8154325 /src/ssl/s3_lib.cc
parent682d4e9e966a91cfdd932e78c2d322294a48f4ba (diff)
downloadboringssl-b6d070c5081ba0ca11545eb50870817d6d72d926.tar.gz
external/boringssl: Sync to c642aca28feb7e18f244658559f4042286aed0c8.
This includes the following changes: https://boringssl.googlesource.com/boringssl/+log/14308731e5446a73ac2258688a9688b524483cb6..c642aca28feb7e18f244658559f4042286aed0c8 Test: BoringSSL CTS Presubmits Change-Id: Ia0b5b2cdd64eb2b54ec5335d48da9001e9d6dafa
Diffstat (limited to 'src/ssl/s3_lib.cc')
-rw-r--r--src/ssl/s3_lib.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/ssl/s3_lib.cc b/src/ssl/s3_lib.cc
index 9548bbd4..cc9be2db 100644
--- a/src/ssl/s3_lib.cc
+++ b/src/ssl/s3_lib.cc
@@ -162,7 +162,15 @@
#include "internal.h"
+namespace bssl {
+
int ssl3_new(SSL *ssl) {
+ UniquePtr<SSLAEADContext> aead_read_ctx = SSLAEADContext::CreateNullCipher();
+ UniquePtr<SSLAEADContext> aead_write_ctx = SSLAEADContext::CreateNullCipher();
+ if (!aead_read_ctx || !aead_write_ctx) {
+ return 0;
+ }
+
SSL3_STATE *s3 = (SSL3_STATE *)OPENSSL_malloc(sizeof *s3);
if (s3 == NULL) {
return 0;
@@ -175,6 +183,8 @@ int ssl3_new(SSL *ssl) {
return 0;
}
+ s3->aead_read_ctx = aead_read_ctx.release();
+ s3->aead_write_ctx = aead_write_ctx.release();
ssl->s3 = s3;
/* Set the version to the highest supported version.
@@ -198,8 +208,8 @@ void ssl3_free(SSL *ssl) {
ssl_handshake_free(ssl->s3->hs);
OPENSSL_free(ssl->s3->next_proto_negotiated);
OPENSSL_free(ssl->s3->alpn_selected);
- SSL_AEAD_CTX_free(ssl->s3->aead_read_ctx);
- SSL_AEAD_CTX_free(ssl->s3->aead_write_ctx);
+ Delete(ssl->s3->aead_read_ctx);
+ Delete(ssl->s3->aead_write_ctx);
BUF_MEM_free(ssl->s3->pending_flight);
OPENSSL_cleanse(ssl->s3, sizeof *ssl->s3);
@@ -215,3 +225,5 @@ const struct ssl_cipher_preference_list_st *ssl_get_cipher_preferences(
return ssl->ctx->cipher_list;
}
+
+} // namespace bssl