)]}'
{
  "commit": "cb6b51054274cb2c939264faf34a1776e0a5bab7",
  "tree": "592a058cd5c60f52f6e111aa252fe857d3170303",
  "parents": [
    "9f23586cf08918d9b56b1c2f7468fbabb7354e55"
  ],
  "author": {
    "name": "dschinazi",
    "email": "dschinazi@google.com",
    "time": "Wed Apr 28 08:16:40 2021 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Apr 28 08:17:11 2021 -0700"
  },
  "message": "Introduce Chaos Protection\n\nThis feature reduces the likelihood of QUIC ossification due to middleboxes. When active, chaos protection modifies client initial packets in a way that defeats naive parsers but makes no difference to real QUIC implementations. This will hopefully encourage middlebox vendors to use robust third party QUIC libraries instead of looking for fields at fixed offsets.\n\nPiperOrigin-RevId: 370906208\nChange-Id: I36bba5dc2016f06cf9686cd77cb425a760ed9b4f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c485a253dcb71388154fc3ca191ed6838a4d3614",
      "old_mode": 33188,
      "old_path": "quic/core/crypto/crypto_protocol.h",
      "new_id": "af62865b6530286320876ed64bc7689ce058311d",
      "new_mode": 33188,
      "new_path": "quic/core/crypto/crypto_protocol.h"
    },
    {
      "type": "modify",
      "old_id": "5aa0c4ffa954120cf251d1689f60eddb87cf6210",
      "old_mode": 33188,
      "old_path": "quic/core/http/end_to_end_test.cc",
      "new_id": "d5bff8c44fa4a00a9d00b9821565c03b9a3b005c",
      "new_mode": 33188,
      "new_path": "quic/core/http/end_to_end_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4eb353b183dfd6b48de8940c9645158db182cb03",
      "new_mode": 33188,
      "new_path": "quic/core/quic_chaos_protector.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6bcd42087e763c6f30c0d75e4503736c97d755b8",
      "new_mode": 33188,
      "new_path": "quic/core/quic_chaos_protector.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ec985beea12e7fd969725ddca593bffcbc2762c",
      "new_mode": 33188,
      "new_path": "quic/core/quic_chaos_protector_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c980f4e38a50c47be705b9d2a81506084c0c159b",
      "old_mode": 33188,
      "old_path": "quic/core/quic_connection.cc",
      "new_id": "1aaeae1b20aa0e399d9cf3159094832bb7540ac4",
      "new_mode": 33188,
      "new_path": "quic/core/quic_connection.cc"
    },
    {
      "type": "modify",
      "old_id": "8e670682c0b66aa1a5d2d593bd30b184490a1075",
      "old_mode": 33188,
      "old_path": "quic/core/quic_framer.h",
      "new_id": "2920db351c457203e48d350608e93c9c68dad9e5",
      "new_mode": 33188,
      "new_path": "quic/core/quic_framer.h"
    },
    {
      "type": "modify",
      "old_id": "f60b98fa1661a62475e1bfa776ba54dcc9330160",
      "old_mode": 33188,
      "old_path": "quic/core/quic_packet_creator.cc",
      "new_id": "3d3eb67a9c02494eb62bb05985d4c078f3634bd2",
      "new_mode": 33188,
      "new_path": "quic/core/quic_packet_creator.cc"
    },
    {
      "type": "modify",
      "old_id": "a04df436180f877485df0ee3c62f463e533a182d",
      "old_mode": 33188,
      "old_path": "quic/core/quic_packet_creator.h",
      "new_id": "d4a580552827fa8f6f23fae481d0516c5ea3810f",
      "new_mode": 33188,
      "new_path": "quic/core/quic_packet_creator.h"
    },
    {
      "type": "modify",
      "old_id": "b371bb394ccbeae14d304f3129d7b57b32e604dc",
      "old_mode": 33188,
      "old_path": "quic/core/quic_packet_creator_test.cc",
      "new_id": "57d1018d94c6462d0dc64184f3e2f47ad31e57f5",
      "new_mode": 33188,
      "new_path": "quic/core/quic_packet_creator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c50c75cf432f53c82f6e139818e6b89caf573ad0",
      "old_mode": 33188,
      "old_path": "quic/test_tools/mock_random.cc",
      "new_id": "a789cdf083b8cc42c8cfb694314b2ebb49810764",
      "new_mode": 33188,
      "new_path": "quic/test_tools/mock_random.cc"
    },
    {
      "type": "modify",
      "old_id": "63d438d457ebff478f03df2a27ffe61c6fc81437",
      "old_mode": 33188,
      "old_path": "quic/test_tools/mock_random.h",
      "new_id": "8dba8601f373644ed51c72aa3c2359ad38eeb228",
      "new_mode": 33188,
      "new_path": "quic/test_tools/mock_random.h"
    },
    {
      "type": "modify",
      "old_id": "0caf2635be70ce0d9c0e619f78ec91f944607488",
      "old_mode": 33188,
      "old_path": "quic/test_tools/quic_packet_creator_peer.cc",
      "new_id": "d638959f88b21fc3731f96383cc35c88305f8b33",
      "new_mode": 33188,
      "new_path": "quic/test_tools/quic_packet_creator_peer.cc"
    },
    {
      "type": "modify",
      "old_id": "12f0086724491ccc6ba8731eba493c809930eaa9",
      "old_mode": 33188,
      "old_path": "quic/test_tools/quic_packet_creator_peer.h",
      "new_id": "259191d214bf7aa0e7c95158398761c4858a11c0",
      "new_mode": 33188,
      "new_path": "quic/test_tools/quic_packet_creator_peer.h"
    }
  ]
}
