)]}'
{
  "commit": "43d4f0a6b822c9ba144577338bd6a3728ad79975",
  "tree": "3d5394bf4ff083df27b7eaf2bacad0b2cee9b379",
  "parents": [
    "e286d006cb463ffb24447b350a0b706fe68bcea5"
  ],
  "author": {
    "name": "danzh",
    "email": "danzh@google.com",
    "time": "Thu Nov 04 13:17:08 2021 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Nov 04 13:18:02 2021 -0700"
  },
  "message": "Validate QUIC request/response headers against invalid token and disallowed headers.\nAdd empty string to disallow-list.\nSplit --gfe2_reloadable_flag_quic_verify_request_headers into 2 flags:\n--gfe2_reloadable_flag_quic_verify_request_headers_2 to validate QUIC request/response headers against invalid request with ratio monitoring; mark H2 request with empty string header as invalid earlier in H2 stack.\n--gfe2_reloadable_flag_quic_act_upon_invalid_header return error response upon any invalid QUIC request header.\n\nProtected by quic_reloadable_flag_quic_verify_request_headers_2 and quic_reloadable_flag_quic_act_upon_invalid_header.\n\nPiperOrigin-RevId: 407654730\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7ffdb047cdb520db5ad7945d58624a2ae656c0ff",
      "old_mode": 33188,
      "old_path": "http2/http2_constants.cc",
      "new_id": "6feea193ec2d7edba3f7e67bb6ac3ea8e086b930",
      "new_mode": 33188,
      "new_path": "http2/http2_constants.cc"
    },
    {
      "type": "modify",
      "old_id": "eae2996844d0d0420cf6764ebec795e38fda335e",
      "old_mode": 33188,
      "old_path": "quic/core/http/end_to_end_test.cc",
      "new_id": "949e70396661c392df4180209d73dbda1d1cb63b",
      "new_mode": 33188,
      "new_path": "quic/core/http/end_to_end_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7c71abeed9d0ee1d1affd6a29e5d4b617ca4ae20",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_send_control_stream_test.cc",
      "new_id": "fa1e584d4025115721caae3c0d194c8d8919ceef",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_send_control_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4ba3fc901b27c8005b97b3d4879e148542f8bc53",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_client_stream.cc",
      "new_id": "2491900c80db2736ad68c40bae584e9016620e1c",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_client_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "11f81e556d30b90dec128e138655730e7bb84f74",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_client_stream_test.cc",
      "new_id": "32a0c0c387610b7edd77721b5432736ed51b0c9a",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_client_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7431d86d86543a4210536b20347e78ab614feba0",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_server_stream_base.cc",
      "new_id": "8b57fb67230da2e091cb7553a6294652da4e1456",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_server_stream_base.cc"
    },
    {
      "type": "modify",
      "old_id": "92c2d083c306452910e3ac718cac0dadff76a5a5",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_server_stream_base_test.cc",
      "new_id": "ae227812cf2d774809c0fee506fab1312d359576",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_server_stream_base_test.cc"
    },
    {
      "type": "modify",
      "old_id": "54fda98f93cde95c615fcbb512ddc44420faf17c",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session.cc",
      "new_id": "2d7d906fabff494f825786121f19db601c7ffbd1",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session.cc"
    },
    {
      "type": "modify",
      "old_id": "964f6fb0485a82a3d375543c380f421c73ea2a31",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session_test.cc",
      "new_id": "834cd186cbe052e24d4469965f6527a824ae94cc",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7cb50c0cd392ec162049f97cb4e5725357705f23",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream.cc",
      "new_id": "8147ce00dcc0bd0d08b26646bf124d2d6f4214a0",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "2732de246ca9422832278fc713ad7a962abd2ad7",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_stream_test.cc",
      "new_id": "3bad6efe6ee0d12b3c8552fa2a04a0b338a40b85",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fb6032bd9aaed52458f2a3a501b6524e5b1d5a7e",
      "old_mode": 33188,
      "old_path": "quic/core/quic_flags_list.h",
      "new_id": "9ad90f4661f271e3d3f1afb72b4a0931c2efd177",
      "new_mode": 33188,
      "new_path": "quic/core/quic_flags_list.h"
    },
    {
      "type": "modify",
      "old_id": "1d8580506259e3bb9b0e8971aa0391247f80749f",
      "old_mode": 33188,
      "old_path": "quic/test_tools/quic_test_server.cc",
      "new_id": "e8aee790f2368bfd8b869b3c02715b3f4c5621eb",
      "new_mode": 33188,
      "new_path": "quic/test_tools/quic_test_server.cc"
    },
    {
      "type": "modify",
      "old_id": "84e707133234c6d47c1852842a8b70ac69c50d30",
      "old_mode": 33188,
      "old_path": "quic/tools/quic_simple_server_stream.cc",
      "new_id": "0ea0e50ae6afed042aa1095b84d2a307b3541a12",
      "new_mode": 33188,
      "new_path": "quic/tools/quic_simple_server_stream.cc"
    }
  ]
}
