From: Benjamin Kaduk Date: Mon, 23 Jan 2017 23:00:47 +0000 (-0600) Subject: Move CLIENTHELLO_MSG up in the header X-Git-Tag: OpenSSL_1_1_1-pre1~2297 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cb7a1f5fca4da49dbad1b3f453e7446baa23c1fe;p=oweals%2Fopenssl.git Move CLIENTHELLO_MSG up in the header We'll be adding a field of this type to struct ssl_st in a subsequent commit, and need the type definition to be in scope already. Also move up the RAW_EXTENSION definition that it depends on. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/2279) --- diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index f671860fa3..fa0d2a2549 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -622,12 +622,41 @@ typedef struct srp_ctx_st { # endif +#define MAX_COMPRESSIONS_SIZE 255 + struct ssl_comp_st { int id; const char *name; COMP_METHOD *method; }; +typedef struct raw_extension_st { + /* Raw packet data for the extension */ + PACKET data; + /* Set to 1 if the extension is present or 0 otherwise */ + int present; + /* Set to 1 if we have already parsed the extension or 0 otherwise */ + int parsed; + /* The type of this extension, i.e. a TLSEXT_TYPE_* value */ + unsigned int type; +} RAW_EXTENSION; + +typedef struct { + unsigned int isv2; + unsigned int legacy_version; + unsigned char random[SSL3_RANDOM_SIZE]; + size_t session_id_len; + unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; + size_t dtls_cookie_len; + unsigned char dtls_cookie[DTLS1_COOKIE_LENGTH]; + PACKET ciphersuites; + size_t compressions_len; + unsigned char compressions[MAX_COMPRESSIONS_SIZE]; + PACKET extensions; + size_t pre_proc_exts_len; + RAW_EXTENSION *pre_proc_exts; +} CLIENTHELLO_MSG; + DEFINE_LHASH_OF(SSL_SESSION); /* Needed in ssl_cert.c */ DEFINE_LHASH_OF(X509_NAME); @@ -1698,17 +1727,6 @@ typedef struct ssl3_comp_st { } SSL3_COMP; # endif -typedef struct raw_extension_st { - /* Raw packet data for the extension */ - PACKET data; - /* Set to 1 if the extension is present or 0 otherwise */ - int present; - /* Set to 1 if we have already parsed the extension or 0 otherwise */ - int parsed; - /* The type of this extension, i.e. a TLSEXT_TYPE_* value */ - unsigned int type; -} RAW_EXTENSION; - /* * Extension index values NOTE: Any updates to these defines should be mirrored * with equivalent updates to ext_defs in extensions.c @@ -1783,24 +1801,6 @@ typedef enum tlsext_index_en { #define TLSEXT_signature_rsa_pss 0x0101 -#define MAX_COMPRESSIONS_SIZE 255 - -typedef struct { - unsigned int isv2; - unsigned int legacy_version; - unsigned char random[SSL3_RANDOM_SIZE]; - size_t session_id_len; - unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; - size_t dtls_cookie_len; - unsigned char dtls_cookie[DTLS1_COOKIE_LENGTH]; - PACKET ciphersuites; - size_t compressions_len; - unsigned char compressions[MAX_COMPRESSIONS_SIZE]; - PACKET extensions; - size_t pre_proc_exts_len; - RAW_EXTENSION *pre_proc_exts; -} CLIENTHELLO_MSG; - extern SSL3_ENC_METHOD ssl3_undef_enc_method; __owur const SSL_METHOD *ssl_bad_method(int ver);