)]}'
{
  "commit": "92807f5759e0207aaa909ee0e1429478f210aff1",
  "tree": "d5378ce55e0be18014e8c443e3bcf6219ac8eedf",
  "parents": [
    "065dce8d5950938a7250a93c2630c4b53d2e8293"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jun 07 12:01:10 2021 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Mon Jun 07 12:01:10 2021 +0100"
  },
  "message": "[rndis] Fix size of reserved fields\n\nMost RNDIS data structures include a trailing 4-byte reserved field.\nFor the REMOTE_NDIS_PACKET_MSG and REMOTE_NDIS_INITIALIZE_CMPLT\nstructures, this is an 8-byte field instead.\n\niPXE currently uses incorrect structure definitions with a 4-byte\nreserved field in all data structures, resulting in data payloads that\noverlap the last 4 bytes of the 8-byte reserved field.\n\nRNDIS uses explicit offsets to locate any data payloads beyond the\nmessage header, and so liberal RNDIS parsers (such as those used in\nHyper-V and in the Linux USB Ethernet gadget driver) are still able to\nparse the malformed structures.\n\nA stricter RNDIS parser (such as that found in some older Android\nbuilds that seem to use an out-of-tree USB Ethernet gadget driver) may\nreject the malformed structures since the data payload offset is less\nthan the header length, causing iPXE to be unable to transmit packets.\n\nFix by correcting the length of the reserved fields.\n\nDebugged-by: Martin Nield \u003cpmn1492@gmail.com\u003e\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bcb6d8e6a720450da3eda290779ff8d85a0c434c",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/rndis.h",
      "new_id": "e8ece1e856693f25f6ed0d50a667be0f0389fa74",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/rndis.h"
    }
  ]
}
