| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that the complete request is logged, not just the extra_headers.
Before I broke things, HttpNetworkTransaction was attempting to
do the logging, but after some refactors it no longer has access
to the final request. SpdySession already logs correctly in the
SPDY case, and I modified HttpBasicStream to log in the HTTP case.
Added unit tests is both HttpNetworkTransactionTest and
SpdyNetworkTransactionTest.
BUG=48962
TEST=net_unittests --gtest_filter=HttpNetworkTransactionTest.SimpleGET\*
Review URL: http://codereview.chromium.org/4644003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65736 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors.
BUG=28083
TEST=None
Review URL: http://codereview.chromium.org/4192012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=56344,59077
TEST=new tests in HttpNetworkTransactionTest
Review URL: http://codereview.chromium.org/4192011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64513 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
put them in the base namespace.
TEST=it compiles
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62510 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
headers. This is where we used to call GetSSLInfo. In
r56646 (Chrome 7.0) we changed to call GetSSLInfo as soon
as SSL Connect completes. This will be problematic when
we do "pseudo connect" with SSL Snap Start.
Allow HttpStreamParser::GetSSLInfo and
HttpStreamParser::GetSSLCertRequestInfo to be called when
connection_->socket() is not connected.
R=agl,mbelshe
BUG=none
TEST=net_unittests --gtest_filter=HTTPSRequestTest.HTTPS*Test.
For manual testing, verify the info in the Page Security
Information dialog is correct.
Review URL: http://codereview.chromium.org/3603002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61073 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we encounter multiple Content-Length headers without a
Transfer-Encoding header, then it's a potential response smuggling
attempt. Return an error.
BUG=56344
TEST=HttpNetworkTransactionTest.MultipleContentLengthHeadersNoTransferEncoding,HttpNetworkTransactionTest.MultipleContentLengthHeadersTransferEncoding
Review URL: http://codereview.chromium.org/3394016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60317 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation of IsConnected() on windows, you'll find that it can
synchronously check if the socket is connected. This makes it so that
a CHECK (or DCHECK) on this attribute is dependent on the peer. The peer
could send us a TCP-FIN at any time - even 1 nanosecond before our call
to IsConnected(). We can only use CHECK(!IsConnected()) to check before
we connect, we simply can't use it at runtime.
I searched the code and found 4 other instances of this broken check. Most
were DCHECKs, which is good, but I've removed them just the same.
Turns out our MockSockets have a mechanism for simulating this error, but it
wasn't tested nor plumbed through the MockSSLClientSocket. In the process
I added a couple of basic proxy test cases, which may be slightly redundant
with other test cases that are more advanced. But they seem like a good
idea to cover anyway. Added 6 tests in total.
BUG=53099
TEST=ProxyTunnelGetHangup, RecycleDeadSSLSocket
Review URL: http://codereview.chromium.org/3107036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57295 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HttpStreamFactory. The HttpNetworkTransaction now deals exclusively with
streams rather than connections directly. This cut the size of HTN roughly in
in half.
The HttpNetworkTransaction is still responsible for all proxy and server
authentication functions. This is because the streams may come and go - we
could create a stream, have the server declare auth is needed, and then the
next attempt would be on a different stream. So Auth belongs on the HNT.
The HNT no longer has direct access to the connection itself; instead, it
only knows of an HttpStream.
The StreamRequest, however, is responsible for determining whether the
connection needs to use a proxy, whether AlternateProtocols are available, and
whether the connection should be SPDY or HTTP.
Other changes:
- moved some static configuration methods from HNT to HttpStreamFactory.
- added some methods to the HttpStream.
BUG=none
TEST=all
Review URL: http://codereview.chromium.org/3171002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56646 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
url_request.h and http_response_info.h are some of the most included headers from net/
in chrome. Do what forward declaration we can in those headers.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3150003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55780 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpdyHttpStream now implements (a slightly wider) HttpStream interface.
BUG=50268
TEST=none
Review URL: http://codereview.chromium.org/3079002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54154 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
destructors from classes with instance members of type
scoped_ptr_malloc<>
Also remove #include of iostream from remaining header file.
Review URL: http://codereview.chromium.org/2861065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53190 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
most of these states are captured by the NetLog.
Review URL: http://codereview.chromium.org/2105013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47878 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is a refactor (actually reformat) only - no behavior change in place.
BUG=NONE
TEST=net_unittests.exe
Review URL: http://codereview.chromium.org/1800003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46349 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
* Removes 9 methods: AddEventWithParameters, BeginEventWithParameters, EndEventWithParameters, BeginEventWithString, BeginEventWithInteger, AddEventWithString, AddEventWithInteger, EndEventWithParameters, EndEventWithInteger. This was becoming ridiculous, instead made the EventParameters* a required parameter.
* Moves CapturingBoundNetLog / CapturingNetLog to its own file.
BUG=37421
Review URL: http://codereview.chromium.org/1746012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45843 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The effort to split the packet proved to not work (presumably
showing that the RTO was reasonably set by a SYN packet reception).
The test did show that splitting the first packet had a negative
consequence, and so the question is: How often can we coalesce
2 packets in a request into 1 packet? The most common cause would
be a login, using a POST method to send a body, where the body is
small. This change creates a histogram to show percentages of
requests that can be coalesced.
r=wtc
Review URL: http://codereview.chromium.org/1539003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43180 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/660404
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40453 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property for detecting when an upload is finished.
While this does prevent the crash described in the bug from occurring, this doesn't fully solve the problem as now the affected uploads don't complete. Fully resolving the issue will require implementing the chunked transfer encoding for requests.
Patch from Vernon Tang <vt@foilhead.net>, original review: http://codereview.chromium.org/555194
BUG=33501
TEST=Create a file with a non-zero size and select that file in an HTML-based uploader. Before starting the upload, remove read permissions from that file. Check that the upload doesn't cause the browser to crash or hang. net_unittests: HttpNetworkTransactionTest.UploadFileSmallerThanLength, UploadDataStreamTest.*
Review URL: http://codereview.chromium.org/578004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38129 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
problem and add a regression test.
BUG=31324
TEST=new net unittest
Review URL: http://codereview.chromium.org/523075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35680 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=27324
Review URL: http://codereview.chromium.org/501034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34853 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Necessary since we need the SSLInfo to handle certificate errors, but it lives within the HttpResponseInfo. SSL is before we choose http or spdy, so we don't have an http stream or a spdy stream yet, so they cannot own the HttpResponseInfo.
Review URL: http://codereview.chromium.org/500039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34773 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=28670
TEST=DevToolsSanityTest
Review URL: http://codereview.chromium.org/435015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32983 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
an out of memory condition. Fixed problem, added unit test, and clarified the API. This is probably the real problem in issue 25826.
BUG=28346, 25826
TEST=HttpNetworkTransactionTest.LargeContentLengthThenReset
Review URL: http://codereview.chromium.org/418035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32856 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=27870
TEST=none
Review URL: http://codereview.chromium.org/404034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32544 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we always start copying excess data to the start of the read buffer, even in the case where save_amount==0 and additional_save_amount!=0
BUG=27509
TEST=NONE
Review URL: http://codereview.chromium.org/385088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
connection_->socket()->Read() in DoReadHeadersComplete
and DoReadBodyComplete so that we catch both synchronous
and asynchronous completion of Read.
R=vandebo
BUG=13289
TEST=none
Review URL: http://codereview.chromium.org/384047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31739 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
assertions about allocation parameters stronger.
BUG=25826
TEST=none
Review URL: http://codereview.chromium.org/378037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=25826
TEST=none
Review URL: http://codereview.chromium.org/338049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30287 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Add a CHECK
BUG=25554
TEST=none
Review URL: http://codereview.chromium.org/327005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29956 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parsing the Http traffic. HttpBasicStream delegates parsing to HttpStreamParser in preparation for HttpPipelinedStream.
Original review: http://codereview.chromium.org/249031
BUG=13289
TEST=unittests
Review URL: http://codereview.chromium.org/283022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29379 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/292002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29320 0039d316-1c4b-4281-b951-d872f2087c98
|
|
parsing the Http traffic. HttpBasicStream delegates parsing to HttpStreamParser in preparation for HttpPipelinedStream.
BUG=13289
TEST=unittests
Review URL: http://codereview.chromium.org/249031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29316 0039d316-1c4b-4281-b951-d872f2087c98
|