summaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* Remove bug 31096 checks (resolved).vandebo@chromium.org2010-03-301-3/+0
| | | | | | | | | TEST=none BUG=31096 Review URL: http://codereview.chromium.org/1562003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43145 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r42300: "HttpRequestHeaders refactor."willchan@chromium.org2010-03-296-65/+500
| | | | | | | | | Adds a fix and tests for empty header values. The particular bug happened when the value was non-empty, but was all LWS, so it was effectively empty. BUG=22588 Review URL: http://codereview.chromium.org/1370001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43000 0039d316-1c4b-4281-b951-d872f2087c98
* Report unreadable files as size zero when uploading.vandebo@chromium.org2010-03-291-0/+149
| | | | | | | | | | | Upload zero bytes if the file size shrinks. BUG=30850 TEST=uploading an unreadable file works Review URL: http://codereview.chromium.org/1250002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42981 0039d316-1c4b-4281-b951-d872f2087c98
* On Windows, use IInternetSecurityManager to determine if it's OKwtc@chromium.org2010-03-2915-104/+318
| | | | | | | | | | | | | | | | | | | | | | | to send the default credentials to a server, without prompting the user for permission, for HTTP NTLM or Negotiate authentication. It is always OK to send the default credentials to a proxy without prompting the user. Rename the AllowDefaultCredentials method of HttpAuthHandler to SupportsDefaultCredentials and redefine it to simply return if the authentication scheme supports the use of default credentials, as opposed to whether we may use the default credentials for a particular server or proxy. This CL contains the changes by cbentzel in http://codereview.chromium.org/1082001. R=cbentzel,cpu,stoyan BUG=29596 TEST=none Review URL: http://codereview.chromium.org/1343003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42960 0039d316-1c4b-4281-b951-d872f2087c98
* Reducing the debug output spam.ahendrickson@google.com2010-03-251-2/+0
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/1321002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42694 0039d316-1c4b-4281-b951-d872f2087c98
* SpdySession now sets the following fields in HttpResponseInfo: ahendrickson@google.com2010-03-252-0/+8
| | | | | | | | | | | | | | | | | | | | | | | request_time response_time vary_data There is also a unit test to exercise the new functionality. - Changed CreateSpdyHeadersFromHttpRequest() to use std::string::append() rather than std::string::operator+() to append a single '\0' character to the string, as the former does nothing. - Now using SpdyFramer. - The unit tests now include all server push cases. BUG=34505 TEST=Run netunittests.exe --gtest_filter=SpdyNetworkTransactionTest.* Review URL: http://codereview.chromium.org/634002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42660 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthFilterWhitelist is now getting entries from the Windowsahendrickson@google.com2010-03-257-40/+640
| | | | | | | | | | | | | | | | | | registry, and adding them to whatever is in the command line. Added a basic IsIntranetHost() member function to HttpNetworkTransaction. Removed it until we figure out what to do with it. Added unit tests. Refactored SetFilters() to be less confusing. Unit tests now use a dummy registry key. BUG=29596 TEST=net_unittests.exe --gtest_filter=HttpAuthFilterTest.* Review URL: http://codereview.chromium.org/669068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42600 0039d316-1c4b-4281-b951-d872f2087c98
* Support sending a sliced file in chromium.jianli@chromium.org2010-03-241-4/+13
| | | | | | | | | BUG=none TEST=The WebKit Layout test. Review URL: http://codereview.chromium.org/594036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42559 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Reland r42300: "HttpRequestHeaders refactor."""willchan@chromium.org2010-03-236-481/+65
| | | | | | | | Broke another layout test. Review URL: http://codereview.chromium.org/1223001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42387 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r42300: "HttpRequestHeaders refactor.""willchan@chromium.org2010-03-236-65/+481
| | | | | | | | | | | | This time, make sure HttpRequestHeaders::FindHeader() checks key lengths are equal. * Create HttpRequestHeaders. * Switch HttpNetworkTransaction to build request headers. TODO: Change extra_headers to use HttpRequestHeaders. BUG=22588 Review URL: http://codereview.chromium.org/1110014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42376 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r42300: "HttpRequestHeaders refactor."willchan@chromium.org2010-03-236-473/+65
| | | | | | | | | Broke access-control-basic-whitelist-request-headers.html layout test. BUG=22588 Review URL: http://codereview.chromium.org/1110012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42305 0039d316-1c4b-4281-b951-d872f2087c98
* HttpRequestHeaders refactor.willchan@chromium.org2010-03-236-65/+473
| | | | | | | | | | | * Create HttpRequestHeaders. * Switch HttpNetworkTransaction to build request headers. TODO: Change extra_headers to use HttpRequestHeaders. BUG=22588 Review URL: http://codereview.chromium.org/1039001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42300 0039d316-1c4b-4281-b951-d872f2087c98
* Implement SOCKSClientSocketPoolvandebo@chromium.org2010-03-225-97/+90
| | | | | | | | | | | | | | This is the first layered pool, so there are several infrastructure changes in this change as well. Add a ConnectionTimeout method to pools so that layered pools can timeout each phase. Add a name method to pools to support per pool UMA histograms. Change SOCKS sockets to take a ClientSocketHandle instead of a ClientSocket BUG=30357 (blocks an SSL Pool) TEST=existing unit tests Review URL: http://codereview.chromium.org/668097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42231 0039d316-1c4b-4281-b951-d872f2087c98
* 2 experiments: DNS prefetch limit concurrency: TCP split a packetjar@chromium.org2010-03-201-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some firewalls apparently try to preclude a "syn flood to host" by limiting the number of syn's (used to open a TCP/IP socket) that are outstanding without having received a syn-ack. Presumably this is to prevent a user from participating in a syn-flood attack (which traditional sends a lot of syn packets, with false return addresses, resulting in no responses). Apparently this firewall technology has in some cases been extended to include UDP sessions for which there has been no response, and this may include DNS resolutions. Since the prefetcher currently resolves as many as 8 names simultaneously, this is remarkably close to the reported threshold of 10 un-answered connections. This test attempts to limit connections to 2, 4, or 6, so that we can see if this helps users. In TCP, the RTO remains (under windows) at a full 3 seconds until after the first ack is received. As a result, if the first data packet sent (after the SYN) is lost, then TCP won't resend until after 3 seconds without an ack. As a test, we split up the first packet into two parts (the second part containing only one byte). This is done as an A/B test, and we'll see if we get a measurable improvement in page-load-time latency. Finally, to get better page load stats, I adjusted the PLT histograms so that we record a "final" time for abandoned pages when they are closed (even if they didn't finish rendering, etc.). This should give a much more fair PLT comparison for all network latency experiments. BUG=3041 BUG=12754 r=mbelshe,darin Review URL: http://codereview.chromium.org/1088002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42181 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-1613-138/+130
| | | | | | | | | | | | | | | | event stream (NetLog). This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events. This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up. The user-visible behavior should remain unchanged. BUG=37421 Review URL: http://codereview.chromium.org/848006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Alternate-Protocol changes.willchan@chromium.org2010-03-106-41/+122
| | | | | | | | | Add npn-spdy fallback support. Update protocol from spdy=>npn-spdy. Don't process Alternate-Protocol unless it we enabled NPN. Review URL: http://codereview.chromium.org/763001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41169 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Add basic support for Alternate-Protocol header.willchan@chromium.org2010-03-097-1/+493
| | | | | | Review URL: http://codereview.chromium.org/668197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41032 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Reorder the files after the previous mess-up.rvargas@google.com2010-03-083-629/+630
| | | | | | | | | | | | No real code change. BUG=none TEST=none Review URL: http://codereview.chromium.org/669142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40967 0039d316-1c4b-4281-b951-d872f2087c98
* Use 0 for successful end of stream.vandebo@chromium.org2010-03-083-17/+12
| | | | | | | | | BUG=25032 TEST=none Review URL: http://codereview.chromium.org/669122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40938 0039d316-1c4b-4281-b951-d872f2087c98
* net: string_utils.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-084-0/+6
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/668267 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40935 0039d316-1c4b-4281-b951-d872f2087c98
* Add checks to track down bug 31096vandebo@chromium.org2010-03-081-0/+3
| | | | | | | | | BUG=31096 TEST=none Review URL: http://codereview.chromium.org/669226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40934 0039d316-1c4b-4281-b951-d872f2087c98
* More late binding cleanupvandebo@chromium.org2010-03-051-36/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/668106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40692 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a regression introduced in r40465.wtc@chromium.org2010-03-051-11/+18
| | | | | | | | | | | | | | | | | In DoSSLConnectComplete, we still need to set using_spdy_ if we get a certificate error. In HandleCertificateError, we need to ignore the error after adding the certificate to the allowed_bad_certs list. R=mbelshe BUG=37367 TEST=Connect to a SPDY server with a bad certificate. Clicking "Proceed anyway" in the SSL blocking page should not result in a download. Review URL: http://codereview.chromium.org/668111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40687 0039d316-1c4b-4281-b951-d872f2087c98
* Remove debug info used to diagnose bug 31723.rvargas@google.com2010-03-031-12/+0
| | | | | | | | | BUG=31723 TEST=none Review URL: http://codereview.chromium.org/660431 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40570 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the remnants of the late binding experiment.vandebo@chromium.org2010-03-031-32/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/667013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40562 0039d316-1c4b-4281-b951-d872f2087c98
* Don't ignore certificate errors with SPDY.mbelshe@chromium.org2010-03-032-19/+23
| | | | | | | | | | | | | | For benchmarking and testing, we still want to be able to ignore the certificate errors, so I added a flag to the use-spdy option to do so: --ignore-certificate-errors BUG=32020 TEST=none Review URL: http://codereview.chromium.org/661375 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40465 0039d316-1c4b-4281-b951-d872f2087c98
* Use CHECK_* in netwillchan@chromium.org2010-03-021-3/+3
| | | | | | Review URL: http://codereview.chromium.org/660404 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40453 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Expose storing metadata on a given entry.rvargas@google.com2010-03-025-20/+283
| | | | | | | | | | BUG=32406 TEST=unittests Review URL: http://codereview.chromium.org/660041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40400 0039d316-1c4b-4281-b951-d872f2087c98
* Remove connection failed histograms.vandebo@chromium.org2010-03-021-5/+3
| | | | | | | | | BUG=none - not used and blocks refactoring for bug 30357 TEST=unit tests Review URL: http://codereview.chromium.org/661318 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40397 0039d316-1c4b-4281-b951-d872f2087c98
* Work around 3rd party problem causing bug 27870.vandebo@chromium.org2010-02-272-9/+1
| | | | | | | | | | | | Check that we report that we wrote no more than we requested to write. Remove some debugging. BUG=27870 TEST=none Review URL: http://codereview.chromium.org/660194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40197 0039d316-1c4b-4281-b951-d872f2087c98
* Make a proper TCPSocketParamsvandebo@chromium.org2010-02-271-21/+14
| | | | | | | | | BUG=none TEST=existing unit tests Review URL: http://codereview.chromium.org/661194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40182 0039d316-1c4b-4281-b951-d872f2087c98
* Added HttpAuthFilter.cbentzel@chromium.org2010-02-2610-9/+646
| | | | | | | | | | | Original patch by ahendrickson@chromium.org (http://codereview.chromium.org/646068) BUG=29596 TEST=net_unittests.exe --gtest_filter="*HttpAuthFilterTest*" Review URL: http://codereview.chromium.org/660193 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40157 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SpdySessionPool to take a host port pair instead of just the host.willchan@chromium.org2010-02-261-7/+8
| | | | | | | | BUG=28595 Review URL: http://codereview.chromium.org/660107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40077 0039d316-1c4b-4281-b951-d872f2087c98
* Added SSPILibrary interface so unit tests can mock SSPI calls.cbentzel@chromium.org2010-02-257-47/+386
| | | | | | | | | BUG=None TEST=net_unittests.exe --gtest_filter="*HttpAuthSSPI*" Review URL: http://codereview.chromium.org/650164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40021 0039d316-1c4b-4281-b951-d872f2087c98
* Add ERR_END_OF_STREAMvandebo@google.com2010-02-244-19/+48
| | | | | | | | | | | | Add new error code "END_OF_STREAM" and use it in HttpStreamParser. Update a test to expect failure instead of success on an incomplete stream. BUG=25032 TEST=updated unittests Review URL: http://codereview.chromium.org/650190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39822 0039d316-1c4b-4281-b951-d872f2087c98
* ProxyConfig behaved like a struct, but was defined as a class.eroman@chromium.org2010-02-241-1/+1
| | | | | | | | | Changed it to be a proper class with hidden implementation variables, setters etc. Also seized this opportunity to move the bypass list from being a member of ProxyConfig, to being a member of ProxyRules. This is a more correct hiearchy, since the bypass rules only apply to the manual settings. Lastly, this makes it possible to have the manual rules evaluation be a method on ProxyRules, and shift some more code out of proxy_service. Review URL: http://codereview.chromium.org/651070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39818 0039d316-1c4b-4281-b951-d872f2087c98
* Add APIs to expose http cache's metadata and thervargas@google.com2010-02-238-0/+65
| | | | | | | | | | | the ability to stop caching a given request. BUG=32406, 22900 TEST=none Review URL: http://codereview.chromium.org/600167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39751 0039d316-1c4b-4281-b951-d872f2087c98
* Rename use_spdy_ to using_spdy_ and test it in more places:wtc@chromium.org2010-02-222-15/+16
| | | | | | | | | | | DoInitConnectionComplete and Read. R=willchan BUG=none TEST=none Review URL: http://codereview.chromium.org/652011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39673 0039d316-1c4b-4281-b951-d872f2087c98
* Validate that an SSPI scheme is supported before generating a handler.cbentzel@chromium.org2010-02-2210-53/+130
| | | | | | | | | | | | | | | | | When SSPI is used (for Windows builds), the NTLM and Negotiate handler factories determine the maximum token length the first time it is used. The SSPI call to determinine the maximum length also returns an error code if the scheme is unsupported. The factories remember if the scheme is unsupported and will not attempt to create any handlers. If the token length is found, it is remembered. If a different error occurs, don't create a handler this round, but try again in the future. BUG=None TEST=Manually used an incorrect auth scheme and validated that it worked. Working on a mock SSPI Library I can use for unit testing. Review URL: http://codereview.chromium.org/600129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39600 0039d316-1c4b-4281-b951-d872f2087c98
* Back out the change to HttpNetworkTransaction::Read in thewtc@chromium.org2010-02-201-2/+1
| | | | | | | | | | | previous checkin. It needs more work. TBR=willchan BUG=35108 TEST=none Review URL: http://codereview.chromium.org/650109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39541 0039d316-1c4b-4281-b951-d872f2087c98
* Make explicit the assumption that SpdySession::InitializeWithSocket takeswtc@chromium.org2010-02-201-1/+4
| | | | | | | | | | | an SSLClientSocket by renaming the methods and adding a DCHECK. R=willchan BUG=none TEST=No compilation errors. Review URL: http://codereview.chromium.org/650085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39528 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a SPDY regression introduced in r39037. When we ignore certificatewtc@chromium.org2010-02-192-11/+24
| | | | | | | | | | | | | | | | errors for SPDY, we need to set |result| to OK. Add rudimentary support for restarting a SPDY network transaction after the user ignores a certificate error. This requires turning |use_spdy| into a class member. R=willchan BUG=35108 TEST=Testing SPDY with NPN against a server with a broken certificate should not result in an SSL certificate error page. Review URL: http://codereview.chromium.org/651054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39508 0039d316-1c4b-4281-b951-d872f2087c98
* Unit test for auth realms changing during requests.cbentzel@chromium.org2010-02-191-0/+142
| | | | | | | | | | | | | | | | | | | A series of exchanges such as C: GET / HTTP/1.1 S: 401, WWW-Authenticate: Basic realm=foo C: GET / HTTP/1.1, Authenticate: Basic <token> S: 401, WWWW-Authenticate: Basic realm=bar Should be treated as a rejection for the credentials presented for the foo realm. BUG=None TEST=net_unittests.exe --gtest_filter="*ChangeAuthTest*" Review URL: http://codereview.chromium.org/647034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39449 0039d316-1c4b-4281-b951-d872f2087c98
* Pulled out Callback code into base/callback.h. This is the first step ↵akalin@chromium.org2010-02-193-0/+4
| | | | | | | | | | | | | towards redoing the Callback interfaces. Added and removed includes as needed. BUG=35223 TEST=trybots Review URL: http://codereview.chromium.org/646061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
* Added factories for HttpAuthHandler.cbentzel@chromium.org2010-02-1532-253/+718
| | | | | | | | | | | | | | | | | | | The driving rationale for this change was to prevent choosing an AuthHandler when it is not supported on the system due to a missing runtime component (such as not being able to locate a gssapi shared library when seeing a Negotiate scheme). It also has the advantage (currently unused) of determining some per-auth-scheme properties only the first time that a challenge for that scheme is seen (such as maximum token length for the SSPI implementation of NTLM). Finally, it may make unit tests easier to generate since the factory can be easily mocked. BUG=34795 TEST=New unit test for HttpAuthHandlerDispatchFactory. Review URL: http://codereview.chromium.org/582007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39065 0039d316-1c4b-4281-b951-d872f2087c98
* Fix LOAD_IGNORE_CERT_* on Macukai@chromium.org2010-02-151-21/+23
| | | | | | | | | | | | | | SSLClientSocketMac reports certificate error before SSL handshake is completed, so just returning OK for LOAD_IGNORE_CERT_* won't work (completed_handshake_ is false yet, so we can't Read()/Write() on the socket). Add the cert in allowed_bad_certs, and reconnect again. BUG=35108 TEST=none Review URL: http://codereview.chromium.org/593013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39037 0039d316-1c4b-4281-b951-d872f2087c98
* More checks to try to find bug 27870.vandebo@google.com2010-02-122-1/+9
| | | | | | | | | BUG=27870 TEST=none Review URL: http://codereview.chromium.org/604022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38857 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Remove the explicit transaction callback and let thervargas@google.com2010-02-113-53/+54
| | | | | | | | | | | cache grab it when needed. BUG=26729 TEST=none. Review URL: http://codereview.chromium.org/594041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38848 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Eliminate EntryAvailable() and make the cache uservargas@google.com2010-02-113-28/+33
| | | | | | | | | | | | | callbacks to notify the transaction about the completion of AddTransactionToEntry. BUG=26729 TEST=current tests. Review URL: http://codereview.chromium.org/593058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38808 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Add a load log to the DoomEntry operation.rvargas@google.com2010-02-112-4/+22
| | | | | | | | | | BUG=26729 TEST=unittest Review URL: http://codereview.chromium.org/603011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38713 0039d316-1c4b-4281-b951-d872f2087c98