)]}'
{
  "commit": "54f21233321b7a5ef64386f2dc11156039ae32a4",
  "tree": "206fc23248e5ec653897968def06192c3154f29e",
  "parents": [
    "51484c694f99d211587d24e5d3e2634b12f978f6"
  ],
  "author": {
    "name": "dschinazi",
    "email": "dschinazi@google.com",
    "time": "Tue Dec 03 13:46:46 2024 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Dec 03 13:47:30 2024 -0800"
  },
  "message": "Chaos Protection v2\n\nThis CL adds support for multi-packet chaos protection. While the first version of Chaos Protection would scramble the ClientHello if it fit in a CRYPTO frame in a single packet, the emergence of post-quantum cryptography has now caused the ClientHello to span multiple packets. Chaos Protection v2 now scrambles the ClientHello across packets, such that it is now required to parse all of them in order to extract information such as the SNI.\n\nThis CL also removes automatic flushing of initial crypto packets in the packet creator. This is safe because all uses of such functions are guaranteed to use a scope packed flusher anyway.\n\nNote that --quic_enable_new_chaos_protector is still marked as enabled_blocked_by so it is safe to add new functionality behind it.\n\nProtected by FLAGS_quic_enable_new_chaos_protector.\n\nPiperOrigin-RevId: 702456667\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8fc8d90f198560093b7d04ebcddab81b298f0130",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_chaos_protector.cc",
      "new_id": "0a1d3d1d6060aea6fc2bca6130805642376a2724",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_chaos_protector.cc"
    },
    {
      "type": "modify",
      "old_id": "68f8594d1baa9a294f7bfc04bf9808ceaef7714c",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_connection_test.cc",
      "new_id": "da3e87d78edcccd79bd251a7f25a30b5f1d5b715",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_connection_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5e5aa9cfa2c470c0c42eb573230084e30cb59432",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_packet_creator.cc",
      "new_id": "f982ea810220f6d7ff595ae2082c5fe0fc784644",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_packet_creator.cc"
    },
    {
      "type": "modify",
      "old_id": "0d0a060c19ba1072eb8c3c8c101d43519aa46f64",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_packet_creator.h",
      "new_id": "0d2ba4b366d8887ae5e6402530d6b972903c865d",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_packet_creator.h"
    },
    {
      "type": "modify",
      "old_id": "849fcca0bb8c792c7a841fc0fb30cbceee48d6fa",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_packet_creator_test.cc",
      "new_id": "f4e32e9cc8cb190ad6d6b2e24bef07a9b594f86b",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_packet_creator_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d788ec39946eb9d42b06c18c7bc4a7df9875837f",
      "old_mode": 33188,
      "old_path": "quiche/quic/test_tools/simple_data_producer.cc",
      "new_id": "30e46464e29b2ee5a0c714b12bdf3bd974b222d5",
      "new_mode": 33188,
      "new_path": "quiche/quic/test_tools/simple_data_producer.cc"
    }
  ]
}
