)]}'
{
  "commit": "19daabe3836ad2a9cff8b96df89eaca8e672b205",
  "tree": "e7a8c6faf2b93dcb0679cf63e195dda6d2e7b6e2",
  "parents": [
    "25a3d3acabeec97c4a4cb8ed8fb90853e8a195c3"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Jun 09 14:03:48 2023 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Jun 09 14:27:37 2023 +0100"
  },
  "message": "[efi] Provide read-only access to EFI variables via settings mechanism\n\nEFI variables do not map neatly to the iPXE settings mechanism, since\nthe EFI variable identifier includes a namespace GUID that cannot\ncleanly be supplied as part of a setting name.  Creating a new EFI\nvariable requires the variable\u0027s attributes to be specified, which\ndoes not fit within iPXE\u0027s settings concept.\n\nHowever, EFI variable names are generally unique even without the\nnamespace GUID, and EFI does provide a mechanism to iterate over all\nexistent variables.  We can therefore provide read-only access to EFI\nvariables by comparing only the names and ignoring the namespace\nGUIDs.\n\nProvide an \"efi\" settings block that implements this mechanism.\nSettings are returned as raw binary values by default since an EFI\nvariable may contain boolean flags, integer values, ASCII strings,\nUCS-2 strings, EFI device paths, X.509 certificates, or any other\narbitrary blob of data.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "40f9c72c1bfbbb71281161e4dc802ed0372a0998",
      "old_mode": 33188,
      "old_path": "src/config/config.c",
      "new_id": "abb7d16a2681916b1893b6e6d982af38b62cb804",
      "new_mode": 33188,
      "new_path": "src/config/config.c"
    },
    {
      "type": "modify",
      "old_id": "8e53b9ab6a435cf958906007ca00e9d328aec700",
      "old_mode": 33188,
      "old_path": "src/config/defaults/efi.h",
      "new_id": "cb9e2348a0087bd0b63c7cb0959afb8fd5daa090",
      "new_mode": 33188,
      "new_path": "src/config/defaults/efi.h"
    },
    {
      "type": "modify",
      "old_id": "d9c86a384ca8ad9fdc554979a0c48369975a494c",
      "old_mode": 33188,
      "old_path": "src/config/settings.h",
      "new_id": "d7f787d38e762a387b57239f6bfab0e1da54ae6f",
      "new_mode": 33188,
      "new_path": "src/config/settings.h"
    },
    {
      "type": "modify",
      "old_id": "daa038c52b718d176284331a97df18f6f2a02aec",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/errfile.h",
      "new_id": "320835a3439d3eb611ce3b88583c9cf3b2400c39",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/errfile.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cde0ff8d12d1161988a5cb8c41c175687c64f948",
      "new_mode": 33188,
      "new_path": "src/interface/efi/efi_settings.c"
    }
  ]
}
