)]}'
{
  "commit": "5e427326ead3e3f7fb2002df33aa43a7195a0713",
  "tree": "0c35342af5c7741de8929563c875b514bfcb2b76",
  "parents": [
    "3faae34685c025449e9e1d54895d269d9a589df2"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sat Jun 06 16:43:09 2026 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Sat Jun 06 16:53:04 2026 +0100"
  },
  "message": "[crypto] Remove elliptic curve abstraction for X25519\n\nX25519 is defined as a key exchange algorithm, not as a generic\nelliptic curve.  We have never supported arbitrary point addition on\nthe underlying curve, and we have never supported pure multiplication\n(without the clamping defined in RFC7748, which modifies the scalar\nmultiple).\n\nNow that we have an abstraction for key exchange that exists\nindependently of the elliptic curve abstraction, there are no further\nconsumers of the elliptic curve abstraction for X25519.  Remove this\nredundant abstraction to simplify the codebase.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "da05efb1f7c56443ab0f1c59dc32001b9f8266af",
      "old_mode": 33188,
      "old_path": "src/crypto/mishmash/oid_x25519.c",
      "new_id": "6da8f3559a47c7c89c1aa1259609b7436a9e4341",
      "new_mode": 33188,
      "new_path": "src/crypto/mishmash/oid_x25519.c"
    },
    {
      "type": "modify",
      "old_id": "2a174a5012c8887f3af3d6abeb95a49868ff5325",
      "old_mode": 33188,
      "old_path": "src/crypto/x25519.c",
      "new_id": "58382bc8914745ab055c642f2812d189b68a1df1",
      "new_mode": 33188,
      "new_path": "src/crypto/x25519.c"
    },
    {
      "type": "modify",
      "old_id": "358746366d3eda614dc54a7619dc639d6f87675c",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/x25519.h",
      "new_id": "88f3d66c1292c826194c331ecef8d8f1c853b4e2",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/x25519.h"
    }
  ]
}
