diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-05 19:43:06 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-05 19:43:06 +0000 |
commit | 3e60db87c3efc64a62a24e8dbd973ef8a83f420a (patch) | |
tree | 595f10254a4dcc4dcf36bd4ea3465a2b35db8a66 /net/quic/quic_packet_creator.h | |
parent | f0eda8165420562d6769b19f0126d5158dabd817 (diff) | |
download | chromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.zip chromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.tar.gz chromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.tar.bz2 |
Land Recent QUIC changes.
Minor style change for initialization of hdr.msg_flags.
Merge internal change: 49828095
Enabled MaxNumStreams in quic/tools area.
Renamed MaxNumConnections to MaxNumStreams. Initialize
set_max_streams_per_connection only in MaxNumStreams, not for all tests.
Merge internal change: 49728455
QUIC - Adding a bit more information to a logged DFATAL.
Merge internal change: 49724887
Always expecting certificates for secure quic (test) clients. Changing
the end_to_end test to be insecure as it doesn't configure certs.
Merge internal change: 49723287
QUIC - Adding back a comment change that was deleted in the following CL.
https://chromiumcodereview.appspot.com/22020002/diff/1/net/quic/quic_connection.cc
Merge internal change: 49713074
Fail to process a header when the fec group offset is larger than the
packet sequence number.
Merge internal change: 49677837
Added a test to ensure that if the QuicPacketCreator has room for the
stream frame it can be added.
Merge internal change: 49620569
Adding support to QUIC for QUIC_VERSION_7, enabling lower overhead stream frames.
Merge internal change: 49540337
Rearrange code to match spdy_protocol.h SpdyFrameType declaration
order: mostly method declarations and definitions and case statements.
Merge internal change: 49503521
Refactor QuicReceivedEntropyManager and the other received packet code
into Quic ReceivedPacketManager to allow the entropy state and the ack's
received info to stay in sync.
Merge internal change: 49440136
Made a copy of QuicReceivedEntropyManager*.* code into QuicReceivedPacketManager*.*
Doing a better job of detecting unrecoverable compression state.
This is really tricky to get right.
We don't want to unilaterally close the connection if a stream closes before
headers are decompressed. If, for example, a server gets a protocol-layer
error while processing a request it could kill of a stream with something
like QUIC_MULTIPLE_TERMINATION_OFFSETS without sending the http/spdy
response. In this case, the client could continue processing on that
connection.
We basically want to kill off the connection if we get any packets for a
stream we've closed without processing complete headers. Which means
tracking state for every stream which closes without processing complete
headers which is a very unlikely OOM attack vector. I'm capping it at 20
somewhat arbitrarily, and calling it a day.
Merge internal change: 49373258
Removing logspam from quic connection.
Merge internal change: 49370853
Altering the server to not process headers until full headers have been read.
This fixes a problem where if we parsed partial headers, found an error, and
rejected the stream before getting full headers it would be possible to doom
the entire connection.
Merge internal change: 49239328
R=rch@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22122002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215661 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_packet_creator.h')
-rw-r--r-- | net/quic/quic_packet_creator.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/quic/quic_packet_creator.h b/net/quic/quic_packet_creator.h index 6c21a94..a1d74fa 100644 --- a/net/quic/quic_packet_creator.h +++ b/net/quic/quic_packet_creator.h @@ -71,12 +71,13 @@ class NET_EXPORT_PRIVATE QuicPacketCreator : public QuicFecBuilderInterface { // The overhead the framing will add for a packet with one frame. static size_t StreamFramePacketOverhead( + QuicVersion version, QuicGuidLength guid_length, bool include_version, QuicSequenceNumberLength sequence_number_length, InFecGroup is_in_fec_group); - bool HasRoomForStreamFrame() const; + bool HasRoomForStreamFrame(QuicStreamId id, QuicStreamOffset offset) const; // Converts a raw payload to a frame which fits into the currently open // packet if there is one. Returns the number of bytes consumed from data. |