diff options
author | wtc@google.com <wtc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-21 17:54:28 +0000 |
---|---|---|
committer | wtc@google.com <wtc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-21 17:54:28 +0000 |
commit | 2cd713f04f510f1454a757e870fc61fdd276a826 (patch) | |
tree | 4a9aed0083cec66fd16398fcc3709c69ea0bed2d /net/http | |
parent | e21fa4ac1597dbbf00d566c4bbeb76e547a7d301 (diff) | |
download | chromium_src-2cd713f04f510f1454a757e870fc61fdd276a826.zip chromium_src-2cd713f04f510f1454a757e870fc61fdd276a826.tar.gz chromium_src-2cd713f04f510f1454a757e870fc61fdd276a826.tar.bz2 |
We don't support SSL renegotiation yet. Add the
ERR_SSL_RENEGOTIATION_REQUESTED error code for when we
received a renegotiation request from a server.
Support the completion of an SSL handshake after we write
something. (This happens in a session resumption
handshake.)
Use the SSL configuration settings to turn on or turn off
various versions of the SSL protocol and server certificate
revocation checking.
Report all the errors of a certificate and whether revocation
checking was done in in the server_cert_status_ bitmask.
Create a new scoped_cert_chain_context.h header for the
ScopedCertChainContext class that used to be in
x509_certificate_win.cc, and use it to fix a leak of
chain_context on error paths in
SSLClientSocketWin::VerifyServerCert.
R=rvargas
BUG=3002,3003,3004
Review URL: http://codereview.chromium.org/7505
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3664 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_network_session.h | 12 | ||||
-rw-r--r-- | net/http/http_network_transaction.cc | 5 |
2 files changed, 14 insertions, 3 deletions
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h index 82acf5d..e808554 100644 --- a/net/http/http_network_session.h +++ b/net/http/http_network_session.h @@ -8,6 +8,7 @@ #include "base/ref_counted.h" #include "net/base/auth_cache.h" #include "net/base/client_socket_pool.h" +#include "net/base/ssl_config_service.h" #include "net/proxy/proxy_service.h" namespace net { @@ -19,8 +20,8 @@ class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> { enum { MAX_SOCKETS_PER_GROUP = 6 }; - - HttpNetworkSession(ProxyResolver* proxy_resolver) + + explicit HttpNetworkSession(ProxyResolver* proxy_resolver) : connection_pool_(new ClientSocketPool(MAX_SOCKETS_PER_GROUP)), proxy_resolver_(proxy_resolver), proxy_service_(proxy_resolver) { @@ -29,12 +30,19 @@ class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> { AuthCache* auth_cache() { return &auth_cache_; } ClientSocketPool* connection_pool() { return connection_pool_; } ProxyService* proxy_service() { return &proxy_service_; } +#if defined(OS_WIN) + SSLConfigService* ssl_config_service() { return &ssl_config_service_; } +#endif private: AuthCache auth_cache_; scoped_refptr<ClientSocketPool> connection_pool_; scoped_ptr<ProxyResolver> proxy_resolver_; ProxyService proxy_service_; +#if defined(OS_WIN) + // TODO(port): Port the SSLConfigService class to Linux and Mac OS X. + SSLConfigService ssl_config_service_; +#endif }; } // namespace net diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index 9d74c87..033d0d9 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -56,7 +56,10 @@ HttpNetworkTransaction::HttpNetworkTransaction(HttpNetworkSession* session, read_buf_(NULL), read_buf_len_(0), next_state_(STATE_NONE) { - // TODO(wtc): Initialize ssl_config_with SSL settings (bug 3003). +#if defined(OS_WIN) + // TODO(port): Port the SSLConfigService class to Linux and Mac OS X. + session->ssl_config_service()->GetSSLConfig(&ssl_config_); +#endif } void HttpNetworkTransaction::Destroy() { |