summaryrefslogtreecommitdiff
path: root/lib/libssl/ssl_locl.h
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2017-05-06 22:24:59 +0000
committerBob Beck <beck@cvs.openbsd.org>2017-05-06 22:24:59 +0000
commit18d1c6e07b42c33b10c20cebbd696cc5f818747d (patch)
treeb6abebb637e798678fed2fa548ac76de21ed6f91 /lib/libssl/ssl_locl.h
parentba84827169cdfb956e3d6579097579ad4894db7f (diff)
Bring in an SSL_HANDSHAKE structure and commence the great shovelling
ok jsing@, gcc@, regress@
Diffstat (limited to 'lib/libssl/ssl_locl.h')
-rw-r--r--lib/libssl/ssl_locl.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/lib/libssl/ssl_locl.h b/lib/libssl/ssl_locl.h
index b52b03149a6..410fc046888 100644
--- a/lib/libssl/ssl_locl.h
+++ b/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssl_locl.h,v 1.179 2017/05/06 20:37:25 jsing Exp $ */
+/* $OpenBSD: ssl_locl.h,v 1.180 2017/05/06 22:24:58 beck Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -431,6 +431,18 @@ typedef struct ssl_session_internal_st {
} SSL_SESSION_INTERNAL;
#define SSI(s) (s->session->internal)
+typedef struct ssl_handshake_st {
+ /* used when SSL_ST_FLUSH_DATA is entered */
+ int next_state;
+
+ /* new_cipher is the cipher being negotiated in this handshake. */
+ const SSL_CIPHER *new_cipher;
+
+ /* key_block is the record-layer key block for TLS 1.2 and earlier. */
+ int key_block_len;
+ unsigned char *key_block;
+} SSL_HANDSHAKE;
+
typedef struct ssl_ctx_internal_st {
uint16_t min_version;
uint16_t max_version;
@@ -824,6 +836,8 @@ typedef struct ssl3_state_internal_st {
int in_read_app_data;
+ SSL_HANDSHAKE hs;
+
struct {
/* actually only needs to be 16+20 */
unsigned char cert_verify_md[EVP_MAX_MD_SIZE*2];
@@ -837,17 +851,12 @@ typedef struct ssl3_state_internal_st {
unsigned long message_size;
int message_type;
- /* used to hold the new cipher we are going to use */
- const SSL_CIPHER *new_cipher;
DH *dh;
EC_KEY *ecdh; /* holds short lived ECDH key */
uint8_t *x25519;
- /* used when SSL_ST_FLUSH_DATA is entered */
- int next_state;
-
int reuse_message;
/* used for certificate requests */
@@ -856,9 +865,6 @@ typedef struct ssl3_state_internal_st {
char ctype[SSL3_CT_NUMBER];
STACK_OF(X509_NAME) *ca_names;
- int key_block_length;
- unsigned char *key_block;
-
const EVP_CIPHER *new_sym_enc;
const EVP_AEAD *new_aead;
const EVP_MD *new_hash;