)]}'
{
  "commit": "f4690dbfcd2ec822d1821293181f192e16500120",
  "tree": "d866c38cf87525d7fe37919d29a61d8b87d81ba7",
  "parents": [
    "c41eb4d43aa529a3a7a7548d7e8786ab45bee345"
  ],
  "author": {
    "name": "dschinazi",
    "email": "dschinazi@google.com",
    "time": "Fri Dec 20 12:49:15 2024 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Dec 20 12:50:15 2024 -0800"
  },
  "message": "Switch QUIC version negotiation to RFC codepoint\n\nThis CL replaces the codepoint from draft-ietf-quic-version-negotiation-13 with the one from RFC 9368. The flag protection is designed so that we\u0027ll be fully switched over once we deprecate the quic_version_negotiation_rfc flag.\n\nIt\u0027s worth noting that this means that older software won\u0027t interoperate with new software when it comes to this extension. This is acceptable because this extension is currently not relied upon: since we don\u0027t support compatible version negotiation, the only benefit of this extension is to prevent version downgrades, but right now our code only supports versions of IETF QUIC with equal security properties, so it does not actually provide any protections at the moment.\n\nNote that this also means that the strings and logs don\u0027t differentiate between the old and new value, so logs will be slightly ambiguous during the transition period if we get a log without knowing the value of the flag.\n\nAlternatively, we could have instead used a succession of flags with support for multiple versions throughout a lengthy transition, but that would have significantly increased the engineering work and delayed the transition for no observable benefit.\n\nProtected by FLAGS_quic_reloadable_flag_quic_version_negotiation_rfc.\n\nPiperOrigin-RevId: 708402132\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1c7b8bd712cc092c94bd7ac9ddbab3bf9840736b",
      "old_mode": 33261,
      "old_path": "quiche/common/quiche_feature_flags_list.h",
      "new_id": "dbdcb33a8bc03fca97104d67e212c71691361ba3",
      "new_mode": 33261,
      "new_path": "quiche/common/quiche_feature_flags_list.h"
    },
    {
      "type": "modify",
      "old_id": "f03e67e1d12091f1bbcee9e6be06929037cfb213",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/crypto/transport_parameters.cc",
      "new_id": "f675fb64000591fc9aadccfd6f12b60767c24b73",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/crypto/transport_parameters.cc"
    },
    {
      "type": "modify",
      "old_id": "8f3c6c9acbed737e974e79506b000a03af891269",
      "old_mode": 33188,
      "old_path": "quiche/quic/core/crypto/transport_parameters_test.cc",
      "new_id": "3c24731e5c1b55a42d8b36b306331ccb0c9803f3",
      "new_mode": 33188,
      "new_path": "quiche/quic/core/crypto/transport_parameters_test.cc"
    }
  ]
}
