summaryrefslogtreecommitdiffstats
path: root/net
Commit message (Collapse)AuthorAgeFilesLines
* Remove failing CHECK(!delegate_) from SpdyStream::OnDataReceived()jl@opera.com2014-03-271-1/+0
| | | | | | | | | | | | | | There is a race between SetDelegate() and the PushedStreamReplay() call it posts a task for, and OnDataReceived() called as more data is received over the network. Specifically, if the latter is called after SetDelegate() is called but before the task it posted has been executed, the CHECK() fails. BUG=356110 Review URL: https://codereview.chromium.org/210733006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259800 0039d316-1c4b-4281-b951-d872f2087c98
* Delete some dead code.thakis@chromium.org2014-03-272-28/+0
| | | | | | | | | | | | Found by a tweaked -Wunused-member-function Nuno Lopes is working on. BUG=none R=brettw@chromium.org, miket@chromium.org, rsleevi@chromium.org, sky@chromium.org TBR=rogerta, sky Review URL: https://codereview.chromium.org/213363003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259767 0039d316-1c4b-4281-b951-d872f2087c98
* Enable the ChaCha20+Poly1305 (kCC12) AEAD algorithm.wtc@chromium.org2014-03-2710-24/+72
| | | | | | | | | | | | | | | | Truncate the Poly1305 authenticator to 12 bytes to match the assumption of QUIC packet encoding code. Merge internal CL: 63490873 Change the client to favor local preference when negotiating the AEAD algorithm and key exchange method. R=agl@chromium.org,rch@chromium.org,rtenneti@chromium.org Review URL: https://codereview.chromium.org/208933004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259749 0039d316-1c4b-4281-b951-d872f2087c98
* Standardize error reporting of IPEndPoint::ToSockAddr andwtc@chromium.org2014-03-266-16/+19
| | | | | | | | | | | | IPEndPoint::FromSockAddr. R=eroman@chromium.org BUG=247210 TEST=none Review URL: https://codereview.chromium.org/185553013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259719 0039d316-1c4b-4281-b951-d872f2087c98
* Delete net/tools/fetch. No one is using this.willchan@chromium.org2014-03-2614-830/+0
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/195863006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259680 0039d316-1c4b-4281-b951-d872f2087c98
* Use sockets with unread data if they've never been used before.davidben@chromium.org2014-03-2612-60/+264
| | | | | | | | | | | | | | | | | | | This fixes preconnects to SPDY-capable origins. StreamSocket's semantics change slightly. WasEverUsed() for layered sockets is now whether the top-level socket has read or written user data, rather than whether the underlying transport socket was used. Change SSL and SOCKS socket implementations to use the new WasEverUsed() semantics. This doesn't affect SOCKS much except that preconnect misses now time out more aggressively. For SSL, it fixes the SPDY issue. Add tests for SSL socket and socket pool implementations. BUG=334467 Review URL: https://codereview.chromium.org/169643006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259671 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing calls to TestRootCerts::Clear() after usage.haavardm@opera.com2014-03-261-0/+5
| | | | | | | | | | | | | The next unit test that uses TestRootCerts may fail if TestRootCerts instance is not empty. So every unit test that uses TestRootCerts needs to clear it at the end. BUG=none Test=none Review URL: https://codereview.chromium.org/207063003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259558 0039d316-1c4b-4281-b951-d872f2087c98
* Support redirectUrl at onHeadersReceived in WebRequest / DWR APIrob@robwu.nl2014-03-2611-28/+240
| | | | | | | | | | | | | | | | Add support for extension-initiated redirects via the (declarative) Web Request API. The existing URL validation and conflict resolution logic of redirectUrl at onBeforeRequest is re-used for the implementation of redirectUrl at onHeadersReceived. To make sure that redirects to data:// and chrome-extension:// URLs are not blocked, a new parameter has been added to the network delegate (allowed_unsafe_redirect_url). BUG=280464,115940 TEST=browser_tests: ExtensionWebRequestApiTest.WebRequestBlocking:ExtensionWebRequestApiTest.WebRequestDeclarative1 unit_tests: ExtensionWebRequestTest.*:WebRequestActionWithThreadsTest.* net_unittests: URLRequestTestHTTP.NetworkDelegateRedirectRequestOnHeadersReceived*: URLRequestTestHTTP.UnsafeRedirect*: URLRequestTestHTTP.*ReferenceFragment* Review URL: https://codereview.chromium.org/154473002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259546 0039d316-1c4b-4281-b951-d872f2087c98
* Add PrivacyMode support to the QuicStreamFactory.rch@chromium.org2014-03-2620-103/+182
| | | | | | | | | | BUG=356338 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259303 Review URL: https://codereview.chromium.org/185773006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259537 0039d316-1c4b-4281-b951-d872f2087c98
* Fix valgrind error in various Quic tests.rch@chromium.org2014-03-262-4/+2
| | | | | | | | | TBR=rtenneti@chromium.org BUG=356321 Review URL: https://codereview.chromium.org/205343012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259516 0039d316-1c4b-4281-b951-d872f2087c98
* Really disable 0-RTT connections for POST requests and add tests.rch@chromium.org2014-03-262-1/+63
| | | | | | | | | R=rtenneti@chromium.org BUG= Review URL: https://codereview.chromium.org/211273006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259464 0039d316-1c4b-4281-b951-d872f2087c98
* Fix valgrind error in QuicCryptoClientStreamTest.rch@chromium.org2014-03-251-0/+4
| | | | | | | | BUG= 356321 Review URL: https://codereview.chromium.org/204813004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259389 0039d316-1c4b-4281-b951-d872f2087c98
* Mark tests in NetworkChangeNotifierWinTest as flaky.erikchen@chromium.org2014-03-251-4/+8
| | | | | | | | | BUG=356401 TBR=mmenke@chromium.org Review URL: https://codereview.chromium.org/211543004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259370 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Add PrivacyMode support to the QuicStreamFactory. ↵erikchen@chromium.org2014-03-2519-177/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/185773006/) Reason for revert: Reverted by request from kareng. It breaks the continuous official tests. ../../net/tools/quic/quic_client_bin.cc: In function ‘int main(int, char**)’: ../../net/tools/quic/quic_client_bin.cc:76:67: error: no matching function for call to ‘net::QuicSessionKey::QuicSessionKey(std::string&, int32&, bool&)’ ../../net/tools/quic/quic_client_bin.cc:76:67: note: candidates are: ../../net/quic/quic_session_key.h:23:3: note: net::QuicSessionKey::QuicSessionKey(const string&, uint16, bool, net::PrivacyMode) ../../net/quic/quic_session_key.h:23:3: note: candidate expects 4 arguments, 3 provided ../../net/quic/quic_session_key.h:20:3: note: net::QuicSessionKey::QuicSessionKey(const net::HostPortPair&, bool, net::PrivacyMode) ../../net/quic/quic_session_key.h:20:3: note: no known conversion for argument 1 from ‘std::string {aka std::basic_string<char>}’ to ‘const net::HostPortPair&’ ../../net/quic/quic_session_key.h:19:3: note: net::QuicSessionKey::QuicSessionKey() ../../net/quic/quic_session_key.h:19:3: note: candidate expects 0 arguments, 3 provided ../../net/quic/quic_session_key.h:17:26: note: net::QuicSessionKey::QuicSessionKey(const net::QuicSessionKey&) ../../net/quic/quic_session_key.h:17:26: note: candidate expects 1 argument, 3 provided Original issue's description: > Add PrivacyMode support to the QuicStreamFactory. > > BUG= > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259303 TBR=rtenneti@chromium.org,rch@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/211373004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259323 0039d316-1c4b-4281-b951-d872f2087c98
* Add histogram Net.QuicSession.SecureResourceSecureSessionrch@chromium.org2014-03-251-2/+5
| | | | | | | | | | to track request for secure resources over insecure connections. R=jar@chromium.org Review URL: https://codereview.chromium.org/211123003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259310 0039d316-1c4b-4281-b951-d872f2087c98
* Add PrivacyMode support to the QuicStreamFactory.rch@chromium.org2014-03-2519-102/+177
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/185773006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259303 0039d316-1c4b-4281-b951-d872f2087c98
* r=rchjar@chromium.org2014-03-252-3/+3
| | | | | | | | | BUG=355222 R=rch@chromium.org Review URL: https://codereview.chromium.org/211213003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259277 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 'Fix SPDY error-handling if the connection gets closed just after use.'davidben@chromium.org2014-03-2513-144/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include a fix for a test to appease ASan. Original description: > - Make SpdySession::IsReused() return true if the underlying socket was > UNUSED_IDLE. This makes the HttpNetworkTransaction-level retry try a fresh > socket in case a preconnected socket was stale. > > - If the SpdySession closes in an event loop iteration between > HttpStreamFactoryImplJob::DoCreateStream and OnNewSpdySessionReadyCallback, > propogate the error to the request to prevent it from hanging. Do so by > creating the originating request's SpdyHttpStream as soon as the SpdySession > is created so it can sample SpdySession::IsReused() and advise > HttpNetworkTransaction on error. > > - Delay pumping the SpdySession read loop by an event loop iteration. This > simplifies some logic and ensures that HttpNetworkTransaction receives a > SpdyHttpStream to advise retry logic. This does mean we lose the error code; > it now follows the asynchronous case and turns into ERR_CONNECTION_CLOSED in > SpdyHttpStream::InitializeStream. > > BUG=352156 > > Review URL: https://codereview.chromium.org/200723004 BUG=352156 Review URL: https://codereview.chromium.org/199633019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259208 0039d316-1c4b-4281-b951-d872f2087c98
* Improve logging of NSS errors that do not map to network errors.tsniatowski@opera.com2014-03-251-2/+6
| | | | | | | | | BUG= R=jar@chromium.org Review URL: https://codereview.chromium.org/207583003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259205 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Some cleanup for the skeleton of the backend worker.rvargas@chromium.org2014-03-254-54/+30
| | | | | | | | | | | | | | | | This adds the backend worker to net.gyp and deletes/disables code so that the file compiles but does nothing else than construct/destroy an object. This is the last skeleton needed to start building the infrastructure to create and destroy the backend. The actual description of the class will be added when some functionality is added: this class will be in charge of proxying work to the cache thread. BUG=241277 Review URL: https://codereview.chromium.org/205623003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259107 0039d316-1c4b-4281-b951-d872f2087c98
* net: more pinning debugging.agl@chromium.org2014-03-252-7/+23
| | | | | | | | | | | | | The reports from the last round of debugging suggests that the pins are being calculated correctly and that the Google pins are correct in the binary. Since the reports mostly have "apis.google.com" as the hostname, suspicion falls on malware that might be changing the pinning entry for just that hostname. BUG=none Review URL: https://codereview.chromium.org/210073003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259078 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Allow 0-RTT handshakes for QUIC HTTPS requests. ↵rch@chromium.org2014-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/197583003/) Reason for revert: major bug Original issue's description: > Allow 0-RTT handshakes for QUIC HTTPS requests. > > BUG= > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258660 TBR=jar@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/210053007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259054 0039d316-1c4b-4281-b951-d872f2087c98
* Remove synchonous uses of FileStream from net.rvargas@chromium.org2014-03-241-5/+4
| | | | | | | | | BUG=351823 R=davidben@chromium.org Review URL: https://codereview.chromium.org/206043008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259019 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor CookieStore/CookieMonstertburkard@chromium.org2014-03-246-17/+36
| | | | | | | | | | | Make GetAllCookiesForURLAsync part of CookieStore, so that the most common use cases do not need to know about CookieMonster any more. R=erikwright@chromium.org, jam@chromium.org, mmenke@chromium.org Review URL: https://codereview.chromium.org/198913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259018 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug in QuicCryptoClientStream which manifested as crashesrch@chromium.org2014-03-241-2/+1
| | | | | | | | | | | in QuicClientSession::OnProofVerifyDetailsAvailable. The bug was introduced as part of https://codereview.chromium.org/197873011/ BUG=355494 R=wtc@chromium.org Review URL: https://codereview.chromium.org/210303002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258995 0039d316-1c4b-4281-b951-d872f2087c98
* Don't cache non-redirect HTTP responses when a redirect is forcedmmenke@chromium.org2014-03-2413-8/+173
| | | | | | | | | | | | | | by a NetworkDelegate in OnHeadersReceived. This regressed in https://chromiumcodereview.appspot.com/23710059. Fortunately, no NetworkDelegate currently does this, but that is going to change. BUG=354508 Review URL: https://codereview.chromium.org/208683002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258983 0039d316-1c4b-4281-b951-d872f2087c98
* Rename WebSocketChannel::SendIOBuffer to SendFrameFromIOBuffertyoshino@chromium.org2014-03-242-8/+9
| | | | | | | | | | | | SendIOBuffer sounds like sending raw data from an IOBuffer. I'd like to add Frame to make it look like dealing with structured data representing a frame. BUG=none Review URL: https://codereview.chromium.org/196473009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258943 0039d316-1c4b-4281-b951-d872f2087c98
* Obey renderer-supplied quota in the browser.ricea@chromium.org2014-03-243-25/+451
| | | | | | | | | | | | | | | | | | | | | | This allows back-pressure to be applied to the TCP/IP connection and ultimately the origin server when the renderer is not keeping up. This CL also adds a ScopedQueue type (like ScopedVector), because it needs one. There are some shortcomings to the approach implemented here. These are noted in the bug. In brief, net::WebSocketChannel's idea of how much it should read from the socket needs to be somewhat decoupled from whether the renderer is ready to receive data. This will be improved in future as we refine the flow control design for multiplexing. I am having difficulty quantifying the performance impact of this change, because the speeds reported by pywebsocket benchmark.html seem to vary dramatically depending on whether I look at the tab or not. However, if there is a performance regression it cannot be too large. BUG=283792 TEST=net_unittests, layout tests, pywebsocket benchmark Review URL: https://codereview.chromium.org/198723002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258936 0039d316-1c4b-4281-b951-d872f2087c98
* Require HTTPS for admin.google.com.joaodasilva@chromium.org2014-03-242-0/+2
| | | | | | | | | BUG=353013 R=agl@chromium.org, palmer@chromium.org Review URL: https://codereview.chromium.org/206063006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258907 0039d316-1c4b-4281-b951-d872f2087c98
* [WebSocket] Fix and enable flaky browser test.yhirano@chromium.org2014-03-243-9/+9
| | | | | | | | | | | | Fix and enable WebSocketBrowserTest.SecureWebSocketSplitRecords because Updating pywebsocket fixes the flakiness. BUG=176867 R=tyoshino Review URL: https://codereview.chromium.org/205963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258874 0039d316-1c4b-4281-b951-d872f2087c98
* Check return results for setting socket buffer sizes in QUICjar@chromium.org2014-03-243-11/+61
| | | | | | | | | | | | | | | ...and More aggressively validate that setsockopt(buffersize) worked on Windows. Add histograms to monitor the impact of this change. r=rch,wtc BUG=355222 Review URL: https://codereview.chromium.org/196393003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258859 0039d316-1c4b-4281-b951-d872f2087c98
* Remove QuicCryptoClientStream::Visitor, and instead introduce arch@chromium.org2014-03-2419-90/+170
| | | | | | | | QuicClientSessionBase to serve a similar purpose. Review URL: https://codereview.chromium.org/207113002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258847 0039d316-1c4b-4281-b951-d872f2087c98
* Move SSLConfig class from ssl_config_service.h to ssl_config.hsergeyu@chromium.org2014-03-247-221/+231
| | | | | | | | | | | | | | | | SSLConfigService depends on CRLSet that is not useful in net_nacl. Separate SSLConfig from SSLConfigService, so that they can be compiled independently. Also replaced default_version_(min|max) in SSLConfigService with constants kDefaultSSLVersion(Min|Max). BUG=276739 TBR=wtc@chromium.org Review URL: https://codereview.chromium.org/208713004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258843 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the QuicStreamFactory's crypto config map, and insteadrch@chromium.org2014-03-2212-213/+132
| | | | | | | | | | | rely on the QuicCryptoConfig's cached state map. Move the canonical server behavior from the QuicStreamFactory to the QuicCryptoConfig. Review URL: https://codereview.chromium.org/204023004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258771 0039d316-1c4b-4281-b951-d872f2087c98
* Fix content-encoding handling with buggy servers.ellyjones@chromium.org2014-03-226-3/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some servers will serve compressed filetypes with "content-encoding: gzip" because the file's contents were gzipped, even though the server is not re-encoding the contents at all. The code in Filter::FixupEncodingTypes() attempts to work around this by inferring whether the file is a gzip file with bogus encoding based on the file extension in the URL, but this doesn't work when the file being downloaded comes from a page whose extension doesn't reveal the downloaded file type. This change adds code to FixupEncodingTypes to also consider the download filename, supplied by the "content-disposition" header, if any. This means that we now behave correctly in the case where: -> GET /foo.php?download <- HTTP/1.1 200 OK <- ... <- Content-Disposition: attachment;filename="foo.tar.gz" <- ... <- Content-Encoding: gzip BUG=83292 TEST=unit,trybot Review URL: https://codereview.chromium.org/206503006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258729 0039d316-1c4b-4281-b951-d872f2087c98
* Minor clean up of QUIC's ProofTest.rch@chromium.org2014-03-221-87/+62
| | | | | | | | | | BUG=none R=wtc@chromium.org TEST=net_unittests --gtest_filter=ProofTest.\* Review URL: https://codereview.chromium.org/206743006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258726 0039d316-1c4b-4281-b951-d872f2087c98
* Remove --enable-unrestricted-ssl3-fallback.pkasting@chromium.org2014-03-223-16/+1
| | | | | | | | | | | | It looks like this isn't actually wired to anything. BUG=354947 TEST=none R=jhawkins@chromium.org, rsleevi@chromium.org Review URL: https://codereview.chromium.org/200693006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258714 0039d316-1c4b-4281-b951-d872f2087c98
* Add ProofVerifierContext struct to QUIC's ProofVerifier::VerifyProofrch@chromium.org2014-03-2118-43/+94
| | | | | | | | | | | ProofVerifyContext is an abstract class that acts as a container for any implementation specific context that a ProofVerifier needs. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258618 Review URL: https://codereview.chromium.org/203903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258693 0039d316-1c4b-4281-b951-d872f2087c98
* Allow 0-RTT handshakes for QUIC HTTPS requests.rch@chromium.org2014-03-211-1/+1
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/197583003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258660 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Fix SPDY error-handling if the connection gets closed just after ↵vandebo@chromium.org2014-03-2112-213/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use. (https://codereview.chromium.org/200723004/) Reason for revert: Linux LSan isn't happy: AddressSanitizer: stack-buffer-overflow http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%281%29/builds/650/steps/net_unittests/logs/GetUploadProgressBeforeInitialization_0 Original issue's description: > Fix SPDY error-handling if the connection gets closed just after use. > > - Make SpdySession::IsReused() return true if the underlying socket was > UNUSED_IDLE. This makes the HttpNetworkTransaction-level retry try a fresh > socket in case a preconnected socket was stale. > > - If the SpdySession closes in an event loop iteration between > HttpStreamFactoryImplJob::DoCreateStream and OnNewSpdySessionReadyCallback, > propogate the error to the request to prevent it from hanging. Do so by > creating the originating request's SpdyHttpStream as soon as the SpdySession > is created so it can sample SpdySession::IsReused() and advise > HttpNetworkTransaction on error. > > - Delay pumping the SpdySession read loop by an event loop iteration. This > simplifies some logic and ensures that HttpNetworkTransaction receives a > SpdyHttpStream to advise retry logic. This does mean we lose the error code; > it now follows the asynchronous case and turns into ERR_CONNECTION_CLOSED in > SpdyHttpStream::InitializeStream. > > BUG=352156 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258647 TBR=rch@chromium.org,davidben@chromium.org NOTREECHECKS=true NOTRY=true BUG=352156 Review URL: https://codereview.chromium.org/208663003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258657 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SPDY error-handling if the connection gets closed just after use.davidben@chromium.org2014-03-2112-144/+213
| | | | | | | | | | | | | | | | | | | | | | | | | - Make SpdySession::IsReused() return true if the underlying socket was UNUSED_IDLE. This makes the HttpNetworkTransaction-level retry try a fresh socket in case a preconnected socket was stale. - If the SpdySession closes in an event loop iteration between HttpStreamFactoryImplJob::DoCreateStream and OnNewSpdySessionReadyCallback, propogate the error to the request to prevent it from hanging. Do so by creating the originating request's SpdyHttpStream as soon as the SpdySession is created so it can sample SpdySession::IsReused() and advise HttpNetworkTransaction on error. - Delay pumping the SpdySession read loop by an event loop iteration. This simplifies some logic and ensures that HttpNetworkTransaction receives a SpdyHttpStream to advise retry logic. This does mean we lose the error code; it now follows the asynchronous case and turns into ERR_CONNECTION_CLOSED in SpdyHttpStream::InitializeStream. BUG=352156 Review URL: https://codereview.chromium.org/200723004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258647 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Add ProofVerifierContext struct to ProofVerifier::VerifyProof ↵rch@chromium.org2014-03-2118-95/+43
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/203903002/) Reason for revert: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Tests%20%281%29/builds/647/steps/net_unittests/logs/stdio Original issue's description: > Add ProofVerifierContext struct to QUIC's ProofVerifier::VerifyProof > > ProofVerifyContext is an abstract class that acts as a container for any > implementation specific context that a ProofVerifier needs. > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258618 TBR=wtc@chromium.org,rtenneti@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/208053007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258631 0039d316-1c4b-4281-b951-d872f2087c98
* Add ProofVerifierContext struct to QUIC's ProofVerifier::VerifyProofrch@chromium.org2014-03-2118-43/+95
| | | | | | | | | ProofVerifyContext is an abstract class that acts as a container for any implementation specific context that a ProofVerifier needs. Review URL: https://codereview.chromium.org/203903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258618 0039d316-1c4b-4281-b951-d872f2087c98
* Cronet Java wrappers to fallback to HttpUrlConnection on Pre-ICS platform.mef@chromium.org2014-03-2121-675/+1995
| | | | | | | | | | Based on https://codereview.chromium.org/145213003/. BUG=354143 Review URL: https://codereview.chromium.org/183333002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258517 0039d316-1c4b-4281-b951-d872f2087c98
* Gather QUIC aggregate loss stats, as well as ack received statsjar@chromium.org2014-03-212-54/+125
| | | | | | | | | | | | | | | | | | | | | | | | | This cl adds several histograms, including one for aggregate packet loss, as well as a pair that identify the probability that a received packet is probably a solo ACK packet (one possible cause of "excessive"(?) received packet loss that was identified previously. I expect that once we better understand the phenonemon, we may dramatically reduce the number or size of these histograms. All histogtrams are broken out by the connection type, to better understand mobile vs wifi and sub-categories. There should be minimal cost to a client, as each client will generally only create one (or at most 2) such groups of histograms (I doubt that many users have more than 2 network interfaces). The cumulative histogram was also extended to handle series of packets shorter than 21, and simply not populate the "unused ranges" in those cases. BUG=349314 Review URL: https://codereview.chromium.org/205883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258474 0039d316-1c4b-4281-b951-d872f2087c98
* net: Update FileStream to use base::File instead of PlatformFile.rvargas@chromium.org2014-03-2110-367/+324
| | | | | | | | | | | | | As collateral damage, OpenContentUriForRead is now returning File instead of a plain file descriptor. BUG=322664 TEST=net_unittests R=willchan@chromium.org Review URL: https://codereview.chromium.org/189393002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258472 0039d316-1c4b-4281-b951-d872f2087c98
* Gets the peer address (if available) in server requests.gunsch@chromium.org2014-03-205-0/+28
| | | | | | | | | R=byungchul@chromium.org, lcwu@chromium.org, pfeldman@chromium.org, rsleevi@chromium.org BUG=347770 Review URL: https://codereview.chromium.org/181063006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258424 0039d316-1c4b-4281-b951-d872f2087c98
* net: various additions to the HSTS list.agl@chromium.org2014-03-202-1/+25
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258423 0039d316-1c4b-4281-b951-d872f2087c98
* Move referrer stripping into GURL::GetAsReferrer().ppi@chromium.org2014-03-201-11/+4
| | | | | | | | | | | This patch moves the code that removes username, password and ref parts of the url from http referrers into GURL::GetAsReferrer(). BUG=340295 Review URL: https://codereview.chromium.org/185133005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258392 0039d316-1c4b-4281-b951-d872f2087c98
* Land Recent QUIC Changes.rtenneti@chromium.org2014-03-2030-219/+544
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix QUIC's nack counting to only increase the nack count for packets less than the largest newly observed packet. Reduces spurious retransmissions in the case of re-ordering. Merge internal change: 63410263 https://codereview.chromium.org/206023002/ Removing deprecated flag FLAGs_cancel_crypto_callbacks_on_close. Merge internal change: 63402129 https://codereview.chromium.org/205923003/ Add separate categories for retransmissions due to timeouts during handshake and loss detection. Merge internal change: 63287115 https://codereview.chromium.org/206003002/ Include acks for response headers sent over QUIC in faster stats RT and loss computations. This CL includes internals server's quic changes to allow application code to specify a QuicAckNotifier delegate when doing buffered writes through QUIC connection, since that is the write mechanism used by QuicFdWrapper to write to the headers stream. Merge internal change: 63174706 https://codereview.chromium.org/205613003/ Inform QuicAckNotifierManager about the newest sequence number that corresponds to an acked packet, so that QUIC FasterStats RT computations are not affected by spurious TLP retransmits. Fix QUIC FasterStats RT reporting by considering a packet acked if any of its retransmissions are acked. Not flag protected. Merge internal change: 63152079 https://codereview.chromium.org/204103004/ Merge various changes to QuicCryptoClientStream from Chrome. Merge internal change: 63102660 https://codereview.chromium.org/199273003/ Deleting unused MarkConsumed method from QuicStreamSequencer. Merge internal change: 63098466 https://codereview.chromium.org/200123003/ R=rch@chromium.org Review URL: https://codereview.chromium.org/205983003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258386 0039d316-1c4b-4281-b951-d872f2087c98