diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2016-05-03 18:00:27 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2016-05-03 18:00:27 +0000 |
commit | 57f1256b1a087adbdf8e5c080dd9ed7975de939a (patch) | |
tree | 2dd85c58056a364765d9ae59d6a1774d41f88523 /ssl/ssl_lib.c | |
parent | 9aeed18ad799c20d3accf6e1535817538dc983f6 (diff) | |
download | src-57f1256b1a087adbdf8e5c080dd9ed7975de939a.tar.gz src-57f1256b1a087adbdf8e5c080dd9ed7975de939a.zip |
Import OpenSSL 1.0.2h.vendor/openssl/1.0.2h
Notes
Notes:
svn path=/vendor-crypto/openssl/dist/; revision=298991
svn path=/vendor-crypto/openssl/1.0.2h/; revision=298992; tag=vendor/openssl/1.0.2h
Diffstat (limited to 'ssl/ssl_lib.c')
-rw-r--r-- | ssl/ssl_lib.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index f1279bbf9103..fd94325bb3a4 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -244,7 +244,16 @@ int SSL_clear(SSL *s) ssl_clear_hash_ctx(&s->write_hash); s->first_packet = 0; - +#ifndef OPENSSL_NO_TLSEXT + if (s->cert != NULL) { + if (s->cert->alpn_proposed) { + OPENSSL_free(s->cert->alpn_proposed); + s->cert->alpn_proposed = NULL; + } + s->cert->alpn_proposed_len = 0; + s->cert->alpn_sent = 0; + } +#endif #if 1 /* * Check to see if we were changed into a different method, if so, revert @@ -3174,6 +3183,12 @@ SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx) ssl->cert->ciphers_rawlen = ocert->ciphers_rawlen; ocert->ciphers_raw = NULL; } +#ifndef OPENSSL_NO_TLSEXT + ssl->cert->alpn_proposed = ocert->alpn_proposed; + ssl->cert->alpn_proposed_len = ocert->alpn_proposed_len; + ocert->alpn_proposed = NULL; + ssl->cert->alpn_sent = ocert->alpn_sent; +#endif ssl_cert_free(ocert); } |