diff options
author | jsing <> | 2014-06-13 10:52:24 +0000 |
---|---|---|
committer | jsing <> | 2014-06-13 10:52:24 +0000 |
commit | 87e30739835137951cf48dfa7f692aae2f40dc40 (patch) | |
tree | c478059909f99617992b0630fe527244e4f5873d /src/lib/libssl/ssl_locl.h | |
parent | 9ef9f06708ef4fe615f3485f5d82f3fb919fdf03 (diff) | |
download | openbsd-87e30739835137951cf48dfa7f692aae2f40dc40.tar.gz openbsd-87e30739835137951cf48dfa7f692aae2f40dc40.tar.bz2 openbsd-87e30739835137951cf48dfa7f692aae2f40dc40.zip |
Add an SSL_AEAD_CTX to enable the use of EVP_AEAD with an SSL cipher.
Read and write contexts are also added to the SSL_CTX, along with
supporting code.
Based on Adam Langley's chromium diffs.
Rides the recent SSL library bump.
Diffstat (limited to 'src/lib/libssl/ssl_locl.h')
-rw-r--r-- | src/lib/libssl/ssl_locl.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 18b329048e..ea5f8c3d4e 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_locl.h,v 1.49 2014/06/12 15:49:31 deraadt Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.50 2014/06/13 10:52:24 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -578,6 +578,27 @@ typedef struct ssl3_enc_method { | |||
578 | /* Allow TLS 1.2 ciphersuites: applies to DTLS 1.2 as well as TLS 1.2. */ | 578 | /* Allow TLS 1.2 ciphersuites: applies to DTLS 1.2 as well as TLS 1.2. */ |
579 | #define SSL_ENC_FLAG_TLS1_2_CIPHERS (1 << 4) | 579 | #define SSL_ENC_FLAG_TLS1_2_CIPHERS (1 << 4) |
580 | 580 | ||
581 | /* | ||
582 | * ssl_aead_ctx_st contains information about an AEAD that is being used to | ||
583 | * encrypt an SSL connection. | ||
584 | */ | ||
585 | struct ssl_aead_ctx_st { | ||
586 | EVP_AEAD_CTX ctx; | ||
587 | /* | ||
588 | * fixed_nonce contains any bytes of the nonce that are fixed for all | ||
589 | * records. | ||
590 | */ | ||
591 | unsigned char fixed_nonce[8]; | ||
592 | unsigned char fixed_nonce_len; | ||
593 | unsigned char variable_nonce_len; | ||
594 | unsigned char tag_len; | ||
595 | /* | ||
596 | * variable_nonce_in_record is non-zero if the variable nonce | ||
597 | * for a record is included as a prefix before the ciphertext. | ||
598 | */ | ||
599 | char variable_nonce_in_record; | ||
600 | }; | ||
601 | |||
581 | #ifndef OPENSSL_NO_COMP | 602 | #ifndef OPENSSL_NO_COMP |
582 | /* Used for holding the relevant compression methods loaded into SSL_CTX */ | 603 | /* Used for holding the relevant compression methods loaded into SSL_CTX */ |
583 | typedef struct ssl3_comp_st { | 604 | typedef struct ssl3_comp_st { |