)]}'
{
  "commit": "0cf227229bfd288a67fd9d4005ee01ffdb492c70",
  "tree": "4477c2d229a3fb89acdf810657df3ca02194d5c8",
  "parents": [
    "7b36f78274e701ee17db3171ec7e9f732a60f031"
  ],
  "author": {
    "name": "Laurent Vivier",
    "email": "laurent@vivier.eu",
    "time": "Wed Oct 28 21:40:45 2015 +0100"
  },
  "committer": {
    "name": "Riku Voipio",
    "email": "riku.voipio@linaro.org",
    "time": "Fri Jan 08 15:20:15 2016 +0200"
  },
  "message": "linux-user: manage bind with a socket of SOCK_PACKET type.\n\nThis is obsolete, but if we want to use dhcp with an old distro (like debian\netch), we need it. Some users (like dhclient) use SOCK_PACKET with AF_PACKET\nand the kernel allows that.\n\npacket(7)\n\n  In Linux 2.0, the only way to  get  a  packet  socket  was  by calling\n  socket(AF_INET,  SOCK_PACKET,  protocol).   This is still supported but\n  strongly deprecated.  The main difference between the  two methods  is\n  that  SOCK_PACKET uses the old struct sockaddr_pkt to specify an inter‐\n  face, which doesn\u0027t provide physical layer independence.\n\n     struct sockaddr_pkt {\n         unsigned short spkt_family;\n         unsigned char  spkt_device[14];\n         unsigned short spkt_protocol;\n     };\n\n  spkt_family contains the device type, spkt_protocol is the  IEEE 802.3\n  protocol  type  as  defined  in \u003csys/if_ether.h\u003e and spkt_device is the\n  device name as a null-terminated string, for example, eth0.\n\nSigned-off-by: Laurent Vivier \u003claurent@vivier.eu\u003e\nSigned-off-by: Riku Voipio \u003criku.voipio@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3484132e34bdc1622a46d59002317c88679d559a",
      "old_mode": 33188,
      "old_path": "linux-user/syscall.c",
      "new_id": "94d64fa30ddcc636198c6eb65025cd9d95c2034e",
      "new_mode": 33188,
      "new_path": "linux-user/syscall.c"
    }
  ]
}
