Landing Recent QUIC changes until 5:20 PM, Dec 10, 2018 UTC-5

Add constant for Ethernet MTU.
Merge internal change: 224882175
https://chromium-review.googlesource.com/c/chromium/src/+/1378634

Enable partial delivery on the length field for HttpDecoder.
API change. Not affecting existing behavior.
Merge internal change: 224879495
https://chromium-review.googlesource.com/c/chromium/src/+/1378633

QuicConnection changes to fix a segfault during quic::QuicDispatcher::OnCanWrite(). Protected by existing flag --quic_restart_flag_quic_check_blocked_writer_for_blockage.
Merge internal change: 224583378
https://chromium-review.googlesource.com/c/chromium/src/+/1378625

Do not add disconnected QuicConnection to dispatcher's write blocked list. Protected by FLAGS_quic_reloadable_flag_quic_connection_do_not_add_to_write_blocked_list_if_disconnected.
Merge internal change: 224570824
https://chromium-review.googlesource.com/c/chromium/src/+/1378410

Change QuicTimeWaitListManager::SendOrQueuePacket() to be protected, and return bool indicating whether packet was sent or queued.
Merge internal change: 224515605
https://chromium-review.googlesource.com/c/chromium/src/+/1377515

STOP_SENDING on closed stream does not close connetion.
Merge internal change: 224510444
https://chromium-review.googlesource.com/c/chromium/src/+/1377322

Check that stream ID for MaybeIncreaseLargestPeerStreamId is not too big
Merge internal change: 224498905
https://chromium-review.googlesource.com/c/chromium/src/+/1377321

Third step towards variable length QUIC connection IDs. This CL changes the size of the QuicConnectionId class to allow storing longer connection IDs. It also changes clients who were calling sizeof(connection_id) to instead use connection_id.length()
Merge internal change: 224446552
https://chromium-review.googlesource.com/c/chromium/src/+/1377514

Second step towards variable length QUIC connection IDs. This CL makes QuicConnectionId a class that contains a uint64_t. The next step will be to start changing the implementation of that class.
Merge internal change: 224240712
https://chromium-review.googlesource.com/c/chromium/src/+/1377513

Use BoringSSL's QUIC hooks in //third_party/quic
Merge internal change: 224237363
https://chromium-review.googlesource.com/c/chromium/src/+/1376733

Add repro e2e tests for server silently closed IETF connections.
Merge internal change: 223974948
https://chromium-review.googlesource.com/c/chromium/src/+/1375151

Add fuzzer for QpackEncoderStreamSender and QpackEncoderStreamReceiver.
Merge internal change: 223866872
https://chromium-review.googlesource.com/c/chromium/src/+/1375434

If a V44 QUIC connection is closed post-handshake and has no termination packet, add it to time wait list with action=SEND_STATELESS_RESET. Protected by default true flag FLAGS_quic_reloadable_flag_quic_send_reset_for_post_handshake_connections_without_termination_packets.
Merge internal change: 223857778
https://chromium-review.googlesource.com/c/chromium/src/+/1374494

R=rch@chromium.org

Change-Id: I74e98f997975e3bcb319d89889d7752fc48025dc
Reviewed-on: https://chromium-review.googlesource.com/c/1378642
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Bence Béky <bnc@chromium.org>
Commit-Queue: Bence Béky <bnc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616996}
898 files changed