summaryrefslogtreecommitdiffstats
path: root/net/socket
Commit message (Collapse)AuthorAgeFilesLines
* Add the ssl_client_socket_nss_factory.h header and declarewtc@chromium.org2010-02-093-7/+20
| | | | | | | | | | | | | | | | | the SSLClientSocketNSSFactory function there. Put the --use-nss-for-ssl command-line switch inside ifdefs for the platforms that need it. Call EnsureNSPRInit on the main thread so that PR_Cleanup will be called on the main thread. R=mark BUG=28744 TEST=No build errors. Review URL: http://codereview.chromium.org/573041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38515 0039d316-1c4b-4281-b951-d872f2087c98
* Add bounds checking to StaticSocketDataProvider, to make tests more reliablephajdan.jr@chromium.org2010-02-094-43/+77
| | | | | | | | | | | when they fail. TEST=net_unittests BUG=27567 Review URL: http://codereview.chromium.org/582020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38453 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ClientSocketPoolBaseHelper to maintain order properly.willchan@chromium.org2010-02-083-64/+113
| | | | | | | | | It used to be the case that when a disconnected socket is released, it would pop the front of the queue, and since it was a disconnected socket, would kick off another ConnectJob and then append the request to the back to the queue. While doing this, I cleaned up the TYPE_SOCKET_WAITING_IN_QUEUE since it doesn't make sense. You're always waiting in a queue, unless the request gets fulfilled immediately. I've added strings to the LoadLog to distinguish this situation and also identify when the socket has been reused. Review URL: http://codereview.chromium.org/583002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38408 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the HostResolver::Shutdown() method.eroman@chromium.org2010-02-051-1/+0
| | | | | | | | | | | While this doesn't entirely remove the hack, it limits the scope of it to HostResolverImpl. Hopefully in the future HostResolver will not be refcounted so this can go away altogether. BUG=18373 Review URL: http://codereview.chromium.org/569035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38243 0039d316-1c4b-4281-b951-d872f2087c98
* Add specific error codes for when SOCKS connect fails.eroman@chromium.org2010-02-054-21/+28
| | | | | | | | | | | | | This also fixes HttpNetworkTransaction to fallback to the next proxy after a failure is encountered using a SOCKS proxy server. Note that I decided against using finer granularity error codes, since it just adds a higher maintenance cost to ReconsiderProxyAfterError(). Power users can get better information on the cause of the failure by looking at the LoadLog anyway. BUG=34386 Review URL: http://codereview.chromium.org/567030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38170 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the NetworkChangeNotifier to HostResolver.willchan@chromium.org2010-02-049-15/+17
| | | | | | | | | | | | | | | This requires the following refactors: (1) NetworkChangeNotifier moves out of HttpNetworkSession into IOThread. (2) HostResolver gets initialized with NetworkChangeNotifier. (3) NetworkChangeNotifier needs to get passed into HttpCache and HttpNetworkSession (required updating a lot of files). (4) NetworkChangeNotifier is no longer reference counted. It is owned by IOThread. (5) IOThread gains a new struct: Globals. It can only be used on the io thread. (6) ChromeURLRequestContextFactory uses IOThread::Globals to initialize ChromeURLRequest objects with the host resolver and network change notifier. BUG=26159 Review URL: http://codereview.chromium.org/552117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38052 0039d316-1c4b-4281-b951-d872f2087c98
* Socket late binding bugfix.willchan@chromium.org2010-02-032-0/+72
| | | | | | | | | I added code in r36144 so that we wouldn't create extra ConnectJobs if we were still releasing sockets. This code did not handle the case where we had multiple disconnected releasing sockets. I've added a test and code to cover this case now. BUG=34123 Review URL: http://codereview.chromium.org/557089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37984 0039d316-1c4b-4281-b951-d872f2087c98
* Use NSS instead of the system SSL library for SSL ifwtc@chromium.org2010-02-033-10/+69
| | | | | | | | | | | | | the --use-nss-for-ssl or --use-flip command-line switch is specified. R=mark,mbelshe BUG=28744 TEST=Run chrome.exe with and without --use-nss-for-ssl. SSL should work in both cases. Review URL: http://codereview.chromium.org/555186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37931 0039d316-1c4b-4281-b951-d872f2087c98
* Add fine grain tracing to HostResolverImpl.eroman@chromium.org2010-02-021-1/+0
| | | | | | | | | | | | | This will help in diagnosing the "slow resolving host" bugs. Users can now click an "Enable tracing" button on "chrome://net-internals/hostresolver". This logs detailed information on the DNS requests flowing through the browser (when they were received, when they were posted to the thread pool, when they started running on the worker thread, etc...). BUG=12754 Review URL: http://codereview.chromium.org/556094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37776 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup the unittest helpers in load_log_unittest.h.eroman@chromium.org2010-01-295-133/+112
| | | | | | | | | | | Consolidates all the callers to using the testing::AssertionResult() flavor, and renames them to have "Event" in the name. This rename is in anticipation of adding testers for other entry types. BUG=NONE TEST=existing Review URL: http://codereview.chromium.org/551135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37501 0039d316-1c4b-4281-b951-d872f2087c98
* BSD port: USE_NSS and other macros instead of OS_LINUX where applicablepvalchev@google.com2010-01-292-3/+4
| | | | | | Review URL: http://codereview.chromium.org/556068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37492 0039d316-1c4b-4281-b951-d872f2087c98
* Use the USE_NSS macro to help porting to FreeBSD, OpenBSD, etc.wtc@chromium.org2010-01-281-1/+1
| | | | | | | | | | | A follow-up to http://codereview.chromium.org/558008. R=evan,pvalchev BUG=none TEST=No compilation errors. Review URL: http://codereview.chromium.org/558013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37430 0039d316-1c4b-4281-b951-d872f2087c98
* Port SSLClientSocketNSS to Windows. The next step is towtc@chromium.org2010-01-282-12/+84
| | | | | | | | | | | | | | | actually use it (controlled by a boolean flag in SSLConfig, which is controlled by a command-line switch). On Windows we still use CryptoAPI to verify and display certificates. SSL client authentication isn't supported yet. R=agl,mark BUG=28744 TEST=No build errors. Review URL: http://codereview.chromium.org/557027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37427 0039d316-1c4b-4281-b951-d872f2087c98
* Use the USE_NSS macro to help porting to FreeBSD, OpenBSD, etc.wtc@chromium.org2010-01-281-8/+8
| | | | | | | | | | | Fix cpplint nits. R=evan,pvalchev BUG=none TEST=No compilation errors. Review URL: http://codereview.chromium.org/558008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37358 0039d316-1c4b-4281-b951-d872f2087c98
* Switch on socket late binding - Take 2.willchan@chromium.org2010-01-276-685/+72
| | | | | | | | | | | | | | | Re-enable socket late binding. The mac valgrind errors happened due to threading bugs in test_shell_tests. The ui thread would TearDown() the test object, which deleted the TestURLRequestContext, which eventually deletes the TCPClientSocketPool, which deletes its ConnectJobs. However, those ConnectJobs might be running simultaneously on the io thread. Therefore, we have a race condition. This change fixes that. Histograms for the 4.0.266.0 dev channel release indicate the following changes for late binding: (a) Net.TCPSocketType shows a decrease (from 41.85% to 39.29%) in used of newly connected sockets. Part of this decrease is due to using previously used sockets more often (increase from 58.15% to 58.53%), but is primarily due to being able to use sockets that were connected, but not immediately handed over to a socket request (increased from 0 [not supported without late binding] to 2.18%). (b) Net.SocketIdleTimeBeforeNextUse_ReusedSocket indicates that reused sockets are getting used more quickly than before, with a decrease of mean idle time from 11.65 seconds to 11.34 seconds. (c) Net.Transaction_Connected_Under_10 indicates shows that the mean for time until the first byte of the transaction response decreased from 1585ms to 1481ms. The code change deletes the old non socket late binding code paths, cleaning up the code significantly. It also deletes duplicated tests in ClientSocketPoolBase which covered both pathways. A TCPClientSocketPool test had to be updated as well. BUG=http://crbug.com/30354. Review URL: http://codereview.chromium.org/549093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37311 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor EnsureNSSInit. Move the NSS SSL librarywtc@chromium.org2010-01-271-3/+59
| | | | | | | | | | | | | | | initialization to SSLClientSocketNSS in src/net so that src/base does not depend on the NSS SSL library. Call PL_ArenaFinish in the NSPRInitSingleton destructor instead of the NSSInitSingleton destructor because PLArena is part of NSPR. R=agl,ukai BUG=28744 TEST=covered by existing tests. Review URL: http://codereview.chromium.org/554096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37223 0039d316-1c4b-4281-b951-d872f2087c98
* Add some extra request information to LoadLog:eroman@chromium.org2010-01-211-0/+10
| | | | | | | | | | | | | | * the error code that URLRequest Start() failed with. * which peer the TCP connection is being made to [Only in full logging mode] (for example, when using a proxy, this may differ from the host:port of the URL). * the type of redirect that was received, and its URL [Only in full logging mode] BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/553043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36813 0039d316-1c4b-4281-b951-d872f2087c98
* Linux, Mac: disable Nagle.agl@chromium.org2010-01-201-6/+24
| | | | | | | | | | | This is split off from http://codereview.chromium.org/518065 (see that CL for the review). TBR=wtc http://codereview.chromium.org/548087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36639 0039d316-1c4b-4281-b951-d872f2087c98
* Turn GetPeerName into a pure virtual and provide local impls, this way any ↵thomasvl@chromium.org2010-01-2012-29/+26
| | | | | | | | | | future bugs like the one referenced are compile time and not runtime so they won't wide waiting to be found. BUG=32595 TEST=everything builds and tests pass Review URL: http://codereview.chromium.org/552048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36629 0039d316-1c4b-4281-b951-d872f2087c98
* Re-revert 36595 (restoring 36548); that didn't fix anything.dpranke@chromium.org2010-01-202-4/+0
| | | | | | | | | | BUG=none TEST=none TBR=thomasvl@chromium.org Review URL: http://codereview.chromium.org/548082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36599 0039d316-1c4b-4281-b951-d872f2087c98
* Try reverting r36548 to see if this causes the webkit linux failures todpranke@chromium.org2010-01-202-0/+4
| | | | | | | | | | | | improve. BUG=none TBR=thomasvl@chromium.org TEST=none Review URL: http://codereview.chromium.org/551076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36595 0039d316-1c4b-4281-b951-d872f2087c98
* Enabled the GetPeerName on all platforms, not just Linux.thomasvl@chromium.org2010-01-192-4/+0
| | | | | | | | BUG=32595 TEST=using a SOCKS5 proxy and a debug build, you don't blow out in a NOTREACHED() any more Review URL: http://codereview.chromium.org/551069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36548 0039d316-1c4b-4281-b951-d872f2087c98
* Enable SSL 2.0 cipher suites. Although SSL 2.0 is disabled by default,wtc@chromium.org2010-01-151-1/+3
| | | | | | | | | | | the SSL 2.0 cipher suites must be available if SSL 2.0 is enabled. R=mark BUG=30682 TEST=none Review URL: http://codereview.chromium.org/552014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36428 0039d316-1c4b-4281-b951-d872f2087c98
* Add a context-sensitive error mapping function specific to SSLwtc@chromium.org2010-01-151-32/+24
| | | | | | | | | | | | | | handshake errors. It should never return a certificate error because we don't have the server's certificate when handshake fails. R=agl BUG=24064 TEST=Visit the test URL in issue 24064 comment 8 on Linux. Chromium should not crash. Review URL: http://codereview.chromium.org/550026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36426 0039d316-1c4b-4281-b951-d872f2087c98
* Support the ECC cipher suites added in Mac OS X 10.6.wtc@chromium.org2010-01-151-1/+171
| | | | | | | | | | | | | | Disable weak cipher suites (< 80 bits of security), anonymous cipher suites, and FORTEZZA and IDEA cipher suites. R=mark BUG=30682,30160,31995 TEST=Visit https://sa.www4.irs.gov/modiein/individual/index.jsp. We should be able to load the page rather than getting the ERR_UNEXPECTED error. Review URL: http://codereview.chromium.org/545036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36373 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add Certificate Info dialog (part 1)mattm@chromium.org2010-01-142-2/+2
| | | | | | | | | | | Rename base/nss_init.{h,cc} to base/nss_util.{h,cc}, move PRTimeToBaseTime there. BUG=18119 TEST=Load https://www.google.com, compare to firefox cert dialog. Review URL: http://codereview.chromium.org/500141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36291 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36230 - Switch on socket late binding.willchan@chromium.org2010-01-146-70/+668
| | | | | | | | | | | | | | | | | Broke mac valgrind for test_shell_tests. Various errors. I also missed fixing a bug that eroman pointed out in review. Total brainfart. Histograms for the 4.0.266.0 dev channel release indicate the following changes for late binding: (a) Net.TCPSocketType shows a decrease (from 41.85% to 39.29%) in used of newly connected sockets. Part of this decrease is due to using previously used sockets more often (increase from 58.15% to 58.53%), but is primarily due to being able to use sockets that were connected, but not immediately handed over to a socket request (increased from 0 [not supported without late binding] to 2.18%). (b) Net.SocketIdleTimeBeforeNextUse_ReusedSocket indicates that reused sockets are getting used more quickly than before, with a decrease of mean idle time from 11.65 seconds to 11.34 seconds. (c) Net.Transaction_Connected_Under_10 indicates shows that the mean for time until the first byte of the transaction response decreased from 1585ms to 1481ms. The code change deletes the old non socket late binding code paths, cleaning up the code significantly. It also deletes duplicated tests in ClientSocketPoolBase which covered both pathways. A TCPClientSocketPool test had to be updated as well. BUG=http://crbug.com/30354. Review URL: http://codereview.chromium.org/543051 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/549047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36231 0039d316-1c4b-4281-b951-d872f2087c98
* Switch on socket late binding.willchan@chromium.org2010-01-146-668/+70
| | | | | | | | | | | | | Histograms for the 4.0.266.0 dev channel release indicate the following changes for late binding: (a) Net.TCPSocketType shows a decrease (from 41.85% to 39.29%) in used of newly connected sockets. Part of this decrease is due to using previously used sockets more often (increase from 58.15% to 58.53%), but is primarily due to being able to use sockets that were connected, but not immediately handed over to a socket request (increased from 0 [not supported without late binding] to 2.18%). (b) Net.SocketIdleTimeBeforeNextUse_ReusedSocket indicates that reused sockets are getting used more quickly than before, with a decrease of mean idle time from 11.65 seconds to 11.34 seconds. (c) Net.Transaction_Connected_Under_10 indicates shows that the mean for time until the first byte of the transaction response decreased from 1585ms to 1481ms. The code change deletes the old non socket late binding code paths, cleaning up the code significantly. It also deletes duplicated tests in ClientSocketPoolBase which covered both pathways. A TCPClientSocketPool test had to be updated as well. BUG=http://crbug.com/30354. Review URL: http://codereview.chromium.org/543051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36230 0039d316-1c4b-4281-b951-d872f2087c98
* Slightly tweak socket late binding behavior to make it more deterministic ↵willchan@chromium.org2010-01-133-9/+43
| | | | | | | | | | | | which is useful for tests. When a socket has been released to ClientSocketPoolBase, it is not immediately released, but a DoReleaseSocket() task gets posted to the MessageLoop. In many of our tests, what can happen is right after ClientSocketHandle::Reset() gets called, which posts the aforementioned release task, another ClientSocketHandle requests a socket, which starts up a ConnectJob that will completely asynchronously, but AFTER the release task happens. Note that if the released socket is no longer connected, then when DoReleaseSocket() completes, it will try to process a pending request, thereby initiating an extra ConnectJob. So, even though ClientSocketHandle::Init() may only have been called twice, we can see 3 ConnectJobs, which is weird. It's mostly harmless since this race condition probably doesn't happen much in real use, and the only side effect is an extra ConnectJob which might even be faster, but this behavior introduces difficult to control behavior in tests. The solution taken here is to keep track of the number of pending released sockets for a ClientSocketPool group. If there are any pending released sockets, then don't start up a new ConnectJob yet, wait for the sockets to get released. This can introduce some delays for starting up ConnectJobs, but the delay should be very small (one MessageLoop iteration through the IO thread should not take long) and it only happens in the edge case where a new ClientSocketPool request comes in for the same group where a DoReleaseSocket() task has been posted. In these cases, we may also prevent unnecessary ConnectJobs from getting started up, especially if the socket is released and able to be reused. Existing unit tests (ClientSocketPoolBaseTest_LateBinding_RequestPendingJob*) cover this change in behavior. Review URL: http://codereview.chromium.org/550024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36144 0039d316-1c4b-4281-b951-d872f2087c98
* NSS: disable DEFLATE compression if TLS is disabled.agl@chromium.org2010-01-081-1/+5
| | | | | | | | | BUG=31628 TEST=Goto https://www.txn.banking.pcfinancial.ca/a/authentication/preSignOn.ams?referid=loginBox_banking_go - you should not see an SSL error. http://codereview.chromium.org/518074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35827 0039d316-1c4b-4281-b951-d872f2087c98
* Cancel any outstanding host resolve when calling ↵eroman@chromium.org2010-01-073-8/+101
| | | | | | | | | | | SOCKSClientSocket::Disconnect(). BUG=25440 TEST=SOCKSClientSocketTest.DisconnectWhileHostResolveInProgress Review URL: http://codereview.chromium.org/525084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35747 0039d316-1c4b-4281-b951-d872f2087c98
* Allow using system libevent instead of the bundled one.phajdan.jr@chromium.org2010-01-071-1/+4
| | | | | | | | | | | Patch by Bernard Cafarelli <voyageur@gentoo.org> TEST=none BUG=22140 Review URL: http://codereview.chromium.org/524061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35711 0039d316-1c4b-4281-b951-d872f2087c98
* Changed catch-all Mac SSL OSStatus error to paramErr.akalin@chromium.org2010-01-061-2/+9
| | | | | | | | | | | | | Added net::ERR_UNEXPECTED <=> errSSLInternal mapping. Added net::ERR_INVALID_ARGUMENT => paramErr mapping. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/515049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35650 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: allow TLS renegotiation.agl@chromium.org2010-01-061-0/+15
| | | | | | | | | | | | | | | Renegotiation was disabled when we switched to using our internal version of NSS. The default in the new versions is to prohibit renegotiation. However, since we are a client this is rather pointless. An attacker can easily convince us to start a new TLS connection to a host if they wish. http://codereview.chromium.org/501178 BUG=none TEST=Go to a site that uses renegotiation (generally because they want to request a client-side cert). git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35596 0039d316-1c4b-4281-b951-d872f2087c98
* Enhance a function comment per feedback from a code review.eroman@chromium.org2010-01-051-1/+2
| | | | | | | | TBR=wtc Review URL: http://codereview.chromium.org/521032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35565 0039d316-1c4b-4281-b951-d872f2087c98
* Fixup some connection time measurements.mbelshe@google.com2009-12-282-4/+16
| | | | | | | | | | | | | | | | - Net.TCP_Connection_Latency Time to connect only - Net.DNS_Resolution_And_TCP_Connection_Latency2 Time to do DNS and Connect - Net.HttpConnectionLatency Time for HTTP to connect (includes all delays, DNS, Queue, TCP, etc) BUG=none TEST=none Review URL: http://codereview.chromium.org/517014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35316 0039d316-1c4b-4281-b951-d872f2087c98
* Several fixes to the Net.ConnectionTypeCount histogram.mbelshe@google.com2009-12-243-10/+14
| | | | | | | | | | | | | | | | | | * Previously, the "CONNECTION_ANY" was incorrectly recorded. It was recording every Http *transaction*, not every Http connection. * The histogram was vague about whether it was tracking successful or unsuccessful connections. In fact, it was recording all SSL connections (fail or success), and yet only successful HTTP connections. Modified to only apply to successful connections. * Added a Net.ConnectionTypeFailCount histogram which counts the number of failed connections by type. BUG=none TEST=none Review URL: http://codereview.chromium.org/519002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35264 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: remove temporary check that the scons builders are working.agl@chromium.org2009-12-241-2/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35245 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix scons build so that libssl gets the right headers.agl@chromium.org2009-12-231-0/+2
| | | | | | http://codereview.chromium.org/515021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35243 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Linux: temp change to see if the builders are getting the wrong ↵agl@chromium.org2009-12-231-2/+0
| | | | | | headers." git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35240 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: temp change to see if the builders are getting the wrong headers.agl@chromium.org2009-12-231-0/+2
| | | | | | I'll be reverting this as soon as the builders pick it up. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35239 0039d316-1c4b-4281-b951-d872f2087c98
* Add LoadLogging to SOCKS5ClientSocket. Logs the state transitions, and more ↵eroman@chromium.org2009-12-221-7/+68
| | | | | | | | verbose information on errors. Review URL: http://codereview.chromium.org/503078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35128 0039d316-1c4b-4281-b951-d872f2087c98
* Detects network changes. Only for Mac OS X so far. Hooks up ↵willchan@chromium.org2009-12-216-23/+81
| | | | | | | | | | | TCPClientSocketPool to flush idle sockets on IP address change. BUG=http://crbug.com/26156 TEST=Run chrome with both network cable and wireless on. Go to www.google.com, twice. Verify second time via chrome://net-internals that the second request did not need a TCP_CONNECT_JOB, since we reused idle sockets. Unplug network cable. This should flush idle sockets. Go back to www.google.com. Check chrome://net-internals. Verify that there is a TCP_CONNECT_JOB for that request, because there was no idle socket to reuse. Review URL: http://codereview.chromium.org/460149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35107 0039d316-1c4b-4281-b951-d872f2087c98
* Extend LoadLog to support logging of arbitrary strings, and of network error ↵eroman@chromium.org2009-12-211-12/+12
| | | | | | | | | | | | | | codes. - The logging of error codes is intended to be used in passive mode. - The logging of string messages is intended to be used when in full-logging mode. - The logging of string literal messages is intended to be used in passive mode. BUG=27552 Review URL: http://codereview.chromium.org/503066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35103 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Enable SPDY via NPN.willchan@chromium.org2009-12-211-1/+0
| | | | | | | | | | Add a new flip option: "npn". --use-flip=npn to activate. Allows for negotiation of SPDY via SSL for https urls. Checks for the existence of existing SPDY sessions and reuses them where possible. Review URL: http://codereview.chromium.org/500088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35099 0039d316-1c4b-4281-b951-d872f2087c98
* Add two more unit tests for SOCKS5:eroman@chromium.org2009-12-182-22/+47
| | | | | | | | | | | | | * Check that connecting again after having disconnected works. * Check that trying to connect with a very large hostname fails. Also removes some unused code from socks_client_socket.cc. BUG=NONE Review URL: http://codereview.chromium.org/501112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35008 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SSL error code for unexpected errSSLClosedGraceful on Mackinuko@chromium.org2009-12-181-3/+4
| | | | | | | | | | | Fixing error code and style issues in http://codereview.chromium.org/500018 BUG=29711 TEST=ExtensionApiTest.CrossOriginXHR Review URL: http://codereview.chromium.org/503038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34934 0039d316-1c4b-4281-b951-d872f2087c98
* net: Make a few test server connection values constants. Also do a little ↵thestig@chromium.org2009-12-181-12/+13
| | | | | | | | | | FilePath cleanup while we're at it. BUG=none TEST=Net unittests do not time out on the fyi wine/valgrind test bot. Review URL: http://codereview.chromium.org/501100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34933 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove the support for IPv4 and IPv6 addressing types in the SOCKS5 ↵eroman@chromium.org2009-12-183-228/+68
| | | | | | | | | | | | | implementation. This is no longer used by chrome, and it is unlikely that embedders would want to use this. The default will just use the DOMAIN addressing type. BUG=29914 Review URL: http://codereview.chromium.org/507048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34928 0039d316-1c4b-4281-b951-d872f2087c98
* When talking to a SOCKS v5 proxy, default to sending addresses as raw ↵eroman@chromium.org2009-12-183-19/+89
| | | | | | | | | | | | | | | domains rather than IP addresses. Before, we would default to client-side DNS resolution (sending IP addresses to the proxy) for both v4 and v5. However if you are using a v5 server, it is most likely that you want to do the resolves on the proxy-side. And in fact if you are using a SOCKS 5 proxy to anonymize your browsing, you definitely don't want that as the default policy. Embedders of the network stack can select the alternate policy by passing a non-NULL Host resolver into SOCKS5ClientSocket. BUG=29914 TEST=HttpNetworkTransactionTest.SOCKS5_HTTP_GET, HttpNetworkTransactionTest.SOCKS5_SSL_GET Review URL: http://codereview.chromium.org/507033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34903 0039d316-1c4b-4281-b951-d872f2087c98