)]}'
{
  "commit": "82265f37165d7dccc562065ba6b7e0bc56b80380",
  "tree": "d52d4292501b98af7f34df354507f5ad6fa03a12",
  "parents": [
    "7ad8059b59c02e3a1c7481142401347546533c48"
  ],
  "author": {
    "name": "martinduke",
    "email": "martinduke@google.com",
    "time": "Thu Aug 28 14:26:07 2025 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Aug 28 14:26:54 2025 -0700"
  },
  "message": "Close Connection when outgoing ACK frame is empty.\n\nThis can only happen when the peer is misbehaving, sending an opportunistic ACK for a packet it could not have received. Opportunistic ACKs are potentially an attack.\n\nUntil quic_least_unacked_plus_1 was verified, the failure to clear all obsolete ACK blocks masked this bug.\n\nProtected by FLAGS_quic_reloadable_flag_quic_fail_on_empty_ack.\n\nPiperOrigin-RevId: 800613375\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b81922ee7162ba65848941dd3f2c55d5ea3f386",
      "old_mode": 33261,
      "old_path": "quiche/common/quiche_feature_flags_list.h",
      "new_id": "1f7b2bf3f99420f12e1b419b79b5dc7865de8449",
      "new_mode": 33261,
      "new_path": "quiche/common/quiche_feature_flags_list.h"
    },
    {
      "type": "modify",
      "old_id": "2e6e8724353fd44d8ffa0062fbe9b90308e4cf9d",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_connection.cc",
      "new_id": "06050eeb622657d5964c1bacd9671c4286e4ecae",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_connection.cc"
    },
    {
      "type": "modify",
      "old_id": "050c2495e17500f25babb9baa93bf7c620b6de5f",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/quic_connection_test.cc",
      "new_id": "acfa855694f1beba94fb7038850804e3f9034b07",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/quic_connection_test.cc"
    }
  ]
}
