Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Langley <alangley@gmail.com>2015-06-13 01:26:58 +0300
committerAdam Langley <agl@google.com>2015-07-01 21:25:28 +0300
commit614c66a2f85007b08fc0ec9b83b896cbc0965af7 (patch)
tree7dd576e64a2dd5e65e4cfb3861de0390809124e6 /include/openssl/ssl3.h
parentbe9eda4a8849757dc48741e8f9aca179d8488846 (diff)
Add infrastructure for better extension handling.
Rather than four massive functions that handle every extension, organise the code by extension with four smaller functions for each. Change-Id: I876b31dacb05aca9884ed3ae7c48462e6ffe3b49 Reviewed-on: https://boringssl-review.googlesource.com/5142 Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'include/openssl/ssl3.h')
-rw-r--r--include/openssl/ssl3.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/openssl/ssl3.h b/include/openssl/ssl3.h
index 9021309e..aa1256bb 100644
--- a/include/openssl/ssl3.h
+++ b/include/openssl/ssl3.h
@@ -453,6 +453,24 @@ typedef struct ssl3_state_st {
int reuse_message;
+ union {
+ /* sent is a bitset where the bits correspond to elements of kExtensions
+ * in t1_lib.c. Each bit is set if that extension was sent in a
+ * ClientHello. It's not used by servers. */
+ uint32_t sent;
+ /* received is a bitset, like |sent|, but is used by servers to record
+ * which extensions were received from a client. */
+ uint32_t received;
+ } extensions;
+
+
+ /* SNI extension */
+
+ /* should_ack_sni is used by a server and indicates that the SNI extension
+ * should be echoed in the ServerHello. */
+ unsigned should_ack_sni:1;
+
+
/* Client-only: cert_req determines if a client certificate is to be sent.
* This is 0 if no client Certificate message is to be sent, 1 if there is
* a client certificate, and 2 to send an empty client Certificate