Index: net/socket/ssl_client_socket_openssl.h |
diff --git a/net/socket/ssl_client_socket_openssl.h b/net/socket/ssl_client_socket_openssl.h |
index dbceeafa3fc5dbe0dc4f9ae8c4f348dfacd09220..a41848d802a34d7fdeb6aa88d28395bdeb2c591e 100644 |
--- a/net/socket/ssl_client_socket_openssl.h |
+++ b/net/socket/ssl_client_socket_openssl.h |
@@ -210,6 +210,32 @@ class SSLClientSocketOpenSSL : public SSLClientSocket { |
void OnPrivateKeySignComplete(Error error, |
const std::vector<uint8_t>& signature); |
+ // Token Binding Extension callbacks. The Add and Parse callbacks are wrappers |
+ // around the instance methods. |
+ static int TokenBindingAddCallback(SSL* ssl, |
+ unsigned int extension_value, |
+ const uint8_t** out, |
+ size_t* out_len, |
+ int* out_alert_value, |
+ void* add_arg); |
+ static void TokenBindingFreeCallback(SSL* ssl, |
+ unsigned int extension_value, |
+ const uint8_t* out, |
+ void* add_arg); |
+ static int TokenBindingParseCallback(SSL* ssl, |
+ unsigned int extension_value, |
+ const uint8_t* contents, |
+ size_t contents_len, |
+ int* out_alert_value, |
+ void* parse_arg); |
+ |
+ int TokenBindingAdd(const uint8_t** out, |
+ size_t* out_len, |
+ int* out_alert_value); |
+ int TokenBindingParse(const uint8_t* contents, |
+ size_t contents_len, |
+ int* out_alert_value); |
+ |
bool transport_send_busy_; |
bool transport_recv_busy_; |
@@ -281,6 +307,8 @@ class SSLClientSocketOpenSSL : public SSLClientSocket { |
// The service for retrieving Channel ID keys. May be NULL. |
ChannelIDService* channel_id_service_; |
+ bool tb_was_negotiated_; |
+ TokenBindingParam tb_negotiated_param_; |
// OpenSSL stuff |
SSL* ssl_; |