| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
be < 0.
CID=5378
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/242084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27671 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement a readsize throttle within the TCP socket.
Add a fieldgroup trial for testing it.
BUG=none
TEST=none
Original Review URL: http://codereview.chromium.org/173259
Review URL: http://codereview.chromium.org/243038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27595 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
to ASSERT_TRUE(... == NULL). Patch by Jacob Mandelson (see http://codereview.chromium.org/202057 ), r=me.
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27511 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=UI test and valgrind test pass
TBR=markus
Review URL: http://codereview.chromium.org/222031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27160 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we have to be careful to consistently round in the same direction.
Timeout checks usually check if Now() is less or equal to a deadline in order
to determine if a timeout has occurred. This correctly handles the case where
actual sleep times are equal or longer than requested sleep times.
But if we round down when setting the sleep delay, this can result in
unnecessary and expensive looping. Make sure, we always round up when converting
to a format with less precision.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/196053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27146 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/209027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27104 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the intermediate CA certificates we see, because NSS's connections to the
SQLite databases go bad if the file system where the databases reside is
gone, even just transiently.
Add the hostname to the error log message for CERT_PKIXVerifyCert failure.
R=eroman,ukai
BUG=15630
TEST=existing unit tests should pass.
Review URL: http://codereview.chromium.org/214028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26714 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
SSLClientSocketMac object has bee freed.
BUG=21832
TEST=none
Review URL: http://codereview.chromium.org/206007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this occurs, connect() should be retried with another address if possible and
appropriate.
On Mac OS X 10.6 ("Snow Leopard"), getaddrinfo() returns IPv6 addresses even
when inappropriate due to the use of AI_ADDRCONFIG. connect() fails
immediately when trying to connect to an IPv6 address from a system that only
has IPv4 connectivity. The existing net::TCPClientSocketLibevent is not
prepared to deal with immediate connect() failures, so it fails without
trying additional addresses. Some sites, such as python.org, publish both
IPv4 and IPv6 addresses. On Snow Leopard, name resolution always returns
the IPv6 addresses first, rendering such sites impossible to connect to unless
reachable by IPv6.
This change restores the previous behavior of setting AI_ADDRCONFIG when
calling getaddrinfo() on Mac OS X. AI_ADDRCONFIG was removed in a previous
attempt to fix this bug. AI_ADDRCONFIG is now documented in Snow Leopard.
The associated comment, written for Mac OS X 10.5 ("Leopard"), is no longer
correct. In most cases, the presence or absence of this flag seems to have no
impact on the system resolver's behavior, but I believe that its presence is
correct per the documentation. A separate bug will be filed with Apple.
BUG=12711
TEST=http://python.org/ on Snow Leopard should load on a machine where only
IPv4 is available; it (and all other sites) should continue to function
properly on Leopard
Review URL: http://codereview.chromium.org/196094
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26051 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
class.
Also add a few stats counters for TCP read/write stats.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/199048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25803 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a fieldgroup trial for testing it.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173259
TBR=mbelshe@google.com
Review URL: http://codereview.chromium.org/192027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25510 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=19049
TEST=https sites perform identically under Mac OS X <= 10.5.6 and Mac OS X >= 10.5.7 (in particular, https://test-ssev.verisign.com/ and the three pages linked from there)
Review URL: http://codereview.chromium.org/177014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25399 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This will be necessary for SSLClientSocketPool since the SSLConnectJob will contain a ClientSocketHandle for the TCPClientSocketPool. SSLConnectJob::GetLoadState() will forward to ClientSocketHandle::GetLoadState() if the SSLConnectJob is waiting on requesting a TCP socket.
BUG=http://crbug.com/13289.
Review URL: http://codereview.chromium.org/176024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This adds constructor arguments for socket idle timeouts. This allows me to control it for testing, and also makes it possible to run experiments on how long to enable it for.
Currently I've set the timeout for unused sockets to 10 seconds, since that will cover 90% of the TCP RSTs we're seeing. We can probably increase this, but I'm waiting on histogram data to decide what to change it to.
BUG=http://crbug.com/18192
Review URL: http://codereview.chromium.org/176021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24847 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=Covered by net_unittests.
http://crbug.com/20334
Review URL: http://codereview.chromium.org/180011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r24792.
TBR=estade
Review URL: http://codereview.chromium.org/179028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of these are classes with virtual methods lacking virtual destructors
or NULL used in non-pointer context.
BUG=none
TEST=app_unittests && base_unittests
--gtest_filter=-ConditionVariableTest.LargeFastTaskTest
patch by Jacob Mandelson <jlmjlm [at] gmail>
http://codereview.chromium.org/171028/show
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24792 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
certificate validation code. This gives us proper hostname matching, multiple error codes (e.g., before a certificate could be marked as expired or untrusted, but not both), revocation checking, and EV certificate checking.
BUG=19286,10910,14733
TEST=https://www.paypal.com should work without warning. https://paypal.com should get a warning about a hostname mismatch. https://test-ssev.verisign.com:1443/test-SSEV-expired-verisign.html should give a warning about an expired certificate.
Review URL: http://codereview.chromium.org/174102
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24625 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=Covered by net_unittests.
http://crbug.com/19855
Review URL: http://codereview.chromium.org/174428
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24492 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Add a field-group trial for testing it.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/173259
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24211 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This typo causes us to call GetServerCert at the wrong time. We found
that SSLCopyPeerCertificates may succeed (return noErr) but return a
nil CFArrayRef. So we check for that to avoid a crash.
Finally, errSSLIllegalParam means we received an SSL invalid_parameter
error alert message, rather than an invalid function argument. It
should be mapped to ERR_SSL_PROTOCOL_ERROR.
R=avi
BUG=http://crbug.com/19837
TEST=Visit https://stud.infostud.uniroma1.it:4445/Sest/Log/Corpo.html.
Chromium should not crash.
Review URL: http://codereview.chromium.org/173328
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24209 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
In particular, don't do it on ERR_CONNECTION_ABORT or ERR_CONNECTION_CLOSED.
Fix spelling error in ClientSocketHandle comment.
Review URL: http://codereview.chromium.org/173278
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24152 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
According to UMA data, late bound sockets that were idle are significantly more likely to get (reset/close/abort) errors. Currently, we don't resend on late bound sockets that were idle because they weren't reused. This changes that.
TODO: determine how long a socket has to be idle before it is likely to get a TCP RST if we try to reuse it.
Also document the ClientSocketHandle::ReuseSocketType values.
BUG=http://crbug.com/18192.
Review URL: http://codereview.chromium.org/174287
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24084 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
in an -O3 experiment.
Review URL: http://codereview.chromium.org/173125
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23861 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/14478
Review URL: http://codereview.chromium.org/174101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23855 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This fixes the shared build.
Review URL: http://codereview.chromium.org/173083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23814 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a REGISTER_SOCKET_PARAMS_FOR_POOL macro to register valid SocketParams for a ClientSocketPool subtype.
Update HttpNetworkSession's ClientSocketPool to return the concrete TCPClientSocketPool instead of the parent interface. Renamed the member variable&accessor.
Updated tests.
BUG=http://crbug.com/13289
Review URL: http://codereview.chromium.org/173018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23743 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
than the constructor. The purpose of this change is to allow ClientSocketHandle to be able to accept ClientSocketPools of different types, since we will want to pass a TCPClientSocketPool or an SSLClientSocketPool or whatever to it.
BUG=http://crbug.com/13289
Review URL: http://codereview.chromium.org/171003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23629 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
TCPClientSocketPool.
Tracks the number of each socket type returned by the TCPClientSocketPool.
Also tracks the number of recoverable IO errors (resets, aborts, closes) per socket type.
Also tracks the idle time of a socket before a recoverable IO happens.
Review URL: http://codereview.chromium.org/171048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23570 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On POSIX it makes the server fork a separate process for each request for better
test isolation.
Starting with just few tests to limit impact of an eventual breakage. The results are promising.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/164522
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23481 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is in preparation for creating an SSLClientSocketPool.
ClientSocketPoolBase is now templated. Most of the implementation has moved to ClientSocketPoolBaseHelper which is not templated.
In order to make this possible, ClientSocketPoolBaseHelper's internal data structures do not use the full concrete Request type, but rather use a pointer to Request.
ClientSocketPoolBase takes a SocketParams as a template argument, primarily to allow RequestSocket to take a templated parameter that contains all the information necessary to connect the socket (be it TCP or SSL or whatever).
ClientSocketPool::RequestSocket() and ClientSocketHandle::Init() have been templated as well to handle this case.
I've left adding run-time type safety checks as a TODO.
TEST=net_unittests
BUG=http://crbug.com/13289
Review URL: http://codereview.chromium.org/160621
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23427 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/164531
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
us bad certs to allow, we tell SecureTransport to not verify the server
cert, and only allow the cert to be one of the bad certs the user allows.
In the future we should figure out how to verify the server cert ourselves.
R=avi,eroman
BUG=http://crbug.com/11983
TEST=Visit https://www.ssl247.com/ and https://alioth.debian.org/. Clicking
the "Proceed anyway" button should bring you to the site with a red
"https" in the location bar.
Review URL: http://codereview.chromium.org/165191
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23321 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Mac, when trying to connect to 255.255.255.255, we get an EACCES error. I
don't think it is correct for me to map that to ERR_ADDRESS_INVALID or
ERR_ADDRESS_UNREACHABLE, so I'm going to map it to ERR_ACCESS_DENIED. This
means that I need to rebaseline the chromium-mac results for these tests.
I think it is okay to have platform specific behavior here. I kind of prefer
that the error codes we show are more closely in sync with the operating
system. That way it may be easier for a sophisticated user to make sense of
our error codes.
R=wtc
BUG=18665
TEST=none
Review URL: http://codereview.chromium.org/164114
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
and proyxservice.This dependency comes from the parent URLRequest, and is used as a container for per-request profiling data.This change is strictly a no-op refactor -- the parameter is unused, and LoadLog does nothing.BUG=http://crbug.com/14478TEST=none -- just needs to compile and pass existing tests.DESIGN=<http://docs.google.com/Doc?id=dfhcnb2v_21gbtrcpr3&hl=en>
Review URL: http://codereview.chromium.org/126303
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23127 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=net_unittests
BUG=none
Review URL: http://codereview.chromium.org/159904
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22746 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
miletus):
Make the timeout in WaitToStart() of TestServerLauncher parametrized and expose this parameter to HTTPTestServer::CreateServer()
TBR=syf1984@gmail.com, tommi@chromium.org
Review URL: http://codereview.chromium.org/164090
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22667 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SSLWrite.
Ignore errSSLClosedNoNotify for site compatibility, even though it
makes us potentially vulnerable to truncation attacks.
Replace the default ERR_FAILED error code with the more specific
ERR_SSL_PROTOCOL_ERROR.
R=avi
BUG=http://crbug.com/16758
TEST=see bug 16758 for a test case.
Review URL: http://codereview.chromium.org/165025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22626 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's benign since ClientSocketPoolBase has a scoped_ptr that will delete it anyway, but it hits a DCHECK since ConnectJob::ReleaseSocket() should return NULL when the ConnectJob encountered an error.
Update TestConnectJobDelegate to call ConnectJob::ReleaseSocket() and EXPECT on its value.
Replicate the ConnectJob tests for the late binding case (doesn't add any extra coverage since we're not executing ClientSocketPoolBase code, just ConnectJob, but this way I don't accidentally delete necessary tests when I delete all the old tests after switching over completely to late binding).
BUG=none
TEST=net_unittests
Review URL: http://codereview.chromium.org/160664
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22580 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
needed.
Review URL: http://codereview.chromium.org/159831
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22349 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Requests per group + 1.
In the histograms for Net.SocketRequestTime, late binding has a much longer tail. This is presumably because I didn't implement timeouts and CancelRequest() never cancelled jobs. I'm limiting TCPConnectJobs to 60 seconds and cancelling jobs if there are too many more than there are requests.
Review URL: http://codereview.chromium.org/160499
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22338 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Requests per group + 1.
In the histograms for Net.SocketRequestTime, late binding has a much longer tail. This is presumably because I didn't implement timeouts and CancelRequest() never cancelled jobs. I'm limiting TCPConnectJobs to 30 seconds and cancelling jobs if there are too many more than there are requests.
Review URL: http://codereview.chromium.org/160499
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22330 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Requests per group + 1.
In the histograms for Net.SocketRequestTime, late binding has a much longer tail. This is presumably because I didn't implement timeouts and CancelRequest() never cancelled jobs. I'm limiting TCPConnectJobs to 30 seconds and cancelling jobs if there are too many more than there are requests.
Review URL: http://codereview.chromium.org/160499
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22326 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It depends on http://codereview.chromium.org/126046
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/155912
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22147 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CHECK that was being hit showed a real problem: group's IsEmpty
should take into account the pending requests queue too.
I also made IsEmpty check for connecting requests queue emptiness,
so we can be sure that IsEmpty really means empty.
TEST=Added a regression test ClientSocketPoolBaseTest.GroupWithPendingRequestsIsNotEmpty to net_unittests.
http://crbug.com/17985
Review URL: http://codereview.chromium.org/159597
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21988 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
concurrent write.
BUG=http://crbug.com/17991
TEST=as in bug
Review URL: http://codereview.chromium.org/160333
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21981 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- more complete checks for data validity
- private data member with getter instead of public data member, eh
- replace some magic numbers with more readable constants
TEST=none
http://crbug.com/17445
Review URL: http://codereview.chromium.org/159514
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21957 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- share more code
- improve readability
- help detect cases we don't test order of all requests made
TEST=Covered by net_unittests.
http://crbug.com/17445
Review URL: http://codereview.chromium.org/155925
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21456 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Based on Eric Roman's patch at http://codereview.chromium.org/62181
http://crbug.com/15093
Review URL: http://codereview.chromium.org/149027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21276 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
created ones.
The advantage is that GURL's parsing of IPv6 addresses works on all systems, whereas getaddrinfo(ipv6_literal) only succeeds on IPv6 enabled systems.
This allows the tests to run consistently on all systems, including our own WinXP buildbots (which do not support IPv6).
BUG=http://crbug.com/16452
TEST=[net_unittests] SOCKS5ClientSocketTest.IPv6Domain, SOCKSClientSocketTest.SOCKS4AIfDomainInIPv6
Review URL: http://codereview.chromium.org/155618
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21053 0039d316-1c4b-4281-b951-d872f2087c98
|