summaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* Refactor HttpNetworkTransaction to eliminate the SPDYrch@chromium.org2010-08-042-221/+114
| | | | | | | | | | | | | | | | | | | | | | | | | specific states of the state machine. This required adding two new states: STATE_INIT_STREAM STATE_INTI_STREAM_COMPLETE The http_stream_ and spdy_http_stream_ member fields have been removed, and replaced by a single stream_ member field which is initialized with either an HttpBasicStream, or SpdyHttpStream depending on the underlying connection. In the process, the NetLog no longer receives TYPE_SPDY events, only TYPE_HTTP, so spdy_network_transaction_unittest.cc needed to be modified accordingly. BUG=50267 TEST=none Review URL: http://codereview.chromium.org/3064033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54906 0039d316-1c4b-4281-b951-d872f2087c98
* Cleaning up flakiness of a URLSecurityManager unit test.ahendrickson@chromium.org2010-08-041-23/+0
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/2003012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54903 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Some clang appeasing.thakis@chromium.org2010-08-041-2/+2
| | | | | | | | BUG=TEST=none Review URL: http://codereview.chromium.org/3089004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54870 0039d316-1c4b-4281-b951-d872f2087c98
* Make Chrome capable of advertising spdy version 1.mbelshe@chromium.org2010-08-032-5/+15
| | | | | | | | | | | This is for debugging purposes only. BUG=none TEST=none Review URL: http://codereview.chromium.org/2808098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54813 0039d316-1c4b-4281-b951-d872f2087c98
* Fix valgrind error in unittests.agl@chromium.org2010-08-031-1/+1
| | | | | | | | | | | | A pointer to a stack allocated buffer was being kept around. The buffer should be static. BUG=49404 TEST=net_unittests http://codereview.chromium.org/3005052/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54792 0039d316-1c4b-4281-b951-d872f2087c98
* Remove number conversion functions from string_util. These moved to ↵brettw@chromium.org2010-08-031-1/+1
| | | | | | | | | | string_number_conversions. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3054036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54747 0039d316-1c4b-4281-b951-d872f2087c98
* Add #include utf_string_conversions.h to all files that use ASCIIToWide andbrettw@chromium.org2010-08-037-0/+7
| | | | | | | | | | | | | | | ASCIIToUTF16. I removed string_util includes from a few places where it obviously wasn't needed. In a separate pass, I'm going to remove ASCIITo* from string_util, then I'm going to do an even later pass to find the unnecessary string_util.h includes and remove them. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3058027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54746 0039d316-1c4b-4281-b951-d872f2087c98
* Mange ciricular reference to HttpNetworkTransaction in HttpProxyClientSocktPool.vandebo@chromium.org2010-08-031-2/+9
| | | | | | | | | | | Without explicit management of the cirucular reference to HttpNetworkTransaction, it can get deleted at inopportune times and cause undesirable effects (i.e. triggering a pool to delete itself while in the middle of other operations). This change breaks the cirucular reference at points in execution where it is safe. BUG=50822, 49254 TEST=green reliability bot Review URL: http://codereview.chromium.org/3084011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54715 0039d316-1c4b-4281-b951-d872f2087c98
* Recommit 54405 - Fix late binding induced mismatch of Socket and AuthControllervandebo@chromium.org2010-08-038-139/+346
| | | | | | | | | | | | | ClientSocketPool treats all pending SocketParams as interchangeable. Therefore they can not contain any connection specific data. This only affects the Http Proxy tunnel case. The lowest risk change to fix this problem is to create the HttpAuthController in the HttpProxyClientSocket. If we get a 407 and need to restart the Tunnel, the pending HttpProxyClientSocket is returned to the HttpNetworkTransaction in the additional error state of the connection and then complete the auth in a pair of states in the HttpNetworkTransaction. This reintroduces a dependency between tunnel setup and the HttpNetworkTransaction, but that will need to be fixed at a later date. Original Review URL: http://codereview.chromium.org/3058013 BUG=49493 TEST=existing unit tests + manually visiting many SSL sites through a kerberized http proxy. Review URL: http://codereview.chromium.org/3029052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54714 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY Alternate-Protocol works through a Digest authentication proxy.cbentzel@chromium.org2010-08-034-13/+188
| | | | | | | | | | | | | | | Digest authentication uses a uri field to prevent replay attacks. When authenticating to an HTTP proxy to establish a secure tunnel (via CONNECT), the uri should be the hostname of the server and the destination port, such as "www.example.com:443". When authenticating to an HTTP proxy for a non-secure content, the uri should be the path at the server, i.e. "/index.html". If the site we are trying to connect to previously advertised "Alternate-Protocol: 443:spdy-npn/1" a request to "http://www.example.com" will be attempted on a secure port. However, the URL passed into the digest authenticator was an unsecure one, and it decided to have a uri in the form "/index.html" rather than the correct "www.example.com:443". This causes persistent failure with the password and many password prompts. BUG=49865 TEST=net_unittests --gtest_filter="HttpNetworkTransactionTest.SpdyAlternateProtocolThroughProxy" Review URL: http://codereview.chromium.org/3040032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54647 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 54405 - Fix late binding induced mismatch of Socket and AuthControllernick@chromium.org2010-08-028-289/+91
| | | | | | | | | | | | | | | | [Reason for revert: large spike in crash rate on reliability bots] ClientSocketPool treats all pending SocketParams as interchangeable. Therefore they can not contain any connection specific data. This only affects the Http Proxy tunnel case. The lowest risk change to fix this problem is to create the HttpAuthController in the HttpProxyClientSocket. If we get a 407 and need to restart the Tunnel, the pending HttpProxyClientSocket is returned to the HttpNetworkTransaction in the additional error state of the connection and then complete the auth in a pair of states in the HttpNetworkTransaction. This reintroduces a dependency between tunnel setup and the HttpNetworkTransaction, but that will need to be fixed at a later date. BUG=49493,50822 TEST=existing unit tests + manually visiting many SSL sites through a kerberized http proxy. Review URL: http://codereview.chromium.org/3058013 TBR=vandebo@chromium.org Review URL: http://codereview.chromium.org/3056040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54616 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 54528 - Digest authentication uses a uri field to prevent replay attacks.nick@chromium.org2010-08-024-199/+13
| | | | | | | | | | | | | | | | | | | [Reason for revert: we want to revert r54505, this was a dependent change. cbentzel agrees to reland.] When authenticating to an HTTP proxy to establish a secure tunnel (via CONNECT), the uri should be the hostname of the server and the destination port, such as "www.example.com:443". When authenticating to an HTTP proxy for a non-secure content, the uri should be the path at the server, i.e. "/index.html". If the site we are trying to connect to previously advertised "Alternate-Protocol: 443:spdy-npn/1" a request to "http://www.example.com" will be attempted on a secure port. However, the URL passed into the digest authenticator was an unsecure one, and it decided to have a uri in the form "/index.html" rather than the correct "www.example.com:443". This causes persistent failure with the password and many password prompts. BUG=49865,50822 TEST=Run with --use-spdy=npn, force connection through a digest authenticating proxy, and browse a site which advertises Alternate-Protocol through http URLs. Review URL: http://codereview.chromium.org/3028021 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/3091001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54614 0039d316-1c4b-4281-b951-d872f2087c98
* Address a TODO: use HostPortPair rather than a naked host string.eroman@chromium.org2010-08-021-2/+2
| | | | | | Review URL: http://codereview.chromium.org/3047033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54613 0039d316-1c4b-4281-b951-d872f2087c98
* SpdySessionPool now identifies SpdySessions by both HostPortPair and proxy ↵erikchen@google.com2010-08-022-7/+9
| | | | | | | | | | | | settings. This ensures SpdySessions are not improperly reused. TEST=net_unittests BUG=49874 Review URL: http://codereview.chromium.org/3047032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54577 0039d316-1c4b-4281-b951-d872f2087c98
* A/B test for measuring effect of number of proxy connections.ziadh@chromium.org2010-08-022-0/+9
| | | | | | | | | | | | | | | | | Currently, we limit the number of connections per proxy server to 32 (raised from 15). Firefox uses 8. A low value keeps from overloading the proxy servers; at the same time, some users may hit the limit (since we use the same number for both HTTP and SOCKS proxies). This experiment selects a different number at browser launch (from the set [8, 16, 32, 64]), and attempts to look at certain stats to get a clearer picture of how this affects the user. BUG=44501 r=jar Review URL: http://codereview.chromium.org/3033045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54541 0039d316-1c4b-4281-b951-d872f2087c98
* Digest authentication uses a uri field to prevent replay attacks.cbentzel@chromium.org2010-08-024-13/+199
| | | | | | | | | | | | | | When authenticating to an HTTP proxy to establish a secure tunnel (via CONNECT), the uri should be the hostname of the server and the destination port, such as "www.example.com:443". When authenticating to an HTTP proxy for a non-secure content, the uri should be the path at the server, i.e. "/index.html". If the site we are trying to connect to previously advertised "Alternate-Protocol: 443:spdy-npn/1" a request to "http://www.example.com" will be attempted on a secure port. However, the URL passed into the digest authenticator was an unsecure one, and it decided to have a uri in the form "/index.html" rather than the correct "www.example.com:443". This causes persistent failure with the password and many password prompts. BUG=49865 TEST=Run with --use-spdy=npn, force connection through a digest authenticating proxy, and browse a site which advertises Alternate-Protocol through http URLs. Review URL: http://codereview.chromium.org/3028021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54528 0039d316-1c4b-4281-b951-d872f2087c98
* When we get a silent TCP RST, SPDY connections need to retry.mbelshe@chromium.org2010-07-311-6/+21
| | | | | | | | | | | | | | | | | | | | | Fixing this involved a couple of minor changes. * We were not tracking whether a SPDY session should be retried. The HTTP logic uses "is_socket_idle()" to determine if the socket was once good and is worth retrying. Because SPDY is not serialized added methods through the SpdySession and SpdyHttpStream for this. (See ShouldResendFailedRequest) * The spdy_http_stream was not notifying the caller when OnSendHeadersComplete occurred when there is no upload body. This isn't strictly necessary, but keeps the HttpNetworkTransaction state more consistent. BUG=50510 TEST=SpdyNetworkTransactionTest Review URL: http://codereview.chromium.org/3064021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54464 0039d316-1c4b-4281-b951-d872f2087c98
* Move ASCIIToWide and ASCIIToUTF16 to utf_string_conversions.h. I've found itbrettw@chromium.org2010-07-314-3/+4
| | | | | | | | | | | | | | | | | | | | | | | weird that UTF8ToWide is in utf_string_conversions, but ASCIIToWide is in string_util.h. This should help some dependencies since string_util changes much more frequently than utf_string_conversions and fewer files will now need string_utils. Since this requires a lot of changes, this keeps a forward-declaration in string_util so I can update the entire project incrementally. This change updates base and net only. I removed some includes of string_util from header files in net. In particular, url_request_context which involved creating a new .cc file to implement a function (already virtual so there's no speed penalty). It turns out a lot of files were getting string_util from this include, so I had to update a bunch of random files to now explicitly include string_util.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3076013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54456 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-314-15/+21
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* Convert src/net to use std::string/char* for DictionaryValue keys.viettrungluu@chromium.org2010-07-311-3/+3
| | | | | | | | | | | Hopefully I got them all. BUG=23581 TEST=net_unittests Review URL: http://codereview.chromium.org/3013048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54433 0039d316-1c4b-4281-b951-d872f2087c98
* Implement prefetching in chromegavinp@google.com2010-07-312-0/+18
| | | | | | | | | | | | | | | | | | With this CL (see also issue 2910009), chrome will support basic prefetching. You can optionally deactivate prefetching with the command line argument --disable-prefetch. A new RequestPriority was created as well, IDLE, which is lower than LOWEST. Unfortunately, SPDY has only two bits for priority, so as a temporary measure (pending SPDY v3 which will have three), we have a mapping in SPDY that folds net::LOWEST and net::IDLE together. BUG=13505 TEST=http://gemal.dk/browserspy/prefetch.php Review URL: http://codereview.chromium.org/3050016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54421 0039d316-1c4b-4281-b951-d872f2087c98
* Fix late binding induced mismatch of Socket and AuthControllervandebo@chromium.org2010-07-308-91/+289
| | | | | | | | | | | ClientSocketPool treats all pending SocketParams as interchangeable. Therefore they can not contain any connection specific data. This only affects the Http Proxy tunnel case. The lowest risk change to fix this problem is to create the HttpAuthController in the HttpProxyClientSocket. If we get a 407 and need to restart the Tunnel, the pending HttpProxyClientSocket is returned to the HttpNetworkTransaction in the additional error state of the connection and then complete the auth in a pair of states in the HttpNetworkTransaction. This reintroduces a dependency between tunnel setup and the HttpNetworkTransaction, but that will need to be fixed at a later date. BUG=49493 TEST=existing unit tests + manually visiting many SSL sites through a kerberized http proxy. Review URL: http://codereview.chromium.org/3058013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54405 0039d316-1c4b-4281-b951-d872f2087c98
* More FRIEND_TEST_ALL_PREFIXES.phajdan.jr@chromium.org2010-07-303-12/+9
| | | | | | | | | TEST=none BUG=44549 Review URL: http://codereview.chromium.org/3053024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54388 0039d316-1c4b-4281-b951-d872f2087c98
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-303-6/+9
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* Bump the SPDY protocol version to version 2.mbelshe@chromium.org2010-07-305-33/+44
| | | | | | | | | | | | | Remove "http1.1" and "spdy" from the NPN advertisement string (the proper values are "http/1.1" and "spdy/2", which were included redundantly). BUG=50550 TEST=existing Review URL: http://codereview.chromium.org/3044034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54258 0039d316-1c4b-4281-b951-d872f2087c98
* I've refactored HttpStream, SpdyHttpStream and HttpBasicStream so thatrch@chromium.org2010-07-297-33/+49
| | | | | | | | | | | | SpdyHttpStream now implements (a slightly wider) HttpStream interface. BUG=50268 TEST=none Review URL: http://codereview.chromium.org/3079002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54154 0039d316-1c4b-4281-b951-d872f2087c98
* Net: Convert username and password to string16.thestig@chromium.org2010-07-2933-268/+337
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3040016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54101 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Proxy server authentication without credentials available.ahendrickson@google.com2010-07-271-5/+5
| | | | | | | | | | | | | | | | This covers the cases using GSSAPI for Negotiate to authenticate to a proxy, where: - The user does not have a TGT (Ticket Generating Ticket), or - The user is unable to get to the TGS (Ticket Granting Server). The bug was that the authentication system tried to reuse the Negotiate handler even though it was not possible for it to succeed, leading to infinite retries. BUG=33033 Test=None Review URL: http://codereview.chromium.org/3040015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53819 0039d316-1c4b-4281-b951-d872f2087c98
* Add CHECKs to help track down the crash in http://crbug.com/49862.wtc@chromium.org2010-07-271-1/+4
| | | | | | | | | R=vandebo BUG=49862 TEST=none Review URL: http://codereview.chromium.org/3072003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53794 0039d316-1c4b-4281-b951-d872f2087c98
* Remove --testing-fixed-http-port and --testing-fixed-https-port.cbentzel@chromium.org2010-07-273-37/+0
| | | | | | | | | | | --host-rules seems like a reasonable enough substitute for these two command line flags, and removing them will simplifies the fairly complicated URL rewrite logic in HttpNetworkTransaction. BUG=None TEST=built and ran net_unittests Review URL: http://codereview.chromium.org/3041019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53790 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-2645-0/+45
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY now always uses http_network_transaction instead of ↵erikchen@google.com2010-07-234-28/+79
| | | | | | | | | | | | | | | | spdy_network_transaction. It was previously possible to use spdy_network_transaction using the command line flags: --use-spdy=no-ssl --use-spdy=no-compress This does not affect instances of chrome that are not run with --use-spdy. Also changed spdy_network_transaction_unittest so that all tests are run with 3 different connection configurations: spdy over npn, spdy over ssl, and spdy without ssl. TEST=net_unittests BUG=49082 Review URL: http://codereview.chromium.org/3048003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53548 0039d316-1c4b-4281-b951-d872f2087c98
* Net: Get rid of ProxyServer::host_and_port() and friends.thestig@chromium.org2010-07-225-33/+23
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3032017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53403 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY flow control: enforce obeying send window size via a command-line ↵agayev@chromium.org2010-07-222-1/+11
| | | | | | | | | | | switch, initial support for receive window size. BUG=48100 TEST=net_unittestss --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowUpdate:SpdyNetworkTransactionTest.WindowUpdateOverflow" Review URL: http://codereview.chromium.org/3052005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53297 0039d316-1c4b-4281-b951-d872f2087c98
* Kerberos authentication backoff cleanup.ahendrickson@google.com2010-07-212-5/+78
| | | | | | | | | BUG=33033 TEST=None Review URL: http://codereview.chromium.org/2883031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53207 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce static initializers by removing inline constructors anddavemoore@chromium.org2010-07-214-2/+6
| | | | | | | | | | | destructors from classes with instance members of type scoped_ptr_malloc<> Also remove #include of iostream from remaining header file. Review URL: http://codereview.chromium.org/2861065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53190 0039d316-1c4b-4281-b951-d872f2087c98
* Reference-count the data used by PAC scripts, so it is shared between threads.eroman@chromium.org2010-07-201-5/+4
| | | | | | | BUG=49396 Review URL: http://codereview.chromium.org/2836060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53095 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to back off from Kerberos authentication if we don't have credentials.ahendrickson@google.com2010-07-206-9/+76
| | | | | | | | | | | | | | | | | | | If the user has a stale TGT, or is unable to generate a TGS for the server they are trying to communicate to, then generating an authentication token fails. Rather than fail the entire network transaction in that case, we resend the request with an empty Authenticate (or Proxy-Authenticate) header, and remember that the Negotiate scheme is not a valid option for this particular transaction. If the server responds back with headers like WWW-Authenticate: Negotiate WWW-Authenticate: Digest realm=foo then the digest scheme is chosen in the next round. BUG=33033 TEST=None Review URL: http://codereview.chromium.org/3010010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53002 0039d316-1c4b-4281-b951-d872f2087c98
* Use different separators for service-type and service-name in Kerberos SPN.cbentzel@chromium.org2010-07-202-3/+30
| | | | | | | | | | | | GSSAPI expects SPNs to be in the form HTTP@<server_name> and SSPI expects SPNs to be in the form HTTP/<server_name>. BUG=33033 TEST=net_unittests --gtest_filter="*HttpAuthHandlerNegotiate*", go against Kerberized server on Linux or OSX and see that the TGS is retrieved correctly. Review URL: http://codereview.chromium.org/3055001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52984 0039d316-1c4b-4281-b951-d872f2087c98
* Don't do Negotiate with GSSAPI if default credentials are not allowed.cbentzel@chromium.org2010-07-196-206/+241
| | | | | | | | | | | | | GSSAPI does not provide a mechanism for the user to specify username/password to obtain a TGT. If default credentials are not allowed for an end site, skip negotiate and use a different scheme. Arguably in this case it may make sense to simply prompt the user whether they want to use their existing Kerberos credentials to authenticate to the server and use the existing TGT, but we'll need UI changes. BUG=33033 TEST=net_unittests, try to authenticate to a Kerberized server which is not in the whitelist. Review URL: http://codereview.chromium.org/3013003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52943 0039d316-1c4b-4281-b951-d872f2087c98
* ASSERT_TRUE that the HttpAuthHandlerNegotiate::Factory creates non-NULL ↵cbentzel@chromium.org2010-07-171-2/+5
| | | | | | | | | | | handlers. BUG=None TEST=net_unittests --gtest_filter="*HttpAuthHandlerNegotiate*" Review URL: http://codereview.chromium.org/3018008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52828 0039d316-1c4b-4281-b951-d872f2087c98
* Implement MAX_CONCURRENT_STREAMS SETTINGS headergavinp@google.com2010-07-173-44/+53
| | | | | | | | | | | | | | | | | | | | | | | | This CL helps chrome respect the SETTINGS header MAX_CONCURRENT_STREAMS. Note that this means that SpdySession::CreateStream can now return ERR_IO_PENDING, so it requires a callback. There's a noted TODO that if an http_network_transaction dissapears betweeen STATE_SPDY_GET_STREAM and STATE_SPDY_SEND_REQUEST I don't know if we end up with an orphan stream in our spdy_session. As well, spdy_test_util.cc had a lot of functions with default arguments; I didn't fix them all, but the functions I modified no longer take default arguments and meet the coding standard. I'd like to circle back at some point and possibly make the tests call SpdyFramer directly: these test utils seem sometimes more trouble than they're worth if the framer was a bit more convenient for direct use. BUG=34750 TEST=net_unittests Spdy.ThreeGets* Review URL: http://codereview.chromium.org/2919011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52791 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Make sure that we don't fail transactions when thervargas@google.com2010-07-173-13/+15
| | | | | | | | | | | disk cache fails (now on an async world). BUG=49216 TEST=net_unittests Review URL: http://codereview.chromium.org/2812062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52790 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Enable some checks to track a low volume crash.rvargas@google.com2010-07-171-10/+19
| | | | | | | | | | | BUG=47895 TEST=none Review URL: http://codereview.chromium.org/2996006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52779 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Don't delete the callback that is waiting forrvargas@google.com2010-07-172-2/+46
| | | | | | | | | | | | the backend creation when the cache goes away. BUG=49193 TEST=net_unittests Review URL: http://codereview.chromium.org/3016006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52776 0039d316-1c4b-4281-b951-d872f2087c98
* Remove now unused states (cleanup).vandebo@chromium.org2010-07-162-10/+0
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/3040003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52750 0039d316-1c4b-4281-b951-d872f2087c98
* Added mock libraries for GSSAPI.ahendrickson@google.com2010-07-165-30/+1035
| | | | | | | | | BUG=33033 TEST=None Review URL: http://codereview.chromium.org/2833049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52696 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash bug in new SSLClientSocketPool.vandebo@chromium.org2010-07-161-18/+11
| | | | | | | | | | | We also need to push additional error state out of the SSLClientSocketPool on a ERR_SSL_CLIENT_AUTH_CERT_NEEDED error. BUG=49197 TEST=no crash when visiting https://foafssl.org/srv/idp?authreqissuer=http://foaf.me/index.php Review URL: http://codereview.chromium.org/2827053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52693 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: chain GetLoadState from transactions waiting forrvargas@google.com2010-07-156-6/+60
| | | | | | | | | | | | | | | | | | access to an entry to the transaction that has exclusive access to that entry. This means that requests that are blocked on the single writer lock of the http cache will report the load state of the request that has the lock, and WAITING_FOR_CACHE is reserved for requests that are actually waiting for the entry to be created by the cache. BUG=43582 TEST=net_unittests Review URL: http://codereview.chromium.org/2892010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52557 0039d316-1c4b-4281-b951-d872f2087c98
* On multi-round authentication schemes, the info_ field in the ↵cbentzel@chromium.org2010-07-154-2/+122
| | | | | | | | | | | HttpAuthController should be cleared (the user should only be prompted for username/password on the first round). BUG=48752 TEST=net_unittests --gtest_filter="*MultiRoundAuth*" Review URL: http://codereview.chromium.org/2941006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52550 0039d316-1c4b-4281-b951-d872f2087c98