summaryrefslogtreecommitdiffstats
path: root/ssl/ssl3.h
diff options
context:
space:
mode:
authorAdam Langley <agl@chromium.org>2013-04-15 18:07:47 -0400
committerBen Laurie <ben@links.org>2013-07-22 15:28:20 +0100
commit6f017a8f9db3a79f3a3406cf8d493ccd346db691 (patch)
tree68d7c91646105cb2e1fe65852c09458108ea2e01 /ssl/ssl3.h
parent584ac22110b2ff367d3632a89cf7b15c015903b8 (diff)
Support ALPN.
This change adds support for ALPN[1] in OpenSSL. ALPN is the IETF blessed version of NPN and we'll be supporting both ALPN and NPN for some time yet. [1] https://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00 Conflicts: ssl/ssl3.h ssl/t1_lib.c
Diffstat (limited to 'ssl/ssl3.h')
-rw-r--r--ssl/ssl3.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/ssl/ssl3.h b/ssl/ssl3.h
index 77747c4c1e..f933108c65 100644
--- a/ssl/ssl3.h
+++ b/ssl/ssl3.h
@@ -586,7 +586,17 @@ typedef struct ssl3_state_st
* as the types were received in the client hello. */
unsigned short *tlsext_custom_types;
size_t tlsext_custom_types_count; /* how many tlsext_custom_types */
-#endif
+
+ /* ALPN information
+ * (we are in the process of transitioning from NPN to ALPN.) */
+
+ /* In a server these point to the selected ALPN protocol after the
+ * ClientHello has been processed. In a client these contain the
+ * protocol that the server selected once the ServerHello has been
+ * processed. */
+ unsigned char *alpn_selected;
+ unsigned alpn_selected_len;
+#endif /* OPENSSL_NO_TLSEXT */
} SSL3_STATE;
#endif