diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-29 03:04:33 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-29 03:04:33 +0000 |
commit | adb0024aa0bdd5c1d50de0fe4653747ed6c19c69 (patch) | |
tree | 95bb12cbf8fb1c6a06bb43769a0ea241e4086f4c /net | |
parent | ad16745629a479a8ba825afdbd741a5cf9fc71cf (diff) | |
download | chromium_src-adb0024aa0bdd5c1d50de0fe4653747ed6c19c69.zip chromium_src-adb0024aa0bdd5c1d50de0fe4653747ed6c19c69.tar.gz chromium_src-adb0024aa0bdd5c1d50de0fe4653747ed6c19c69.tar.bz2 |
Modify HttpNetworkTransation to handle ERR_SSL_CLIENT_AUTH_CERT_NEEDED
in DoCreateStreamComplete instead of DoInitStreamComplete.
This solves the problem where Chrome repeately prompts for
ssl client certs.
BUG=56019
TEST=Visit a URL which requests SSL client authentication. Select a certificate. Navigate around the site without being re-prompted to select a certificate.
Review URL: http://codereview.chromium.org/4164004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/http/http_network_transaction.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index f563835..43eae30 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -536,6 +536,8 @@ int HttpNetworkTransaction::DoCreateStreamComplete(int result) { if (result == OK) { next_state_ = STATE_INIT_STREAM; DCHECK(stream_.get()); + } else if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) { + result = HandleCertificateRequest(result); } // At this point we are done with the stream_request_. @@ -553,9 +555,6 @@ int HttpNetworkTransaction::DoInitStreamComplete(int result) { if (result == OK) { next_state_ = STATE_GENERATE_PROXY_AUTH_TOKEN; } else { - if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) - result = HandleCertificateRequest(result); - if (result < 0) result = HandleIOError(result); |