chacha20poly1305
[openssl.git] / ssl / ssl3.h
index d64ad8e057ff91ba07d605c7602741f322eecdb6..4900074453064e3c03800e4749a80fe555ce6cfa 100644 (file)
@@ -536,6 +536,7 @@ typedef struct ssl3_state_st
                unsigned char *key_block;
 
                const EVP_CIPHER *new_sym_enc;
+               const EVP_AEAD *new_aead;
                const EVP_MD *new_hash;
                int new_mac_pkey_type;
                int new_mac_secret_size;
@@ -590,7 +591,16 @@ typedef struct ssl3_state_st
        char is_probably_safari;
 #endif /* !OPENSSL_NO_EC */
 
-#endif /* !OPENSSL_NO_TLSEXT */
+       /* 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