)]}'
{
  "commit": "026331c4d9b526561ea96f95fac4bfc52b69e316",
  "tree": "a82b0a92a7f03a1d151a9db123320689c73d98c7",
  "parents": [
    "8404080568613d93ad7cf0a16dfb68459b42a264"
  ],
  "author": {
    "name": "Jouni Malinen",
    "email": "jouni.malinen@atheros.com",
    "time": "Mon Feb 15 12:53:10 2010 +0200"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Mon Feb 15 16:14:15 2010 -0500"
  },
  "message": "cfg80211/mac80211: allow registering for and sending action frames\n\nThis implements a new command to register for action frames\nthat userspace wants to handle instead of the in-kernel\nrejection. It is then responsible for rejecting ones that\nit decided not to handle. There is no unregistration, but\nthe socket can be closed for that.\n\nFrames that are not registered for will not be forwarded\nto userspace and will be rejected by the kernel, the\ncfg80211 API helps implementing that.\n\nAdditionally, this patch adds a new command that allows\ndoing action frame transmission from userspace. It can be\nused either to exchange action frames on the current\noperational channel (e.g., with the AP with which we are\ncurrently associated) or to exchange off-channel Public\nAction frames with the remain-on-channel command.\n\nSigned-off-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "127a73015760ec4cb4b4b216e490c41cd77c07a1",
      "old_mode": 33188,
      "old_path": "include/linux/nl80211.h",
      "new_id": "8e6384f8fda620f891a093fe539de0d602426c50",
      "new_mode": 33188,
      "new_path": "include/linux/nl80211.h"
    },
    {
      "type": "modify",
      "old_id": "5b3569b2a74c9b1ff73bd30b0dff0619fb08bfe6",
      "old_mode": 33188,
      "old_path": "include/net/cfg80211.h",
      "new_id": "7188934b64d3b33cb476bd46b78d8a6d76f21310",
      "new_mode": 33188,
      "new_path": "include/net/cfg80211.h"
    },
    {
      "type": "modify",
      "old_id": "314e98173166993aa335f36fd11740a21a965996",
      "old_mode": 33188,
      "old_path": "include/net/mac80211.h",
      "new_id": "80eb7cc42ce94760385537455cbc495d6c3a483c",
      "new_mode": 33188,
      "new_path": "include/net/mac80211.h"
    },
    {
      "type": "modify",
      "old_id": "e1731b7c2523b148577c0d6d82fc43ebb72c1e73",
      "old_mode": 33188,
      "old_path": "net/mac80211/cfg.c",
      "new_id": "b7116ef84a3b019898ddbe6bc5a64cac3e34bcae",
      "new_mode": 33188,
      "new_path": "net/mac80211/cfg.c"
    },
    {
      "type": "modify",
      "old_id": "9dd98b674cbc34f370af755324eeac0dd817a9b9",
      "old_mode": 33188,
      "old_path": "net/mac80211/ieee80211_i.h",
      "new_id": "241533e1bc03116304d64d4ba9f10c34af255ec3",
      "new_mode": 33188,
      "new_path": "net/mac80211/ieee80211_i.h"
    },
    {
      "type": "modify",
      "old_id": "bfc4a507001362a06bd775135548d8610274df7c",
      "old_mode": 33188,
      "old_path": "net/mac80211/mlme.c",
      "new_id": "41812a15eea03bfc682b3e7bf009046a6dd26d22",
      "new_mode": 33188,
      "new_path": "net/mac80211/mlme.c"
    },
    {
      "type": "modify",
      "old_id": "a177472adc1341b0c4dc708fdedc0d3f8e4e3d35",
      "old_mode": 33188,
      "old_path": "net/mac80211/rx.c",
      "new_id": "a6080d8d72bbfa2ed2362b382e19c969d3b725bd",
      "new_mode": 33188,
      "new_path": "net/mac80211/rx.c"
    },
    {
      "type": "modify",
      "old_id": "ded98730c1114fcc53bb04bf7995532e001015ba",
      "old_mode": 33188,
      "old_path": "net/mac80211/status.c",
      "new_id": "56d5b9a6ec5b7fcfd433d2da9280bd24d27d1fda",
      "new_mode": 33188,
      "new_path": "net/mac80211/status.c"
    },
    {
      "type": "modify",
      "old_id": "71b6b3a9cf1f1b38484a1764c43d17d3c0372d86",
      "old_mode": 33188,
      "old_path": "net/wireless/core.c",
      "new_id": "51908dc2ea0077a01244c23c6aa6ecbd9e884b08",
      "new_mode": 33188,
      "new_path": "net/wireless/core.c"
    },
    {
      "type": "modify",
      "old_id": "c326a667022aba000cf7a880eb87d9e02431d328",
      "old_mode": 33188,
      "old_path": "net/wireless/core.h",
      "new_id": "d52da913145a82c96c1be83f84a7771909da8763",
      "new_mode": 33188,
      "new_path": "net/wireless/core.h"
    },
    {
      "type": "modify",
      "old_id": "94d151f6f73e8539e1ab789b684da38c1833f9ac",
      "old_mode": 33188,
      "old_path": "net/wireless/mlme.c",
      "new_id": "62bc8855e1237db6b7d83f7a19c79e5c3976a0f7",
      "new_mode": 33188,
      "new_path": "net/wireless/mlme.c"
    },
    {
      "type": "modify",
      "old_id": "a95ab9e4c19e40f233afd0cc59f62fcee8cf159e",
      "old_mode": 33188,
      "old_path": "net/wireless/nl80211.c",
      "new_id": "328112081358b9bb826acf6a3042d97aa21cf846",
      "new_mode": 33188,
      "new_path": "net/wireless/nl80211.c"
    },
    {
      "type": "modify",
      "old_id": "14855b8fb4303945a06e20045a6c31a2f1a51488",
      "old_mode": 33188,
      "old_path": "net/wireless/nl80211.h",
      "new_id": "4ca511102c6c669ac2b2becb08821a8918e70da4",
      "new_mode": 33188,
      "new_path": "net/wireless/nl80211.h"
    }
  ]
}
