OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/http/http_network_transaction.h" | 5 #include "net/http/http_network_transaction.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 (error == ERR_SSL_PROTOCOL_ERROR || IsClientCertificateError(error))) { | 1089 (error == ERR_SSL_PROTOCOL_ERROR || IsClientCertificateError(error))) { |
1090 session_->ssl_client_auth_cache()->Remove( | 1090 session_->ssl_client_auth_cache()->Remove( |
1091 GetHostAndPort(request_->url)); | 1091 GetHostAndPort(request_->url)); |
1092 } | 1092 } |
1093 | 1093 |
1094 switch (error) { | 1094 switch (error) { |
1095 case ERR_SSL_PROTOCOL_ERROR: | 1095 case ERR_SSL_PROTOCOL_ERROR: |
1096 case ERR_SSL_VERSION_OR_CIPHER_MISMATCH: | 1096 case ERR_SSL_VERSION_OR_CIPHER_MISMATCH: |
1097 case ERR_SSL_DECOMPRESSION_FAILURE_ALERT: | 1097 case ERR_SSL_DECOMPRESSION_FAILURE_ALERT: |
1098 case ERR_SSL_BAD_RECORD_MAC_ALERT: | 1098 case ERR_SSL_BAD_RECORD_MAC_ALERT: |
1099 if (ssl_config_.tls1_enabled && | 1099 if (ssl_config_.tls1_enabled) { |
1100 !SSLConfigService::IsKnownStrictTLSServer(request_->url.host())) { | |
1101 // This could be a TLS-intolerant server, an SSL 3.0 server that | 1100 // This could be a TLS-intolerant server, an SSL 3.0 server that |
1102 // chose a TLS-only cipher suite or a server with buggy DEFLATE | 1101 // chose a TLS-only cipher suite or a server with buggy DEFLATE |
1103 // support. Turn off TLS 1.0, DEFLATE support and retry. | 1102 // support. Turn off TLS 1.0, DEFLATE support and retry. |
1104 session_->http_stream_factory()->AddTLSIntolerantServer( | 1103 session_->http_stream_factory()->AddTLSIntolerantServer( |
1105 HostPortPair::FromURL(request_->url)); | 1104 HostPortPair::FromURL(request_->url)); |
1106 ResetConnectionAndRequestForResend(); | 1105 ResetConnectionAndRequestForResend(); |
1107 error = OK; | 1106 error = OK; |
1108 } | 1107 } |
1109 break; | 1108 break; |
1110 case ERR_SSL_SNAP_START_NPN_MISPREDICTION: | 1109 case ERR_SSL_SNAP_START_NPN_MISPREDICTION: |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1285 description = base::StringPrintf("Unknown state 0x%08X (%u)", state, | 1284 description = base::StringPrintf("Unknown state 0x%08X (%u)", state, |
1286 state); | 1285 state); |
1287 break; | 1286 break; |
1288 } | 1287 } |
1289 return description; | 1288 return description; |
1290 } | 1289 } |
1291 | 1290 |
1292 #undef STATE_CASE | 1291 #undef STATE_CASE |
1293 | 1292 |
1294 } // namespace net | 1293 } // namespace net |
OLD | NEW |