ssl_lib.c (325335) | ssl_lib.c (325337) |
---|---|
1/* 2 * ! \file ssl/ssl_lib.c \brief Version independent SSL functions. 3 */ 4/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 5 * All rights reserved. 6 * 7 * This package is an SSL implementation written 8 * by Eric Young (eay@cryptsoft.com). --- 1811 unchanged lines hidden (view full) --- 1820 else 1821 *len = ssl->s3->alpn_selected_len; 1822} 1823 1824#endif /* !OPENSSL_NO_TLSEXT */ 1825 1826int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, 1827 const char *label, size_t llen, | 1/* 2 * ! \file ssl/ssl_lib.c \brief Version independent SSL functions. 3 */ 4/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 5 * All rights reserved. 6 * 7 * This package is an SSL implementation written 8 * by Eric Young (eay@cryptsoft.com). --- 1811 unchanged lines hidden (view full) --- 1820 else 1821 *len = ssl->s3->alpn_selected_len; 1822} 1823 1824#endif /* !OPENSSL_NO_TLSEXT */ 1825 1826int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, 1827 const char *label, size_t llen, |
1828 const unsigned char *p, size_t plen, | 1828 const unsigned char *context, size_t contextlen, |
1829 int use_context) 1830{ 1831 if (s->version < TLS1_VERSION && s->version != DTLS1_BAD_VER) 1832 return -1; 1833 1834 return s->method->ssl3_enc->export_keying_material(s, out, olen, label, | 1829 int use_context) 1830{ 1831 if (s->version < TLS1_VERSION && s->version != DTLS1_BAD_VER) 1832 return -1; 1833 1834 return s->method->ssl3_enc->export_keying_material(s, out, olen, label, |
1835 llen, p, plen, 1836 use_context); | 1835 llen, context, 1836 contextlen, use_context); |
1837} 1838 1839static unsigned long ssl_session_hash(const SSL_SESSION *a) 1840{ 1841 const unsigned char *session_id = a->session_id; 1842 unsigned long l; 1843 unsigned char tmp_storage[4]; 1844 --- 1330 unchanged lines hidden (view full) --- 3175 if (ssl->ctx == ctx) 3176 return ssl->ctx; 3177#ifndef OPENSSL_NO_TLSEXT 3178 if (ctx == NULL) 3179 ctx = ssl->initial_ctx; 3180#endif 3181 ssl->cert = ssl_cert_dup(ctx->cert); 3182 if (ocert) { | 1837} 1838 1839static unsigned long ssl_session_hash(const SSL_SESSION *a) 1840{ 1841 const unsigned char *session_id = a->session_id; 1842 unsigned long l; 1843 unsigned char tmp_storage[4]; 1844 --- 1330 unchanged lines hidden (view full) --- 3175 if (ssl->ctx == ctx) 3176 return ssl->ctx; 3177#ifndef OPENSSL_NO_TLSEXT 3178 if (ctx == NULL) 3179 ctx = ssl->initial_ctx; 3180#endif 3181 ssl->cert = ssl_cert_dup(ctx->cert); 3182 if (ocert) { |
3183 int i; |
|
3183 /* Preserve any already negotiated parameters */ 3184 if (ssl->server) { 3185 ssl->cert->peer_sigalgs = ocert->peer_sigalgs; 3186 ssl->cert->peer_sigalgslen = ocert->peer_sigalgslen; 3187 ocert->peer_sigalgs = NULL; 3188 ssl->cert->ciphers_raw = ocert->ciphers_raw; 3189 ssl->cert->ciphers_rawlen = ocert->ciphers_rawlen; 3190 ocert->ciphers_raw = NULL; 3191 } | 3184 /* Preserve any already negotiated parameters */ 3185 if (ssl->server) { 3186 ssl->cert->peer_sigalgs = ocert->peer_sigalgs; 3187 ssl->cert->peer_sigalgslen = ocert->peer_sigalgslen; 3188 ocert->peer_sigalgs = NULL; 3189 ssl->cert->ciphers_raw = ocert->ciphers_raw; 3190 ssl->cert->ciphers_rawlen = ocert->ciphers_rawlen; 3191 ocert->ciphers_raw = NULL; 3192 } |
3193 for (i = 0; i < SSL_PKEY_NUM; i++) { 3194 ssl->cert->pkeys[i].digest = ocert->pkeys[i].digest; 3195 } |
|
3192#ifndef OPENSSL_NO_TLSEXT 3193 ssl->cert->alpn_proposed = ocert->alpn_proposed; 3194 ssl->cert->alpn_proposed_len = ocert->alpn_proposed_len; 3195 ocert->alpn_proposed = NULL; 3196 ssl->cert->alpn_sent = ocert->alpn_sent; 3197 3198 if (!custom_exts_copy_flags(&ssl->cert->srv_ext, &ocert->srv_ext)) 3199 return NULL; --- 381 unchanged lines hidden --- | 3196#ifndef OPENSSL_NO_TLSEXT 3197 ssl->cert->alpn_proposed = ocert->alpn_proposed; 3198 ssl->cert->alpn_proposed_len = ocert->alpn_proposed_len; 3199 ocert->alpn_proposed = NULL; 3200 ssl->cert->alpn_sent = ocert->alpn_sent; 3201 3202 if (!custom_exts_copy_flags(&ssl->cert->srv_ext, &ocert->srv_ext)) 3203 return NULL; --- 381 unchanged lines hidden --- |