diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-03-27 10:42:47 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-03-27 10:42:47 +0000 |
commit | 4225e4b2d8fe131d93df97916b77910c0906c1ad (patch) | |
tree | 52a27698f502489b680f8bdca34d9df20b95d8a6 /package/hostapd/patches/552-ctrl_iface_reload.patch | |
parent | 35607da5b8150cb2d10e0e5e9c521f19ca47f677 (diff) | |
download | upstream-4225e4b2d8fe131d93df97916b77910c0906c1ad.tar.gz upstream-4225e4b2d8fe131d93df97916b77910c0906c1ad.tar.bz2 upstream-4225e4b2d8fe131d93df97916b77910c0906c1ad.zip |
hostapd: update to 20120326
SVN-Revision: 31080
Diffstat (limited to 'package/hostapd/patches/552-ctrl_iface_reload.patch')
-rw-r--r-- | package/hostapd/patches/552-ctrl_iface_reload.patch | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/package/hostapd/patches/552-ctrl_iface_reload.patch b/package/hostapd/patches/552-ctrl_iface_reload.patch deleted file mode 100644 index 00d2e77522..0000000000 --- a/package/hostapd/patches/552-ctrl_iface_reload.patch +++ /dev/null @@ -1,96 +0,0 @@ ---- a/hostapd/ctrl_iface.c -+++ b/hostapd/ctrl_iface.c -@@ -39,6 +39,7 @@ - #include "wps/wps_defs.h" - #include "wps/wps.h" - #include "ctrl_iface.h" -+#include "config_file.h" - - - struct wpa_ctrl_dst { -@@ -49,6 +50,7 @@ struct wpa_ctrl_dst { - int errors; - }; - -+static char *reload_opts = NULL; - - static void hostapd_ctrl_iface_send(struct hostapd_data *hapd, int level, - const char *buf, size_t len); -@@ -323,6 +325,66 @@ static int hostapd_ctrl_iface_disassocia - return 0; - } - -+static int hostapd_ctrl_iface_set_down(struct hostapd_data *hapd) -+{ -+ if (hapd->driver->stop_ap) -+ hapd->driver->stop_ap(hapd->drv_priv); -+ return 0; -+} -+ -+static char *get_option(char *opt, char *str) -+{ -+ int len = strlen(str); -+ -+ if (!strncmp(opt, str, len)) -+ return opt + len; -+ else -+ return NULL; -+} -+ -+static struct hostapd_config *hostapd_ctrl_iface_config_read(const char *fname) -+{ -+ struct hostapd_config *conf; -+ char *opt, *val; -+ -+ conf = hostapd_config_read(fname); -+ if (!conf) -+ return NULL; -+ -+ for (opt = strtok(reload_opts, " "); -+ opt; -+ opt = strtok(NULL, " ")) { -+ -+ if ((val = get_option(opt, "channel="))) -+ conf->channel = atoi(val); -+ else if ((val = get_option(opt, "ht_capab="))) -+ conf->ht_capab = atoi(val); -+ else if ((val = get_option(opt, "ht_capab_mask="))) -+ conf->ht_capab &= atoi(val); -+ else if ((val = get_option(opt, "sec_chan="))) -+ conf->secondary_channel = atoi(val); -+ else if ((val = get_option(opt, "hwmode="))) -+ conf->hw_mode = atoi(val); -+ else if ((val = get_option(opt, "ieee80211n="))) -+ conf->ieee80211n = atoi(val); -+ else -+ break; -+ } -+ -+ return conf; -+} -+ -+static int hostapd_ctrl_iface_reload(struct hostapd_data *hapd, char *txt) -+{ -+ struct hostapd_iface *iface = hapd->iface; -+ -+ iface->config_read_cb = hostapd_ctrl_iface_config_read; -+ reload_opts = txt; -+ -+ hostapd_reload_config(iface); -+ -+ iface->config_read_cb = hostapd_config_read; -+} - - #ifdef CONFIG_IEEE80211W - #ifdef NEED_AP_MLME -@@ -873,6 +935,10 @@ static void hostapd_ctrl_iface_receive(i - reply_len += res; - } - #endif /* CONFIG_NO_RADIUS */ -+ } else if (os_strcmp(buf, "DOWN") == 0) { -+ hostapd_ctrl_iface_set_down(hapd); -+ } else if (os_strncmp(buf, "RELOAD ", 7) == 0) { -+ hostapd_ctrl_iface_reload(hapd, buf + 7); - } else if (os_strcmp(buf, "STA-FIRST") == 0) { - reply_len = hostapd_ctrl_iface_sta_first(hapd, reply, - reply_size); |