summaryrefslogtreecommitdiffstats
path: root/net/socket/ssl_client_socket_pool.cc
Commit message (Collapse)AuthorAgeFilesLines
* When an idle socket is added back to a socket pool,mmenke@chromium.org2013-08-221-28/+20
| | | | | | | | | | | | | | | check if lower layer socket pools are stalled. If so, close the idle socket. Also, when a SPDY stream is destroyed, check if the session is idle and a lower layer pool is stalled, and close the session if needed. BUG=92244 Review URL: https://chromiumcodereview.appspot.com/18796003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219147 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor socket pool handling of prioritiesakalin@chromium.org2013-08-221-7/+9
| | | | | | | | | | | | | | | | Move the priority from the socket param classes to their respective ConnectJob implementations. This prevents the possibility of mismatching priorities when socket params have member variables of other socket param types. Add tests for priority propagation. BUG=166689 R=mmenke@chromium.org Review URL: https://codereview.chromium.org/22818010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219078 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HostResolver::RequestInfo's priority parameterakalin@chromium.org2013-08-201-12/+18
| | | | | | | | | | | | | | | | | Make it part of the HostResolver::Resolve() call instead. This makes it possible for RequestInfo to remain constant for the lifetime of a request. This also has the nice side effect for not needing to pass a priority for ResolveFromCache() calls. BUG=166689 TBR=asargent@chromium.org, mmenke@chromium.org, sergeyu@chromium.org Review URL: https://codereview.chromium.org/22824022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218525 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up SSLSocketParamsakalin@chromium.org2013-08-151-53/+72
| | | | | | | | | | | | | | Remove ProxyServer::Scheme parameter from SSLSocketParams. Replace it with a ConnectionType enum. Rework some of the parameter/function names. BUG=166689 R=mmenke@chromium.org Review URL: https://codereview.chromium.org/23232002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217842 0039d316-1c4b-4281-b951-d872f2087c98
* [net] Use scoped_ptr<> consistently in ClientSocketFactory and related codeakalin@chromium.org2013-08-151-11/+14
| | | | | | | | | | | | | | | | | This will make it easier to modify ClientSocketFactory et al. to support reprioritization. This also fixes a few latent memory leaks in tests. Make SocketStream use a ClientSocketHandle instead of just a StreamSocket. Rename {set,release}_socket() to {Set,Pass}Socket(). BUG=166689 TBR=eroman@chromium.org, rsleevi@chromium.org, sergeyu@chromium.org Review URL: https://codereview.chromium.org/22995002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217707 0039d316-1c4b-4281-b951-d872f2087c98
* HTTP socket pool group name and SSL Session Cache Shard vary on Privacy Mode.mef@chromium.org2013-07-171-4/+15
| | | | | | | | BUG=223191 Review URL: https://chromiumcodereview.appspot.com/15896032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211951 0039d316-1c4b-4281-b951-d872f2087c98
* UMA for Data Reduction Proxy connection latencybolian@chromium.org2013-07-121-0/+12
| | | | | | | | | | | | | | | BUG=257163 Added UMA metrics Net.SpdySessions_DataReductionProxy and Net.SpdyConnectionLatency_2_DataReductionProxy for data reduction proxy. jar: tools/metrics/histograms/histograms.xml rtenneti: net/socket/ssl_client_socket_pool.cc, net/spdy/spdy_session.cc Review URL: https://chromiumcodereview.appspot.com/18083032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211438 0039d316-1c4b-4281-b951-d872f2087c98
* UMA the TLS ciphersuitersleevi@chromium.org2013-06-281-0/+7
| | | | | | | | | | | Record metrics for the various SSL/TLS ciphersuites negotiated BUG=none R=wtc Review URL: https://chromiumcodereview.appspot.com/18130003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209189 0039d316-1c4b-4281-b951-d872f2087c98
* Make net and ipc explicitly use the base namespace for Values.brettw@chromium.org2013-06-131-3/+3
| | | | | | | | | | | They're currently relying on a using in values.h that we want to remove. I removed several usings in net for consistency. BUG= R=willchan@chromium.org Review URL: https://codereview.chromium.org/15662008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206187 0039d316-1c4b-4281-b951-d872f2087c98
* Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*"rsleevi@chromium.org2013-06-011-4/+5
| | | | | | | | | | | Linux fixes BUG=110610 TBR=darin Review URL: https://chromiumcodereview.appspot.com/15829004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203535 0039d316-1c4b-4281-b951-d872f2087c98
* net: Remove use of ALLOW_THIS_IN_INITIALIZER_LIST.scherkus@chromium.org2013-04-301-3/+2
| | | | | | | | | | | It's no longer providing value as the MSVC warning is disabled during compilation. Refer to bug for details. BUG=234765 R=rch@chromium.org Review URL: https://codereview.chromium.org/14113037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197200 0039d316-1c4b-4281-b951-d872f2087c98
* net: split net/ssl out of net/basephajdan.jr@chromium.org2013-03-141-2/+2
| | | | | | | | | | | | | | | Also moves transport_security_state files to net/http. This change also updates the callers. R=wtc TBR=rsleevi,lambroslambrou,tony BUG=70818 Review URL: https://codereview.chromium.org/12680003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188119 0039d316-1c4b-4281-b951-d872f2087c98
* SSL histograms did not use same buckets. Realign them.willchan@chromium.org2013-03-081-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | SSL resume and full handshake histograms used max buckets of 1 minute. SSL combined (resume+full) histograms used max buckets of 10 minutes. This made analysis minorly annoying. Fix them. Looks like 1-10min buckets had basically 0 samples. So rename the combined histograms and use max buckets of 1 minute. Since the SPDY connection latencies are there too and they similarly have little to no samples > 1 minute, rename that histogram and use max bucket of 1 minute. Note that it's also suffixed _2 to be consistent. Renamed SSL_Connection_Latency to SSL_Connection_Latency_2 with the underscore so I can keep the same basename "SSL_Connection_Latency" in the histograms.xml histogram description file, with the same underscore separator for the combined histogram and the full/resume handshake histograms. BUG=181209 Review URL: https://chromiumcodereview.appspot.com/12710005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187082 0039d316-1c4b-4281-b951-d872f2087c98
* [SPDY] Add flag to turn on SPDY/3.1 (with per-session flow control)akalin@chromium.org2013-03-051-6/+5
| | | | | | | | | | | Add SPDY/3.1 info for NPN and Alternate-Protocol. BUG=176592 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/12388099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186250 0039d316-1c4b-4281-b951-d872f2087c98
* LoadTiming implementation in net, part 1.mmenke@chromium.org2013-01-071-4/+21
| | | | | | | | | | Calculate connection timing information in ConnectJobs, add store it in ClientSocketHandles. BUG=77446 Review URL: https://codereview.chromium.org/11428150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175412 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce ERR_NETWORK_CHANGED and allow URLFetcher to automatically retry on ↵joaodasilva@chromium.org2012-12-141-3/+3
| | | | | | | | | | that error. BUG=164363 Review URL: https://codereview.chromium.org/11464028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173227 0039d316-1c4b-4281-b951-d872f2087c98
* Clean-up inline members of nested classes (net/)hans@chromium.org2012-08-091-0/+5
| | | | | | | | | | | | | | | | Due to a bug, the Clang-plugin style checker failed to warn about inline constructors, destructors, non-empty virtual methods, etc. for nested classes. The plugin has been fixed, and this patch is part of a clean-up of all the code that now causes the plugin to issue errors. BUG=139346 Review URL: https://chromiumcodereview.appspot.com/10854063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150917 0039d316-1c4b-4281-b951-d872f2087c98
* Remove SSLHostInfo.agl@chromium.org2012-06-271-17/+1
| | | | | | | BUG=105208 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144468 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting to re-land a small portion of this change... Simply add links from rch@chromium.org2012-04-101-0/+33
| | | | | | | | | | | | | | | | | | | | | | | lower layer pools to higher layer pool. Revert 10006036 - Revert 130129 - Revert 129034 - Revert 127893 - Revert 127730 - Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368, 119847 TEST= Review URL: http://codereview.chromium.org/10026024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131604 0039d316-1c4b-4281-b951-d872f2087c98
* Remove SPDY 2.1 support.rch@chromium.org2012-04-091-1/+0
| | | | | | | | | BUG=121919 Review URL: http://codereview.chromium.org/10005041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131383 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting again ... More crashes, and the instrumentation did not appear to helprch@chromium.org2012-04-061-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | Revert 130129 - Revert 129034 - Revert 127893 - Revert 127730 - Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368, 119847 TEST= Review URL: http://codereview.chromium.org/9861032 TBR=rch@chromium.org Review URL: https://chromiumcodereview.appspot.com/10006036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131145 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting to re-land this feature with instrumentation to track down the ↵rch@chromium.org2012-04-021-0/+33
| | | | | | | | | | | | | | | | | | | | | | | use-after-free. Revert 129034 - Revert 127893 - Revert 127730 - Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368, 119847 TEST= Review URL: http://codereview.chromium.org/9861032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130129 0039d316-1c4b-4281-b951-d872f2087c98
* Move NextProto enum to a new file net/socket/next_proto.hrch@chromium.org2012-03-311-5/+5
| | | | | | | | | BUG=120890 Review URL: http://codereview.chromium.org/9959033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130038 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting this feature, once again. *sigh*rch@chromium.org2012-03-261-33/+0
| | | | | | | | | | | | | | | | | | | | Revert 127893 -Revert 127730 - Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368, 119847 TEST= Review URL: http://codereview.chromium.org/9809033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129034 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting to re-land the feature.rch@chromium.org2012-03-211-0/+33
| | | | | | | | | | | | | | | | | | | | | | | Revert 127730 - Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=127717 Review URL: https://chromiumcodereview.appspot.com/9667016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127893 0039d316-1c4b-4281-b951-d872f2087c98
* Change Origin bound certs -> Domain bound certs.mattm@chromium.org2012-03-201-2/+2
| | | | | | | | | | BUG=115348 TEST=unit tests, manually checked 'Origin Bound Certs' contents after browsing TBR=jam@chromium.org,willchan@chromium.org Review URL: https://chromiumcodereview.appspot.com/9617039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127817 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 127717 - Revert 118788 - Revert 113405 - Revert 113305 - Revert ↵rch@chromium.org2012-03-201-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 113300 - Revert 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368 TEST= Review URL: http://codereview.chromium.org/9667016 TBR=rch@chromium.org Review URL: https://chromiumcodereview.appspot.com/9760002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127730 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 118788 - Revert 113405 - Revert 113305 - Revert 113300 - Revert ↵rch@chromium.org2012-03-201-0/+33
| | | | | | | | | | | | | | | | | | | | | | 112134 - Revert 112130 - Close idle connections / SPDY sessions when needed Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 109876, 110368 TEST= Review URL: http://codereview.chromium.org/9667016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127717 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY - integration of spdy/3 code.rtenneti@google.com2012-03-121-1/+2
| | | | | | | | TEST=network unit tests and browser unit_tests R=willchan Review URL: https://chromiumcodereview.appspot.com/9618002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126175 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 118950 - Allow chrome to handle 407 auth challenges to CONNECT requestsrch@chromium.org2012-02-031-2/+2
| | | | | | | | | | | | | | | | | | | | through HTTPS Proxies. This also changes the mechanism used to restart HttpProxyClientSocket requests with auth. Previously the transport socket would be Disconnected, and then re-Connected (which was not implemented for SSLClientSockets). However, the approach was problematic in the face of, for example, ipv6. The new approach is to close the HttpProxyClientSocket, and request a new socket from the pool. Initially was http://codereview.chromium.org/8502024 which turned out to have problems with NTLM auth. Review URL: http://codereview.chromium.org/9148011 TBR=rch@chromium.org Review URL: https://chromiumcodereview.appspot.com/9316101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120370 0039d316-1c4b-4281-b951-d872f2087c98
* Allow chrome to handle 407 auth challenges to CONNECT requestsrch@chromium.org2012-01-251-2/+2
| | | | | | | | | | | | | | | | | through HTTPS Proxies. This also changes the mechanism used to restart HttpProxyClientSocket requests with auth. Previously the transport socket would be Disconnected, and then re-Connected (which was not implemented for SSLClientSockets). However, the approach was problematic in the face of, for example, ipv6. The new approach is to close the HttpProxyClientSocket, and request a new socket from the pool. Initially was http://codereview.chromium.org/8502024 which turned out to have problems with NTLM auth. Review URL: http://codereview.chromium.org/9148011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118950 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r113405, since it appears to be causing a crash and a hang. Also ↵eroman@chromium.org2012-01-241-34/+1
| | | | | | | | | | reverted r118506 since it is no longer applicable. BUG=109876, 110368, 62364, 92244 Review URL: https://chromiumcodereview.appspot.com/9226039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118788 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert most of net/http.jhawkins@chromium.org2011-12-201-1/+1
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8990001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115220 0039d316-1c4b-4281-b951-d872f2087c98
* Added protocol_version negotiated with the server.rtenneti@google.com2011-12-201-5/+5
| | | | | | | | | | | | | protocol_version will be printed by the LoadTimes extension. R=willchan BUG=108134 TEST=network unittests Review URL: http://codereview.chromium.org/8914005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115145 0039d316-1c4b-4281-b951-d872f2087c98
* Revert: Revert "net: remove DNS certificate checking code."agl@chromium.org2011-12-151-2/+0
| | | | | | Now with ChromeOS fix. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114664 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "net: remove DNS certificate checking code."agl@chromium.org2011-12-151-0/+2
| | | | | | This reverts commit r114642 - it broke ChromeOS. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114644 0039d316-1c4b-4281-b951-d872f2087c98
* net: remove DNS certificate checking code.agl@chromium.org2011-12-151-2/+0
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/8944001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114642 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert proxy_resolving_client_socket.[cc,h] and deps.jhawkins@chromium.org2011-12-151-12/+11
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8898036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114562 0039d316-1c4b-4281-b951-d872f2087c98
* net: split the SSL session cache between incognito and normal.agl@chromium.org2011-12-121-1/+3
| | | | | | | | | | | | | This change causes incognito requests to effectively have a different SSL session cache from other requests. SSL session information will therefore not leak into or out of incognito mode. BUG=30877 TEST=net_unittests Review URL: http://codereview.chromium.org/8857002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114098 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY - add support for spdy/2.1 to support flow control.rtenneti@google.com2011-12-101-1/+3
| | | | | | | | | | | | | | | | | | | | 1) Add spdy/2.1 as a supported NPN protocol. 2) Advertise that chrome supports spdy/2.1 when --flow-control (spdy flag) is enabled. 3) When SPDY protocol is negotiated, enable flow_control in spdy_session if spdy/2.1 is negotiated as NPN protocol. BUG=106911 R=willchan TEST=network unit tests and if possible test with SPDY 2.1 server with command line flag --flow-control. This CL is same as the following CL. Implemented changes suggested by willchan in the following review. http://codereview.chromium.org/8890044/ Review URL: http://codereview.chromium.org/8892026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113942 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind().ajwong@chromium.org2011-12-091-6/+9
| | | | | | | | | | | This changes Socket::Read(), Socket::Write, and StreamSocket::Connect() to use CompletionCallback and fixes all users. BUG=none TEST=existing. Review URL: http://codereview.chromium.org/8824006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113825 0039d316-1c4b-4281-b951-d872f2087c98
* net: replace DnsRRResoler with TransportSecurityState in plumbing.agl@chromium.org2011-12-071-5/+2
| | | | | | | | | | | | | | | | | | The DnsRRResoler has served its time and I don't have any further plans for it. The TransportSecurityState will be used (in a future CL) to enforce public key pinning at certificate verification time. Currently we only enforce it in url_request_http_job.cc which means that we've already sent the HTTP request (inc cookies) by the time we catch the problem. This was expeditious while we fixed some other issues, but it's time to fix it. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/8692012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113410 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 113305 - Revert 113300 - Revert of 112134 of Revert 112130 - Close ↵rtenneti@google.com2011-12-071-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | idle connections / SPDY sessions when needed. Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is prob ably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). Added NET_EXPORT for layered_pool class defintion to fix windows shared compile. BUG=62364, 92244, 105839 TEST=none Review URL: http://codereview.chromium.org/8340012 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8745007 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8803019 TBR=rtenneti@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=113305 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8836002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113405 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 113300 - Revert of 112134 of Revert 112130 - Close idle connections / ↵rtenneti@chromium.org2011-12-071-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | SPDY sessions when needed. Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is probably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). BUG=62364,92244, 105839 TEST=none Review URL: http://codereview.chromium.org/8340012 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8745007 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8803019 TBR=rtenneti@chromium.org Review URL: http://codereview.chromium.org/8825014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113305 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of 112134 of Revert 112130 - Close idle connections / SPDY sessions ↵rtenneti@chromium.org2011-12-061-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | when needed. Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. Fixed ASAN test failures by removing .Times(1) and .Times(2) from CloseMultipleIdleSocketsHeldByLayeredPoolWhenNeeded unittest (this removes the tests relying on the order of std::set in CloseOneIdleConnectionInLayeredPool). ASAN is probably causing the memory allocator to allocate the pools differently. The std::set is ordered by LayeredPool* which is the address of the LayeredPool (willchan). BUG=62364,92244, 105839 TEST=none Review URL: http://codereview.chromium.org/8340012 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8745007 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8803019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113300 0039d316-1c4b-4281-b951-d872f2087c98
* Log server advertised protos and the selectedrtenneti@google.com2011-12-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | next_proto to net-internals log. In net internal logs, we will log proto in the following manner: (P) t=1323112212350 [st=463] HTTP_STREAM_REQUEST_PROTO --> next_proto_status = "negotiated" --> proto = "spdy/2" --> server_protos = "spdy/2,http/1.1" BUG=62064 TEST=network unit tests R=willchan The following was the original CL: http://codereview.chromium.org/8676046/ Review URL: http://codereview.chromium.org/8787011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113052 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 112130 - Close idle connections / SPDY sessions when needed.sail@chromium.org2011-11-301-33/+0
| | | | | | | | | | | | | | | | | Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. BUG=62364,92244, 105839 TEST=none Review URL: http://codereview.chromium.org/8340012 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/8745007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112134 0039d316-1c4b-4281-b951-d872f2087c98
* Close idle connections / SPDY sessions when needed.willchan@chromium.org2011-11-301-0/+33
| | | | | | | | | | | | | | Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. BUG=62364,92244 TEST=none Review URL: http://codereview.chromium.org/8340012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112130 0039d316-1c4b-4281-b951-d872f2087c98
* Expose some network configurations for performance tuning.wangxianzhu@chromium.org2011-10-121-3/+2
| | | | | | | | | | | | Make used_idle_socket_timeout configurable. Expose max_sockets_per_pool. BUG= TEST= Review URL: http://codereview.chromium.org/8073018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105046 0039d316-1c4b-4281-b951-d872f2087c98
* Begin CompletionCallback switchover.willchan@chromium.org2011-10-011-1/+1
| | | | | | | | | | | | | Rename CompletionCallback to OldCompletionCallback in preparation for introducing a new CompletionCallback based on base::Callback. Also renames other CompletionCallback types like CancelableCompletionCallback and TestCompletionCallback and CompletionCallbackImpl. All using sed with s/CompletionCallback/OldCompletionCallback/g. BUG=98719 TEST=none Review URL: http://codereview.chromium.org/8070013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103650 0039d316-1c4b-4281-b951-d872f2087c98