diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-12-26 16:25:06 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-12-26 16:25:06 +0000 |
commit | 1520e6c084ccc06a6325381bf9fc618ab5cfb230 (patch) | |
tree | e15351c2802795a0c9ff38f83ed6e50160e9f66c /ssl/ssl_locl.h | |
parent | 2001129f096d10bbd815936d23af3e97daf7882d (diff) |
Add ctrl and utility functions to retrieve raw cipher list sent by client in
client hello message. Previously this could only be retrieved on an initial
connection and it was impossible to determine the cipher IDs of any uknown
ciphersuites.
(backport from HEAD)
Diffstat (limited to 'ssl/ssl_locl.h')
-rw-r--r-- | ssl/ssl_locl.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index a4689f745f..500bb6ef76 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -588,6 +588,10 @@ typedef struct cert_st X509_STORE *chain_store; X509_STORE *verify_store; + /* Raw values of the cipher list from a client */ + unsigned char *ciphers_raw; + size_t ciphers_rawlen; + int references; /* >1 only if SSL_copy_session_id is used */ } CERT; @@ -644,8 +648,6 @@ struct tls_sigalgs_st #define FP_ICC (int (*)(const void *,const void *)) #define ssl_put_cipher_by_char(ssl,ciph,ptr) \ ((ssl)->method->put_cipher_by_char((ciph),(ptr))) -#define ssl_get_cipher_by_char(ssl,ptr) \ - ((ssl)->method->get_cipher_by_char(ptr)) /* This is for the SSLv3/TLSv1.0 differences in crypto/hash stuff * It is a bit of a mess of functions, but hell, think of it as @@ -923,6 +925,7 @@ int ssl_cipher_get_evp(const SSL_SESSION *s,const EVP_CIPHER **enc, const EVP_MD **md,int *mac_pkey_type,int *mac_secret_size, SSL_COMP **comp); int ssl_get_handshake_digest(int i,long *mask,const EVP_MD **md); int ssl_cipher_get_cert_index(const SSL_CIPHER *c); +const SSL_CIPHER *ssl_get_cipher_by_char(SSL *ssl, const unsigned char *ptr); int ssl_cert_set0_chain(CERT *c, STACK_OF(X509) *chain); int ssl_cert_set1_chain(CERT *c, STACK_OF(X509) *chain); int ssl_cert_add0_chain_cert(CERT *c, X509 *x); |