diff options
author | Ben Laurie <ben@openssl.org> | 2010-07-28 10:06:55 +0000 |
---|---|---|
committer | Ben Laurie <ben@openssl.org> | 2010-07-28 10:06:55 +0000 |
commit | ee2ffc279417f15fef3b1073c7dc81a908991516 (patch) | |
tree | e2af21f279101d5a8f8e841bf7f70b940496907f /ssl/ssl3.h | |
parent | b122e482f94f1dbda6a93b4c53ccdc92b4046deb (diff) | |
download | openssl-ee2ffc279417f15fef3b1073c7dc81a908991516.tar.gz |
Add Next Protocol Negotiation.
Diffstat (limited to 'ssl/ssl3.h')
-rw-r--r-- | ssl/ssl3.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ssl/ssl3.h b/ssl/ssl3.h index baaa89e717..e98aac5aa8 100644 --- a/ssl/ssl3.h +++ b/ssl/ssl3.h @@ -455,6 +455,12 @@ typedef struct ssl3_state_st void *server_opaque_prf_input; size_t server_opaque_prf_input_len; +#ifndef OPENSSL_NO_NPN + /* 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]; @@ -546,6 +552,10 @@ 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) +#ifndef OPENSSL_NO_NPN +#define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) +#define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) +#endif #define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) #define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) /* read from server */ @@ -591,6 +601,10 @@ 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) +#ifndef OPENSSL_NO_NPN +#define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) +#define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) +#endif #define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) #define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) /* write to client */ @@ -615,6 +629,9 @@ typedef struct ssl3_state_st #define SSL3_MT_CLIENT_KEY_EXCHANGE 16 #define SSL3_MT_FINISHED 20 #define SSL3_MT_CERTIFICATE_STATUS 22 +#ifndef OPENSSL_NO_NPN +#define SSL3_MT_NEXT_PROTO 67 +#endif #define DTLS1_MT_HELLO_VERIFY_REQUEST 3 |