)]}'
{
  "commit": "dcdba1814239cd891090fb3aea009c736987d66a",
  "tree": "0cb6bc4df61eb668b5cd7814d2743177b1d6412d",
  "parents": [
    "9043dc4d86a5f70418f9b81bc324a9a53cf29c67"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jul 13 15:39:00 2026 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jul 13 16:43:54 2026 +0100"
  },
  "message": "[http] Allow issuing requests with an explicitly specified HTTP method\n\nThe design of IMDSv2 within both AWS and Alibaba Cloud requires the\nclient to obtain a temporary token via an HTTP PUT request.  There is\nno authentication on this request and there is no associated request\nbody: the requirement to use PUT exists solely to reduce the attack\nsurface for SSRF attacks (since vulnerable servers are much more\nlikely to be able to be tricked into issuing a GET request than a PUT\nrequest).\n\niPXE can currently issue requests using HTTP GET (if the request body\nis empty) or HTTP POST (if the request body includes form parameters).\nThere is no support for issuing a PUT request, or for allowing a\nscript to explicitly specify the HTTP method.\n\nAdd a \"--method\" option to the \"params\" command to allow an arbitrary\nrequest method name to be specified, and use this as the HTTP request\nmethod.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b14accafec9feeed7de82ed9bf860e134a30a3e4",
      "old_mode": 33188,
      "old_path": "src/core/params.c",
      "new_id": "bd96501d721c677c1378fe887e6c3c6c430d48c8",
      "new_mode": 33188,
      "new_path": "src/core/params.c"
    },
    {
      "type": "modify",
      "old_id": "ed57c5eaac3fb8edbc39c8cb66a1a2256904be0f",
      "old_mode": 33188,
      "old_path": "src/hci/commands/param_cmd.c",
      "new_id": "aec3895c5d52c6192abef7686bf8658f34eb47ae",
      "new_mode": 33188,
      "new_path": "src/hci/commands/param_cmd.c"
    },
    {
      "type": "modify",
      "old_id": "e84a75237b4991a45317bf2f2dfe142b1048792f",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/http.h",
      "new_id": "e96c2c881407f86dcaa50daea1830767eba18183",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/http.h"
    },
    {
      "type": "modify",
      "old_id": "64008380e8fc689fee66f125560f241868d63280",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/params.h",
      "new_id": "bb7420b1d71e316e9e690c8a4e64f0d20c298ffd",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/params.h"
    },
    {
      "type": "modify",
      "old_id": "1180faa987e720bf39f21bd7325531e7e2b68948",
      "old_mode": 33188,
      "old_path": "src/net/tcp/httpcore.c",
      "new_id": "7dbb0e3044b31364e0ef231a931f62b1d9d5923a",
      "new_mode": 33188,
      "new_path": "src/net/tcp/httpcore.c"
    },
    {
      "type": "modify",
      "old_id": "fa46e22f2de5a99e7ce53cc91d43b3e59d0a051c",
      "old_mode": 33188,
      "old_path": "src/tests/uri_test.c",
      "new_id": "96942c3935b7acbb6cf17bddee7f8c273c7b8103",
      "new_mode": 33188,
      "new_path": "src/tests/uri_test.c"
    }
  ]
}
