summaryrefslogtreecommitdiffstats
path: root/ssl/ssl3.h
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>2011-11-13 21:55:42 +0000
committerBen Laurie <ben@openssl.org>2011-11-13 21:55:42 +0000
commit68b33cc5c7aa1bb98e95bfb4b61c34192a7a50e3 (patch)
tree8c4298a1cc0487b3223a06764fe5f338f9691ad8 /ssl/ssl3.h
parent4c02cf8ecc4b4cedeb6b6c11185f5d3e49c3cd4a (diff)
Add Next Protocol Negotiation.
Diffstat (limited to 'ssl/ssl3.h')
-rw-r--r--ssl/ssl3.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/ssl/ssl3.h b/ssl/ssl3.h
index 38c5cc29a6..bef479a55f 100644
--- a/ssl/ssl3.h
+++ b/ssl/ssl3.h
@@ -462,6 +462,11 @@ typedef struct ssl3_state_st
void *server_opaque_prf_input;
size_t server_opaque_prf_input_len;
+#ifndef OPENSSL_NO_NEXTPROTONEG
+ /* Set if we saw the Next Protocol Negotiation extension from our peer. */
+ int next_proto_neg_seen;
+#endif
+
struct {
/* actually only needs to be 16+20 */
unsigned char cert_verify_md[EVP_MAX_MD_SIZE*2];
@@ -554,6 +559,8 @@ typedef struct ssl3_state_st
#define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT)
#define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT)
#define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT)
+#define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT)
+#define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT)
#define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT)
#define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT)
/* read from server */
@@ -601,6 +608,8 @@ typedef struct ssl3_state_st
#define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT)
#define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT)
#define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT)
+#define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT)
+#define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT)
#define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT)
#define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT)
/* write to client */
@@ -625,6 +634,7 @@ typedef struct ssl3_state_st
#define SSL3_MT_CLIENT_KEY_EXCHANGE 16
#define SSL3_MT_FINISHED 20
#define SSL3_MT_CERTIFICATE_STATUS 22
+#define SSL3_MT_NEXT_PROTO 67
#define DTLS1_MT_HELLO_VERIFY_REQUEST 3