summaryrefslogtreecommitdiffstats
path: root/net/socket/ssl_client_socket_openssl.h
diff options
context:
space:
mode:
authorbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-09 13:33:28 +0000
committerbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-09 13:33:28 +0000
commitea4a1c6aa08d16edba3128fb7810d63bcb3e1ef0 (patch)
treed11942c36faa0508601400170d0e8446c38edbbb /net/socket/ssl_client_socket_openssl.h
parenta4907b432195fb1ce12538b69992b0def0f39549 (diff)
downloadchromium_src-ea4a1c6aa08d16edba3128fb7810d63bcb3e1ef0.zip
chromium_src-ea4a1c6aa08d16edba3128fb7810d63bcb3e1ef0.tar.gz
chromium_src-ea4a1c6aa08d16edba3128fb7810d63bcb3e1ef0.tar.bz2
Add support for OpenSSL Next Protocol Negotiation
(landing on behalf of kristianm, original patch: http://codereview.chromium.org/5528003/ ) BUG=none TEST=none Review URL: http://codereview.chromium.org/5678002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68734 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/ssl_client_socket_openssl.h')
-rw-r--r--net/socket/ssl_client_socket_openssl.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/socket/ssl_client_socket_openssl.h b/net/socket/ssl_client_socket_openssl.h
index 5e0915a..62cc4d4 100644
--- a/net/socket/ssl_client_socket_openssl.h
+++ b/net/socket/ssl_client_socket_openssl.h
@@ -6,6 +6,8 @@
#define NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_
#pragma once
+#include <string>
+
#include "base/scoped_ptr.h"
#include "net/base/cert_verify_result.h"
#include "net/base/completion_callback.h"
@@ -44,6 +46,10 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
// a certificate for this client.
int ClientCertRequestCallback(SSL* ssl, X509** x509, EVP_PKEY** pkey);
+ // Callback from the SSL layer to check which NPN protocol we are supporting
+ int SelectNextProtoCallback(unsigned char** out, unsigned char* outlen,
+ const unsigned char* in, unsigned int inlen);
+
// SSLClientSocket methods:
virtual void GetSSLInfo(SSLInfo* ssl_info);
virtual void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info);
@@ -146,6 +152,8 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
STATE_VERIFY_CERT_COMPLETE,
};
State next_handshake_state_;
+ NextProtoStatus npn_status_;
+ std::string npn_proto_;
BoundNetLog net_log_;
};