summaryrefslogtreecommitdiffstats
path: root/net
Commit message (Collapse)AuthorAgeFilesLines
* Document when the Delegate methods OnCertificateRequested andwtc@chromium.org2009-06-261-1/+9
| | | | | | | | | | | | | | OnSSLCertificateError are called for a request. Document that the string passed to SetExtraRequestHeaders should not end in \r\n. R=rvargas BUG=none TEST=none Review URL: http://codereview.chromium.org/149095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19420 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring using_proxy_, using_tunnel_, using_socks_proxy_ into a single ↵arindam@chromium.org2009-06-264-23/+145
| | | | | | | | | | | | | | enum ProxyConfig in HttpNetworkTransaction. Fixing http://crbug.com/14982 In case of SOCKS proxies we set the url to append to the group name so that the socks endpoint is at the target server and not the socks proxy server and so can be effectively reused by the socket pool. BUG=14982 TEST=unittests Review URL: http://codereview.chromium.org/146026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19404 0039d316-1c4b-4281-b951-d872f2087c98
* Add DCHECKs to the states that should be entered only when thewtc@chromium.org2009-06-261-0/+7
| | | | | | | | | | | previous state succeeded. R=ibrar,phajdan.jr BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/149013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19394 0039d316-1c4b-4281-b951-d872f2087c98
* Sparse IO implementation for memory-only cachehclam@chromium.org2009-06-265-73/+438
| | | | | | | | | | | | | | Implemented the following methods: MemEntryImpl::ReadSparseData MemEntryImpl::WriteSparseData MemEntryImpl::GetAvailableRange TEST=DiskCacheEntryTest.Memory* original CL: http://codereview.chromium.org/140049 Review URL: http://codereview.chromium.org/147217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19380 0039d316-1c4b-4281-b951-d872f2087c98
* revert socks_client_socket.cc from r19005arindam@chromium.org2009-06-261-45/+47
| | | | | | | | | | | TEST=none BUG=none TBR=eroman Review URL: http://codereview.chromium.org/149077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19358 0039d316-1c4b-4281-b951-d872f2087c98
* reverting the change 19354, 19356arindam@chromium.org2009-06-265-387/+96
| | | | | | | | | | | TEST=none BUG=none TBR=eroman Review URL: http://codereview.chromium.org/149076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19357 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing compilation warnings for r19354arindam@chromium.org2009-06-262-3/+3
| | | | | | | | | | | TEST=none BUG=none TBR=eroman Review URL: http://codereview.chromium.org/149074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19356 0039d316-1c4b-4281-b951-d872f2087c98
* Tests for socks4/4a implementation.arindam@chromium.org2009-06-266-145/+434
| | | | | | | | | | | | Refactoring of void BuildHandshakeWriteBuffer() to const std::string BuildHandshakeWriteBuffer() const, and removing private members handshake_buf_len_ and buffer_len_ (since buffer_ is now std::string, buffer_.size()) is more than sufficient. TEST=unittests BUG=none Review URL: http://codereview.chromium.org/139009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19354 0039d316-1c4b-4281-b951-d872f2087c98
* Reset internal ClientSocketHandle state on Init() synchronous error (failure ↵willchan@chromium.org2009-06-265-12/+31
| | | | | | | | | | | to do so could lead to a crash). Also delete a CHECK that was asserting on possibly deleted memory. BUG=http://crbug.com/15207 TEST=See bug for repro. Review URL: http://codereview.chromium.org/147155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19343 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Implementation for memory only sparse caching" r19270.scherkus@chromium.org2009-06-255-438/+73
| | | | | | | | | | | TBR=rvargas TEST=none BUG=none Review URL: http://codereview.chromium.org/149041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19308 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash in net::SSLClientSocketWin::OnIOComplete(int) whenwtc@chromium.org2009-06-256-14/+34
| | | | | | | | | | | | | | | | | | | | | an HttpNetworkTransaction is destroyed while its SSLClientSocket is verifying a certificate. Document that ClientSocket::Disconnect aborts any pending IO and prevents completion callback from running, like a cancel method. Change the verifier_ member of SSLClientSocket to a scoped_ptr so that we can destroy the CertVerifier object in the Disconnect method. (CertVerifier doesn't have a cancel method, so we cancel pending certificate verification by destroying the CertVerifier object.) R=willchan BUG=http://crbug.com/13981 TEST=none. I can only reproduce this crash by modifying the source code to create that condition. Review URL: http://codereview.chromium.org/147159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19307 0039d316-1c4b-4281-b951-d872f2087c98
* Add some checks to make sure header_buf_body_offset_ is never used when ↵ericroman@google.com2009-06-252-6/+10
| | | | | | | | | negative. BUG=b/1483703 Review URL: http://codereview.chromium.org/132051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19284 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation for memory only sparse cachinghclam@chromium.org2009-06-255-73/+438
| | | | | | | | | | | | Implemented the following methods for memory only cache: ReadSparseData WriteSparseData GetAvailableRange BUG=12258 Review URL: http://codereview.chromium.org/140049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19270 0039d316-1c4b-4281-b951-d872f2087c98
* [Second attempt]wtc@chromium.org2009-06-251-2/+2
| | | | | | | | | | | | | | Use the new portable FTP implementation on non-Windows platforms. Note: the new FTP is still work in progress. Original review URL: http://codereview.chromium.org/119342 R=dank BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/146044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19258 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Split some time histograms in groups basedrvargas@google.com2009-06-255-35/+75
| | | | | | | | | | | on the cache size. BUG=10727 TEST=none Review URL: http://codereview.chromium.org/146129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19256 0039d316-1c4b-4281-b951-d872f2087c98
* If we get a connect error in DoCtrlConnectComplete, do not advance towtc@chromium.org2009-06-251-1/+2
| | | | | | | | | | | the STATE_CTRL_READ state. R=ibrar,phajdan.jr BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/146065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19253 0039d316-1c4b-4281-b951-d872f2087c98
* Make more things possible with mock sockets:phajdan.jr@chromium.org2009-06-252-25/+41
| | | | | | | | | | | | - check connection state in mock read and write - make possible simulating short reads in DynamicMockSocket TEST=none http://crbug.com/15259 Review URL: http://codereview.chromium.org/147117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19222 0039d316-1c4b-4281-b951-d872f2087c98
* Return potentially more specific error code in FtpNetworkTransaction.phajdan.jr@chromium.org2009-06-241-2/+2
| | | | | | Review URL: http://codereview.chromium.org/147111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19180 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent infinite loop in new FtpNetworkTransaction.phajdan.jr@chromium.org2009-06-241-1/+4
| | | | | | | | | | It tried to send a QUIT command when sending QUIT command failed. BUG=none TEST=none Review URL: http://codereview.chromium.org/146103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19177 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Add more clients to the current experiment.rvargas@google.com2009-06-241-5/+21
| | | | | | | | | | | | | For some reason, I have less than 1% of clients taking part of the eviction algorithm experiment, so I'm adding clients again. BUG=none TEST=none Review URL: http://codereview.chromium.org/147066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19175 0039d316-1c4b-4281-b951-d872f2087c98
* Start to disable bzip2 support. First step: Stop advertising support.jar@chromium.org2009-06-242-9/+12
| | | | | | | | | | | | | | | | | | | Although it would be nice to just yank it all, it is good to do so slowly so that any cached data that might required bzip2 decoding will still decode and render. Maybe I'm being paranoid... but this seems like a nice first small step. I also disabled the tests that depend on this modified code, and linted the unittest file a bit. BUG=14801 TEST= Be sure you can still view http://ukcp09.defra.gov.uk/content/view/16/6/index.html which is (currently) bzip encoded. r=hunar Review URL: http://codereview.chromium.org/147058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19173 0039d316-1c4b-4281-b951-d872f2087c98
* svn cp net/socket/tcp_client_socket_pool_unittest.cc ↵willchan@chromium.org2009-06-241-0/+621
| | | | | | | | | | net/socket/client_socket_pool_base_unittest.cc In preparation for moving tests from tcp_client_socket_pool_unittest.cc to client_socket_pool_base_unittest.cc. Review URL: http://codereview.chromium.org/147101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19163 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Add support for ranges with an unknown start or end.rvargas@google.com2009-06-244-23/+112
| | | | | | | | | BUG=12258 TEST=unittest Review URL: http://codereview.chromium.org/147042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19142 0039d316-1c4b-4281-b951-d872f2087c98
* Merge WebKit r42737, which added port 3659wtc@chromium.org2009-06-241-6/+8
| | | | | | | | | | | | | | (apple-sasl / PasswordServer) to the list of blocked ports and to LayoutTests/security/block-test.html. Fix cpplint.py nits. R=eroman BUG=http://crbug.com/10861 TEST=LayoutTests/security/block-test.html should pass on Windows Review URL: http://codereview.chromium.org/147069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19136 0039d316-1c4b-4281-b951-d872f2087c98
* Break out classes from tcp_client_socket_pool.h into their own files.willchan@chromium.org2009-06-245-590/+650
| | | | | | | | | | This is just shuffling code around to new files and adjusting header dependencies accordingly. BUG=http://crbug.com/13289 TEST=none Review URL: http://codereview.chromium.org/132060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19123 0039d316-1c4b-4281-b951-d872f2087c98
* Original patch by pmarks@google.com (see http://codereview.chromium.org/113944)ericroman@google.com2009-06-235-49/+47
| | | | | | | | | | | | | | | | | | | | | | | - Pull in googleurl r107, which includes the new CanonicalizeHostVerbose() function: http://code.google.com/p/google-url/source/detail?r=107 - Atomically update Chromium to make use of this new function. This allows us to extract better information about IP addresses using fewer, and cleaner, calls to googleurl. - Also, change a call to CanonicalizeIPAddress() to stay compatible with r107. The upshot of all this is, Chrome will no longer try to connect to IPv4 addresses with overflow "http://192.168.0.257", or hostnames surrounded by square brackets "http://[google.com]" BUG=none TEST={unit_tests,googleurl_unittests,net_unittests} Review URL: http://codereview.chromium.org/146053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19076 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Fix a dumb warning about a variable not being initialized.rvargas@google.com2009-06-231-1/+1
| | | | | | | | | TBR=nsylvain BUG=none Review URL: http://codereview.chromium.org/146054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19071 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Implement GetAvailableRange for the regular disk cache.rvargas@google.com2009-06-233-17/+136
| | | | | | | | | | | This is required to enable sparse caching. BUG=12258 TEST=unittest Review URL: http://codereview.chromium.org/146005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19069 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash in ClientSocketPoolBase.willchan@chromium.org2009-06-233-48/+62
| | | | | | | | | | If a ConnectingSocket fails, we need to try to process a pending request. BUG=http://crbug.com/14814 TEST=See bug for repro steps. Review URL: http://codereview.chromium.org/146037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19067 0039d316-1c4b-4281-b951-d872f2087c98
* Following the style guide, replace the overloaded operator==wtc@chromium.org2009-06-232-2/+2
| | | | | | | | | | | with the Equals method. R=eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/146040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19056 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the previous checkin r19037 because it causes test_shell towtc@chromium.org2009-06-231-2/+2
| | | | | | | | | | | crash when running LayoutTests/security/block-test.html. TBR=jshin BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/147036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19042 0039d316-1c4b-4281-b951-d872f2087c98
* Use the new portable FTP implementation on non-Windows platforms.wtc@chromium.org2009-06-231-2/+2
| | | | | | | | | | | Note: the new FTP is still work in progress. R=dank BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/119342 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19037 0039d316-1c4b-4281-b951-d872f2087c98
* Privacy Blacklist SketelonAdded code hooks to serve as place holders for the ↵idanan@chromium.org2009-06-232-3/+25
| | | | | | | | | | | implementationof the privacy blacklist. The --privacy-blacklist option was addedwhich will eventually is used to activate the code.This is work-in-progress code which effectively makes a couple morepointer-checks when the --privacy-blacklist is not specified. Whenit is specified, some of the blacklist code is executed but theblacklist is always empty and therefore has no impact on browsing. BUG=none TEST=Blacklist* Review URL: http://codereview.chromium.org/119313 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19033 0039d316-1c4b-4281-b951-d872f2087c98
* Define the == operator for X509Certificate::Fingerprint.wtc@chromium.org2009-06-232-3/+7
| | | | | | | | | R=eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/140034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19029 0039d316-1c4b-4281-b951-d872f2087c98
* Use LOAD_VERIFY_EV_CERT to verify EV-ness in Verify().ukai@chromium.org2009-06-2311-50/+94
| | | | | | | | | | | | | | | | | If LOAD_VERIFY_EV_CERT is requested on load_flags and revokation checking is performed, Verify() peforms EV certificate verification as well, and sets CERT_STATUS_IS_EV in verify_result. Eliminate X509Certificate::IsEV() BUG=3592 TEST=net_unittests with ALLOW_EXTERNAL_ACCESS=1, \ visit https://www.thawte.com/ and shows EV info. Review URL: http://codereview.chromium.org/125120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19011 0039d316-1c4b-4281-b951-d872f2087c98
* Add some other missing header files to net.gyp.ericroman@google.com2009-06-231-0/+14
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/144001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19006 0039d316-1c4b-4281-b951-d872f2087c98
* Adding socks4 support for chromium. tested for windows and linux.arindam@chromium.org2009-06-2310-10/+739
| | | | | | | | | | | | | | | includes socks4, socks4a TEST=change proxy settings to use proxy and set only the socks proxy fields (others must remain blank). Use CCProxy for windows or 'ssh -D' for linux / cygwin if trying it via localhost. Browser should successfully open both http and https URLs. tests are also at HttpNetworkTransactionTest.SOCKS* BUG=none Review URL: http://codereview.chromium.org/113811 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19005 0039d316-1c4b-4281-b951-d872f2087c98
* Move socket related files from net/base to net/socket.willchan@chromium.org2009-06-2245-147/+150
| | | | | | Review URL: http://codereview.chromium.org/144009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18985 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Return valid Content-Range headers for a byte range request.rvargas@google.com2009-06-227-20/+312
| | | | | | | | | BUG=12258 TEST=unittests Review URL: http://codereview.chromium.org/140015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18961 0039d316-1c4b-4281-b951-d872f2087c98
* Handle proxy corruption including nesting of compressino algorithmsjar@chromium.org2009-06-226-80/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vodaphone (UK) Mobile Broadband appears to be providing an extra level of gzip compression, at the same time as it discards the content encoding "sdch,gzip" and replaces it with "gzip." The previous approach for handling a missing "sdch" content encoding statement from a server that *probably* was trying to send encoded content, was to replace the (probably) garbage content encoding with tentative decodings for both gzip and sdch. That approach was not sufficient for the resulting double-gzip encoding that Vodaphone provided :-(. This fix leaves the existing content encodings (such as Vodaphone's solo "gzip"), and adds the tentative decodings (gzip plus sdch). Hence we translate received content encodings (when we know we requested an SDCH response by including an applicable dictionary) as follows: "sdch,gzip" unchanged. This is perfect. "" ==> "Tent_sdch, Tent_gzip" "gzip" ==> "Tent_sdch, Test_gzip, gzip" Note that the TENTATIVE_gzip is a sniffing gzip, that can turn into an identity (no-op) filter if it can't find a gzip header. By continuing to use a tentative SDCH, it is possible for the SDCH filter to make error recovery decision, and to record stats on this case. In addition, I've changed the error recovery approach in the SDCH filter to be ultra conservative. If there is ANY unrecoverable error in a response to an SDCH request, then we will blacklist the host of the URL. Recoverable errors are where the SDCH is fully functional, and decodes its data using the dictionary. The test cases added focus on the double gzip cases, as observed in Vodaphone (UK) Mobile Broadband. BUG=13606 r=huanr Review URL: http://codereview.chromium.org/140037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18936 0039d316-1c4b-4281-b951-d872f2087c98
* Add "load_states.h" to net.gyp, since it was missing.ericroman@google.com2009-06-221-0/+1
| | | | | | | | | | BUG=none TEST=none TBR=wtc Review URL: http://codereview.chromium.org/141054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18932 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some unused files.ericroman@google.com2009-06-223-160/+0
| | | | | | | BUG=b/1483703 Review URL: http://codereview.chromium.org/132046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18929 0039d316-1c4b-4281-b951-d872f2087c98
* Don't put CredHandleClass in std::map directly becausewtc@chromium.org2009-06-201-7/+16
| | | | | | | | | | | | | std::map may copy an entry to a new address while resizing, which invokes the destructor on the old entry and invalidates its address. R=eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/141011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18879 0039d316-1c4b-4281-b951-d872f2087c98
* Implement the backend of SSL client authentication forwtc@chromium.org2009-06-194-34/+220
| | | | | | | | | | | | | | | | | Windows. Create Schannel SSPI CredHandles with certificates for SSL client authentication. Remember the client certificates that the user selected so that we don't ask the user again and again. R=rvargas,eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/131086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18841 0039d316-1c4b-4281-b951-d872f2087c98
* Comments added to SSL unit tests.jrg@chromium.org2009-06-192-0/+35
| | | | | | Review URL: http://codereview.chromium.org/132081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18835 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Fallback to SSL if server closes early during TLS handshake.willchan@chromium.org2009-06-191-1/+8
| | | | | | | | | BUG=http://crbug.com/14092 TEST=See bug for example TLS-intolerant server. Review URL: http://codereview.chromium.org/131085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18830 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problem with how HttpResponseHeaders::Update() copies headers -- it ↵ericroman@google.com2009-06-192-2/+15
| | | | | | | | | | | assumed the value range ended in a '\0'. BUG=14220 TEST=HttpResponseHeadersTest.Update Review URL: http://codereview.chromium.org/132042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18774 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: First pass to add support for sparse entries.rvargas@google.com2009-06-1814-14/+1603
| | | | | | | | | | | | | Adding Read/Write support. BUG=12258 TEST=unittests. original review: http://codereview.chromium.org/126179 Review URL: http://codereview.chromium.org/132031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18772 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor so checking for number error is done by ParseChunkSize() rather ↵ericroman@google.com2009-06-182-6/+12
| | | | | | | | than the caller of ParseChunkSize(). Review URL: http://codereview.chromium.org/132037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18768 0039d316-1c4b-4281-b951-d872f2087c98
* Add a simple cache of certificates for SSL client authentication.wtc@chromium.org2009-06-186-2/+167
| | | | | | | | | | | | | It is based on FtpAuthCache and will be used in similar ways. The the only difference is that the authentication data is a certificate rather than username and password. R=eroman BUG=http://crbug.com/318 TEST=new unit tests. Review URL: http://codereview.chromium.org/132004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18735 0039d316-1c4b-4281-b951-d872f2087c98