)]}'
{
  "commit": "7cd92e01d6514b2c8091999f9bce8aef22a1d586",
  "tree": "65b985a162ab346a7e43657811aacf10528805b1",
  "parents": [
    "267445294af9d9146ac9a916e5e846983ff1ad92"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Sep 14 22:47:45 2026 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Sep 14 22:47:45 2026 +0100"
  },
  "message": "[tls] Handle TLS version 1.3 client Finished\n\nThe TLS version 1.3 client Finished is somewhat messy to handle: its\nverify_data must be calculated with the key schedule still holding the\nclient handshake traffic secret, the application traffic secret must\nbe calculated before the client Finished is added to the transcript\ndigest, and the application traffic keys must be activated only after\nsending the client Finished.  Since the action of sending the client\nFinished also adds the client Finished to the transcript digest, this\nnecessitates an awkward sequence of events.  (A cleaner protocol\ndesign might have chosen to derive the client application traffic\nsecret from the transcript digest up to and including the client\nFinished.)\n\nPerform the various necessary contortions to construct the client\nFinished and to transition to using the application traffic secrets.\n\nWith this commit, TLS version 1.3 is functional for the first time.\nIt is not yet enabled by default, since there are still some missing\nfeatures such as session resumption.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cbfd7de561d37d7791bf1da5a18f30f89c6e966",
      "old_mode": 33188,
      "old_path": "src/net/tls.c",
      "new_id": "6bb797e875417d7684c0a27fdb84630824f49633",
      "new_mode": 33188,
      "new_path": "src/net/tls.c"
    }
  ]
}
