Changeset 31080 for trunk


Ignore:
Timestamp:
2012-03-27T12:42:47+02:00 (5 years ago)
Author:
nbd
Message:

hostapd: update to 20120326

Location:
trunk/package/hostapd
Files:
3 added
8 deleted
2 edited
20 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/hostapd/Makefile

    r30666 r31080  
    99 
    1010PKG_NAME:=hostapd 
    11 PKG_VERSION:=20111103 
    12 PKG_RELEASE:=3 
    13 PKG_REV:=6caaae1e48da247b21b54ea6001646597e35d9b1 
     11PKG_VERSION:=20120326 
     12PKG_RELEASE:=1 
     13PKG_REV:=f4329aa2d08192640532b712936f5221580e9f8c 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
  • trunk/package/hostapd/patches/100-pending_work.patch

    r29876 r31080  
    11--- a/src/ap/ieee802_11.c 
    22+++ b/src/ap/ieee802_11.c 
    3 @@ -1471,13 +1471,6 @@ static void handle_assoc_cb(struct hosta 
     3@@ -1488,13 +1488,6 @@ static void handle_assoc_cb(struct hosta 
    44        int new_assoc = 1; 
    55        struct ieee80211_ht_capabilities ht_cap; 
     
    1515                                      sizeof(mgmt->u.assoc_resp))) { 
    1616                printf("handle_assoc_cb(reassoc=%d) - too short payload " 
    17 @@ -1485,11 +1478,6 @@ static void handle_assoc_cb(struct hosta 
     17@@ -1502,11 +1495,6 @@ static void handle_assoc_cb(struct hosta 
    1818                return; 
    1919        } 
     
    2727        if (!sta) { 
    2828                printf("handle_assoc_cb: STA " MACSTR " not found\n", 
    29 @@ -1497,6 +1485,19 @@ static void handle_assoc_cb(struct hosta 
     29@@ -1514,6 +1502,19 @@ static void handle_assoc_cb(struct hosta 
    3030                return; 
    3131        } 
     
    4747                goto fail; 
    4848  
     49@@ -1812,6 +1813,9 @@ void ieee802_11_rx_from_unknown(struct h 
     50  
     51        sta = ap_get_sta(hapd, src); 
     52        if (sta && (sta->flags & WLAN_STA_ASSOC)) { 
     53+               if (!hapd->conf->wds_sta) 
     54+                       return; 
     55+ 
     56                if (wds && !(sta->flags & WLAN_STA_WDS)) { 
     57                        wpa_printf(MSG_DEBUG, "Enable 4-address WDS mode for " 
     58                                   "STA " MACSTR " (aid %u)", 
    4959--- a/src/drivers/driver_nl80211.c 
    5060+++ b/src/drivers/driver_nl80211.c 
    51 @@ -181,6 +181,7 @@ struct i802_bss { 
    52         struct wpa_driver_nl80211_data *drv; 
    53         struct i802_bss *next; 
    54         int ifindex; 
    55 +       u8 addr[ETH_ALEN]; 
    56         char ifname[IFNAMSIZ + 1]; 
    57         char brname[IFNAMSIZ]; 
    58         unsigned int beacon_set:1; 
    59 @@ -191,7 +192,6 @@ struct i802_bss { 
    60  struct wpa_driver_nl80211_data { 
    61         struct nl80211_global *global; 
    62         struct dl_list list; 
    63 -       u8 addr[ETH_ALEN]; 
    64         char phyname[32]; 
    65         void *ctx; 
    66         int ifindex; 
    67 @@ -2482,7 +2482,7 @@ wpa_driver_nl80211_finish_drv_init(struc 
    68                 return -1; 
     61@@ -2588,10 +2588,10 @@ static int wpa_driver_nl80211_capa(struc 
     62        drv->data_tx_status = info.data_tx_status; 
    6963  
    70         if (linux_get_ifhwaddr(drv->global->ioctl_sock, bss->ifname, 
    71 -                              drv->addr)) 
    72 +                              bss->addr)) 
    73                 return -1; 
     64        /* 
     65-        * If poll command is supported mac80211 is new enough to 
     66-        * have everything we need to not need monitor interfaces. 
     67+        * If poll command and tx status are supported, mac80211 is new enough 
     68+        * to have everything we need to not need monitor interfaces. 
     69         */ 
     70-       drv->use_monitor = !info.poll_command_supported; 
     71+       drv->use_monitor = !info.poll_command_supported || !info.data_tx_status; 
    7472  
    75         if (nl80211_register_action_frames(drv) < 0) { 
    76 @@ -5176,8 +5176,8 @@ static int wpa_driver_nl80211_hapd_send_ 
     73        if (drv->device_ap_sme && drv->use_monitor) { 
     74                /* 
     75@@ -6267,8 +6267,8 @@ static int wpa_driver_nl80211_hapd_send_ 
    7776        pos = (u8 *) (hdr + 1); 
    7877  
     
    8584                pos += 2; 
    8685        } 
    87 @@ -6407,7 +6407,7 @@ static int i802_set_wds_sta(void *priv,  
    88                 if (!if_nametoindex(name)) { 
    89                         if (nl80211_create_iface(drv, name, 
    90                                                  NL80211_IFTYPE_AP_VLAN, 
    91 -                                                NULL, 1) < 0) 
    92 +                                                bss->addr, 1) < 0) 
    93                                 return -1; 
    94                         if (bridge_ifname && 
    95                             linux_br_add_if(drv->global->ioctl_sock, 
    96 @@ -6417,6 +6417,10 @@ static int i802_set_wds_sta(void *priv,  
     86@@ -7533,6 +7533,10 @@ static int i802_set_wds_sta(void *priv,  
    9787                linux_set_iface_flags(drv->global->ioctl_sock, name, 1); 
    9888                return i802_set_sta_vlan(priv, addr, name, 0); 
     
    10595                return wpa_driver_nl80211_if_remove(priv, WPA_IF_AP_VLAN, 
    10696                                                    name); 
    107 @@ -6625,7 +6629,7 @@ static int nl80211_addr_in_use(struct nl 
    108         struct wpa_driver_nl80211_data *drv; 
    109         dl_list_for_each(drv, &global->interfaces, 
    110                          struct wpa_driver_nl80211_data, list) { 
    111 -               if (os_memcmp(addr, drv->addr, ETH_ALEN) == 0) 
    112 +               if (os_memcmp(addr, drv->first_bss.addr, ETH_ALEN) == 0) 
    113                         return 1; 
    114         } 
    115         return 0; 
    116 @@ -6640,9 +6644,9 @@ static int nl80211_p2p_interface_addr(st 
    117         if (!drv->global) 
    118                 return -1; 
    119   
    120 -       os_memcpy(new_addr, drv->addr, ETH_ALEN); 
    121 +       os_memcpy(new_addr, drv->first_bss.addr, ETH_ALEN); 
    122         for (idx = 0; idx < 64; idx++) { 
    123 -               new_addr[0] = drv->addr[0] | 0x02; 
    124 +               new_addr[0] = drv->first_bss.addr[0] | 0x02; 
    125                 new_addr[0] ^= idx << 2; 
    126                 if (!nl80211_addr_in_use(drv->global, new_addr)) 
    127                         break; 
    128 @@ -6745,6 +6749,7 @@ static int wpa_driver_nl80211_if_add(voi 
    129                         os_free(new_bss); 
    130                         return -1; 
    131                 } 
    132 +               memcpy(new_bss->addr, addr ? addr : if_addr, ETH_ALEN); 
    133                 os_strlcpy(new_bss->ifname, ifname, IFNAMSIZ); 
    134                 new_bss->ifindex = ifidx; 
    135                 new_bss->drv = drv; 
    136 @@ -6775,7 +6780,12 @@ static int wpa_driver_nl80211_if_remove( 
     97@@ -7900,7 +7904,12 @@ static int wpa_driver_nl80211_if_remove( 
    13798        if (ifindex <= 0) 
    13899                return -1; 
     
    147108                if (linux_br_del_if(drv->global->ioctl_sock, bss->brname, 
    148109                                    bss->ifname) < 0) 
    149 @@ -6789,13 +6799,6 @@ static int wpa_driver_nl80211_if_remove( 
     110@@ -7914,13 +7923,6 @@ static int wpa_driver_nl80211_if_remove( 
    150111                                   "bridge %s: %s", 
    151112                                   bss->brname, strerror(errno)); 
     
    161122        if (bss != &drv->first_bss) { 
    162123                struct i802_bss *tbss; 
    163 --- a/src/ap/wpa_auth.c 
    164 +++ b/src/ap/wpa_auth.c 
    165 @@ -776,7 +776,14 @@ void wpa_receive(struct wpa_authenticato 
    166         } 
    167   
    168         if (sm->wpa == WPA_VERSION_WPA2) { 
    169 -               if (key->type != EAPOL_KEY_TYPE_RSN) { 
    170 +               if (key->type == EAPOL_KEY_TYPE_WPA) { 
    171 +                       /* 
    172 +                        * Some deployed station implementations seem to send 
    173 +                        * msg 4/4 with incorrect type value in WPA2 mode. 
    174 +                        */ 
    175 +                       wpa_printf(MSG_DEBUG, "Workaround: Allow EAPOL-Key " 
    176 +                                  "with unexpected WPA type in RSN mode"); 
    177 +               } else if (key->type != EAPOL_KEY_TYPE_RSN) { 
    178                         wpa_printf(MSG_DEBUG, "Ignore EAPOL-Key with " 
    179                                    "unexpected type %d in RSN mode", 
    180                                    key->type); 
  • trunk/package/hostapd/patches/310-multicall_bridge_fix.patch

    r31077 r31080  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -600,6 +600,10 @@ static void wpa_driver_nl80211_event_rtm 
     3@@ -886,6 +886,10 @@ static void wpa_driver_nl80211_event_rtm 
    44                return; 
    55        } 
     
    1212                   "(%s%s%s%s)", 
    1313                   drv->operstate, ifi->ifi_flags, 
    14 @@ -692,6 +696,10 @@ static void wpa_driver_nl80211_event_rtm 
     14@@ -993,6 +997,10 @@ static void wpa_driver_nl80211_event_rtm 
    1515        attrlen = len; 
    1616        attr = (struct rtattr *) buf; 
     
    2323        while (RTA_OK(attr, attrlen)) { 
    2424                if (attr->rta_type == IFLA_IFNAME) { 
    25 @@ -2291,6 +2299,11 @@ static void * wpa_driver_nl80211_init(vo 
     25@@ -2920,6 +2928,11 @@ static void * wpa_driver_nl80211_init(vo 
    2626        drv->ap_scan_as_station = NL80211_IFTYPE_UNSPECIFIED; 
    2727        drv->nlmode = NL80211_IFTYPE_STATION; 
     
    3535                os_free(drv); 
    3636                return NULL; 
    37 @@ -6531,8 +6544,6 @@ static void *i802_init(struct hostapd_da 
     37@@ -7654,8 +7667,6 @@ static void *i802_init(struct hostapd_da 
    3838                br_ifindex = 0; 
    3939        } 
  • trunk/package/hostapd/patches/400-scan_wait.patch

    r31077 r31080  
    11--- a/src/ap/hostapd.h 
    22+++ b/src/ap/hostapd.h 
    3 @@ -235,6 +235,7 @@ struct hostapd_iface { 
     3@@ -247,6 +247,7 @@ struct hostapd_iface { 
    44        int (*for_each_interface)(struct hapd_interfaces *interfaces, 
    55                                  int (*cb)(struct hostapd_iface *iface, 
     
    1111--- a/src/ap/hostapd.c 
    1212+++ b/src/ap/hostapd.c 
    13 @@ -804,6 +804,9 @@ int hostapd_setup_interface_complete(str 
     13@@ -851,6 +851,9 @@ int hostapd_setup_interface_complete(str 
    1414        wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", 
    1515                   iface->bss[0]->conf->iface); 
     
    2323--- a/hostapd/main.c 
    2424+++ b/hostapd/main.c 
    25 @@ -36,6 +36,8 @@ 
     25@@ -31,6 +31,8 @@ 
    2626 extern int wpa_debug_level; 
    2727 extern int wpa_debug_show_keys; 
     
    3232 extern struct wpa_driver_ops *wpa_drivers[]; 
    3333  
    34 @@ -173,6 +175,16 @@ static void hostapd_logger_cb(void *ctx, 
     34@@ -145,6 +147,16 @@ static void hostapd_logger_cb(void *ctx, 
    3535 } 
    3636 #endif /* CONFIG_NO_HOSTAPD_LOGGER */ 
     
    4949 /** 
    5050  * hostapd_init - Allocate and initialize per-interface data 
    51 @@ -194,6 +206,7 @@ static struct hostapd_iface * hostapd_in 
     51@@ -166,6 +178,7 @@ static struct hostapd_iface * hostapd_in 
    5252        if (hapd_iface == NULL) 
    5353                goto fail; 
     
    5757        hapd_iface->config_read_cb = hostapd_config_read; 
    5858        hapd_iface->config_fname = os_strdup(config_file); 
    59 @@ -442,7 +455,7 @@ static int hostapd_global_init(struct ha 
     59@@ -419,7 +432,7 @@ static int hostapd_global_init(struct ha 
    6060 } 
    6161  
     
    6666        int i; 
    6767  
    68 @@ -472,8 +485,7 @@ static void hostapd_global_deinit(const  
     68@@ -449,8 +462,7 @@ static void hostapd_global_deinit(const  
    6969 } 
    7070  
     
    7676 #ifdef EAP_SERVER_TNC 
    7777        int tnc = 0; 
    78 @@ -494,11 +506,6 @@ static int hostapd_global_run(struct hap 
     78@@ -471,11 +483,6 @@ static int hostapd_global_run(struct hap 
    7979        } 
    8080 #endif /* EAP_SERVER_TNC */ 
     
    8888  
    8989        return 0; 
    90 @@ -555,8 +562,7 @@ int main(int argc, char *argv[]) 
     90@@ -532,8 +539,7 @@ int main(int argc, char *argv[]) 
    9191        struct hapd_interfaces interfaces; 
    9292        int ret = 1; 
     
    9898        const char *entropy_file = NULL; 
    9999  
    100 @@ -634,7 +640,7 @@ int main(int argc, char *argv[]) 
     100@@ -611,7 +617,7 @@ int main(int argc, char *argv[]) 
    101101                        goto out; 
    102102        } 
     
    107107  
    108108        ret = 0; 
    109 @@ -645,7 +651,7 @@ int main(int argc, char *argv[]) 
     109@@ -622,7 +628,7 @@ int main(int argc, char *argv[]) 
    110110                hostapd_interface_deinit_free(interfaces.iface[i]); 
    111111        os_free(interfaces.iface); 
     
    118118--- a/hostapd/config_file.c 
    119119+++ b/hostapd/config_file.c 
    120 @@ -1925,6 +1925,8 @@ struct hostapd_config * hostapd_config_r 
     120@@ -1941,6 +1941,8 @@ static int hostapd_config_fill(struct ho 
    121121                        } 
    122122 #endif /* CONFIG_IEEE80211W */ 
     
    129129--- a/src/ap/ap_config.h 
    130130+++ b/src/ap/ap_config.h 
    131 @@ -412,6 +412,7 @@ struct hostapd_config { 
     131@@ -430,6 +430,7 @@ struct hostapd_config { 
    132132  
    133133        int ht_op_mode_fixed; 
     
    139139--- a/src/ap/hw_features.c 
    140140+++ b/src/ap/hw_features.c 
    141 @@ -449,7 +449,7 @@ static int ieee80211n_check_40mhz(struct 
     141@@ -451,7 +451,7 @@ static int ieee80211n_check_40mhz(struct 
    142142 { 
    143143        struct wpa_driver_scan_params params; 
  • trunk/package/hostapd/patches/410-multicall.patch

    r31077 r31080  
    2727  
    2828 ifdef CONFIG_L2_PACKET 
    29 @@ -799,6 +804,12 @@ install: all 
     29@@ -815,6 +820,12 @@ install: all 
    3030  
    3131 BCHECK=../src/drivers/build.hostapd 
     
    4040        $(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS) 
    4141        @$(E) "  LD " $@ 
    42 @@ -837,6 +848,12 @@ HOBJS += ../src/crypto/aes-internal.o 
     42@@ -853,6 +864,12 @@ HOBJS += ../src/crypto/aes-internal.o 
    4343 HOBJS += ../src/crypto/aes-internal-enc.o 
    4444 endif 
     
    6161+-include $(if $(MULTICALL),../hostapd/.config) 
    6262  
    63  ALL=wpa_supplicant wpa_cli 
    64   
    65 @@ -663,6 +664,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS 
     63 BINALL=wpa_supplicant wpa_cli 
     64  
     65@@ -673,6 +674,10 @@ ifdef CONFIG_DYNAMIC_EAP_METHODS 
    6666 CFLAGS += -DCONFIG_DYNAMIC_EAP_METHODS 
    6767 LIBS += -ldl -rdynamic 
     
    7474  
    7575 ifdef CONFIG_AP 
    76 @@ -671,9 +676,11 @@ NEED_EAP_COMMON=y 
     76@@ -681,9 +686,11 @@ NEED_EAP_COMMON=y 
    7777 NEED_RSN_AUTHENTICATOR=y 
    7878 CFLAGS += -DCONFIG_AP 
     
    8686 OBJS += ../src/ap/wpa_auth_glue.o 
    8787 OBJS += ../src/ap/utils.o 
    88 @@ -718,10 +725,18 @@ CFLAGS += -DEAP_SERVER_WSC 
    89  OBJS += ../src/ap/wps_hostapd.o 
    90  OBJS += ../src/eap_server/eap_server_wsc.o 
     88@@ -731,10 +738,18 @@ endif 
     89 ifdef CONFIG_INTERWORKING 
     90 OBJS += ../src/ap/gas_serv.o 
    9191 endif 
    9292+else 
     
    105105 OBJS += ../src/ap/wpa_auth.o 
    106106 OBJS += ../src/ap/wpa_auth_ie.o 
    107 @@ -1397,6 +1412,12 @@ wpa_priv: $(BCHECK) $(OBJS_priv) 
    108         $(Q)$(LDO) $(LDFLAGS) -o wpa_priv $(OBJS_priv) $(LIBS) 
    109         @$(E) "  LD " $@ 
     107@@ -1415,6 +1430,12 @@ wpa_priv: $(BCHECK) $(OBJS_priv) 
     108  
     109 $(OBJS_c) $(OBJS_t) $(OBJS_t2) $(OBJS) $(BCHECK) $(EXTRA_progs): .config 
    110110  
    111111+wpa_supplicant_multi.a: .config $(BCHECK) $(OBJS) $(EXTRA_progs) 
     
    115115+       @$(AR) cr $@ wpa_supplicant_multi.o $(OBJS) 
    116116+ 
    117  wpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs) 
     117 wpa_supplicant: $(BCHECK) $(OBJS) $(EXTRA_progs) 
    118118        $(Q)$(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) 
    119119        @$(E) "  LD " $@ 
    120 @@ -1460,6 +1481,12 @@ eap_ikev2.so: ../src/eap_peer/eap_ikev2. 
    121  %.service: %.service.in 
     120@@ -1481,6 +1502,12 @@ eap_ikev2.so: ../src/eap_peer/eap_ikev2. 
     121 %@.service: %.service.arg.in 
    122122        sed -e 's|\@BINDIR\@|$(BINDIR)|g' $< >$@ 
    123123  
     
    133133--- a/src/drivers/driver.h 
    134134+++ b/src/drivers/driver.h 
    135 @@ -3452,8 +3452,8 @@ union wpa_event_data { 
     135@@ -3541,8 +3541,8 @@ union wpa_event_data { 
    136136  * Driver wrapper code should call this function whenever an event is received 
    137137  * from the driver. 
     
    146146--- a/src/ap/drv_callbacks.c 
    147147+++ b/src/ap/drv_callbacks.c 
    148 @@ -467,8 +467,8 @@ static void hostapd_event_eapol_rx(struc 
     148@@ -459,8 +459,8 @@ static void hostapd_event_eapol_rx(struc 
    149149 } 
    150150  
     
    156156 { 
    157157        struct hostapd_data *hapd = ctx; 
    158   
     158 #ifndef CONFIG_NO_STDOUT_DEBUG 
    159159--- a/wpa_supplicant/wpa_priv.c 
    160160+++ b/wpa_supplicant/wpa_priv.c 
    161 @@ -825,8 +825,8 @@ static void wpa_priv_send_ft_response(st 
     161@@ -819,8 +819,8 @@ static void wpa_priv_send_ft_response(st 
    162162 } 
    163163  
     
    170170        struct wpa_priv_interface *iface = ctx; 
    171171  
    172 @@ -968,6 +968,7 @@ int main(int argc, char *argv[]) 
     172@@ -962,6 +962,7 @@ int main(int argc, char *argv[]) 
    173173        if (os_program_init()) 
    174174                return -1; 
     
    180180--- a/wpa_supplicant/events.c 
    181181+++ b/wpa_supplicant/events.c 
    182 @@ -1936,8 +1936,8 @@ static void wnm_action_rx(struct wpa_sup 
     182@@ -2046,8 +2046,8 @@ static void wnm_action_rx(struct wpa_sup 
    183183 } 
    184184  
     
    193193--- a/wpa_supplicant/wpa_supplicant.c 
    194194+++ b/wpa_supplicant/wpa_supplicant.c 
    195 @@ -2412,6 +2412,9 @@ static void wpa_supplicant_deinit_iface( 
    196                 wpa_drv_deinit(wpa_s); 
     195@@ -2680,6 +2680,9 @@ static void wpa_supplicant_deinit_iface( 
     196        } 
    197197 } 
    198198  
     
    203203 /** 
    204204  * wpa_supplicant_add_iface - Add a new network interface 
    205 @@ -2602,6 +2605,7 @@ struct wpa_global * wpa_supplicant_init( 
     205@@ -2871,6 +2874,7 @@ struct wpa_global * wpa_supplicant_init( 
    206206        wpa_msg_register_ifname_cb(wpa_supplicant_msg_ifname_cb); 
    207207 #endif /* CONFIG_NO_WPA_MSG */ 
     
    213213--- a/hostapd/main.c 
    214214+++ b/hostapd/main.c 
    215 @@ -556,6 +556,9 @@ static const char * hostapd_msg_ifname_c 
     215@@ -533,6 +533,9 @@ static const char * hostapd_msg_ifname_c 
    216216        return NULL; 
    217217 } 
     
    223223 int main(int argc, char *argv[]) 
    224224 { 
    225 @@ -569,6 +572,7 @@ int main(int argc, char *argv[]) 
     225@@ -546,6 +549,7 @@ int main(int argc, char *argv[]) 
    226226        if (os_program_init()) 
    227227                return -1; 
     
    233233--- a/src/drivers/drivers.c 
    234234+++ b/src/drivers/drivers.c 
    235 @@ -13,7 +13,11 @@ 
     235@@ -7,7 +7,11 @@ 
    236236  */ 
    237237  
  • trunk/package/hostapd/patches/420-timestamp_check.patch

    r31077 r31080  
    11--- a/src/tls/x509v3.c 
    22+++ b/src/tls/x509v3.c 
    3 @@ -1854,6 +1854,9 @@ int x509_certificate_chain_validate(stru 
     3@@ -1848,6 +1848,9 @@ int x509_certificate_chain_validate(stru 
    44                if (chain_trusted) 
    55                        continue; 
  • trunk/package/hostapd/patches/430-rescan_immediately.patch

    r31077 r31080  
    11--- a/wpa_supplicant/wpa_supplicant.c 
    22+++ b/wpa_supplicant/wpa_supplicant.c 
    3 @@ -2157,7 +2157,7 @@ static struct wpa_supplicant * wpa_suppl 
     3@@ -2191,7 +2191,7 @@ static struct wpa_supplicant * wpa_suppl 
    44        if (wpa_s == NULL) 
    55                return NULL; 
  • trunk/package/hostapd/patches/440-optional_rfkill.patch

    r31077 r31080  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -198,7 +198,9 @@ struct wpa_driver_nl80211_data { 
     3@@ -211,7 +211,9 @@ struct wpa_driver_nl80211_data { 
    44        int if_removed; 
    55        int if_disabled; 
     
    1111        int has_capability; 
    1212  
    13 @@ -2203,7 +2205,7 @@ err3: 
    14         return -1; 
     13@@ -2755,7 +2757,7 @@ static int wpa_driver_nl80211_init_nl(st 
     14        return 0; 
    1515 } 
    1616  
     
    2020 { 
    2121        wpa_printf(MSG_DEBUG, "nl80211: RFKILL blocked"); 
    22 @@ -2226,6 +2228,7 @@ static void wpa_driver_nl80211_rfkill_un 
     22@@ -2778,6 +2780,7 @@ static void wpa_driver_nl80211_rfkill_un 
    2323        } 
    2424        /* rtnetlink ifup handler will report interface as enabled */ 
     
    2828  
    2929 static void nl80211_get_phy_name(struct wpa_driver_nl80211_data *drv) 
    30 @@ -2283,7 +2286,9 @@ static void * wpa_driver_nl80211_init(vo 
     30@@ -2909,7 +2912,9 @@ static void * wpa_driver_nl80211_init(vo 
    3131                                      void *global_priv) 
    3232 { 
     
    3737        struct i802_bss *bss; 
    3838  
    39         drv = os_zalloc(sizeof(*drv)); 
    40 @@ -2311,6 +2316,7 @@ static void * wpa_driver_nl80211_init(vo 
     39        if (global_priv == NULL) 
     40@@ -2943,6 +2948,7 @@ static void * wpa_driver_nl80211_init(vo 
    4141  
    4242        nl80211_get_phy_name(drv); 
     
    4646        if (rcfg == NULL) 
    4747                goto failed; 
    48 @@ -2323,6 +2329,7 @@ static void * wpa_driver_nl80211_init(vo 
     48@@ -2955,6 +2961,7 @@ static void * wpa_driver_nl80211_init(vo 
    4949                wpa_printf(MSG_DEBUG, "nl80211: RFKILL status not available"); 
    5050                os_free(rcfg); 
     
    5454        if (wpa_driver_nl80211_finish_drv_init(drv)) 
    5555                goto failed; 
    56 @@ -2445,10 +2452,12 @@ static int nl80211_register_action_frame 
     56@@ -3241,10 +3248,12 @@ static void nl80211_mgmt_unsubscribe(str 
    5757 } 
    5858  
     
    6565+#endif /* CONFIG_RFKILL */ 
    6666  
    67   
    6867 static int 
    69 @@ -2475,13 +2484,16 @@ wpa_driver_nl80211_finish_drv_init(struc 
    70                 } 
    71   
    72                 if (linux_set_iface_flags(drv->global->ioctl_sock, bss->ifname, 1)) { 
    73 +#ifdef CONFIG_RFKILL 
    74                         if (rfkill_is_blocked(drv->rfkill)) { 
    75                                 wpa_printf(MSG_DEBUG, "nl80211: Could not yet enable " 
    76                                            "interface '%s' due to rfkill", 
    77                                            bss->ifname); 
    78                                 drv->if_disabled = 1; 
    79                                 send_rfkill_event = 1; 
    80 -                       } else { 
    81 +                       } else 
    82 +#endif 
    83 +                       { 
    84                                 wpa_printf(MSG_ERROR, "nl80211: Could not set " 
    85                                            "interface '%s' UP", bss->ifname); 
    86                                 return -1; 
    87 @@ -2510,8 +2522,10 @@ wpa_driver_nl80211_finish_drv_init(struc 
    88         } 
     68 wpa_driver_nl80211_finish_drv_init_sta(struct wpa_driver_nl80211_data *drv, 
     69@@ -3265,13 +3274,16 @@ wpa_driver_nl80211_finish_drv_init_sta(s 
     70        } 
     71  
     72        if (linux_set_iface_flags(drv->global->ioctl_sock, bss->ifname, 1)) { 
     73+#ifdef CONFIG_RFKILL 
     74                if (rfkill_is_blocked(drv->rfkill)) { 
     75                        wpa_printf(MSG_DEBUG, "nl80211: Could not yet enable " 
     76                                   "interface '%s' due to rfkill", 
     77                                   bss->ifname); 
     78                        drv->if_disabled = 1; 
     79                        *send_rfkill_event = 1; 
     80-               } else { 
     81+               } else 
     82+#endif 
     83+               { 
     84                        wpa_printf(MSG_ERROR, "nl80211: Could not set " 
     85                                   "interface '%s' UP", bss->ifname); 
     86                        return -1; 
     87@@ -3302,8 +3314,10 @@ wpa_driver_nl80211_finish_drv_init(struc 
     88                return -1; 
    8989  
    9090        if (send_rfkill_event) { 
     
    9696  
    9797        return 0; 
    98 @@ -2596,7 +2610,9 @@ static void wpa_driver_nl80211_deinit(vo 
     98@@ -3389,7 +3403,9 @@ static void wpa_driver_nl80211_deinit(vo 
    9999  
    100100        netlink_send_oper_ifla(drv->global->netlink, drv->ifindex, 0, 
     
    108108--- a/src/drivers/driver_wext.c 
    109109+++ b/src/drivers/driver_wext.c 
    110 @@ -702,7 +702,7 @@ static void wpa_driver_wext_event_rtm_de 
     110@@ -742,7 +742,7 @@ static void wpa_driver_wext_event_rtm_de 
    111111        } 
    112112 } 
     
    117117 { 
    118118        wpa_printf(MSG_DEBUG, "WEXT: RFKILL blocked"); 
    119 @@ -724,7 +724,7 @@ static void wpa_driver_wext_rfkill_unblo 
     119@@ -764,7 +764,7 @@ static void wpa_driver_wext_rfkill_unblo 
    120120        } 
    121121        /* rtnetlink ifup handler will report interface as enabled */ 
     
    126126 static void wext_get_phy_name(struct wpa_driver_wext_data *drv) 
    127127 { 
    128 @@ -770,7 +770,9 @@ void * wpa_driver_wext_init(void *ctx, c 
     128@@ -810,7 +810,9 @@ void * wpa_driver_wext_init(void *ctx, c 
    129129 { 
    130130        struct wpa_driver_wext_data *drv; 
     
    136136        struct stat buf; 
    137137  
    138 @@ -805,6 +807,7 @@ void * wpa_driver_wext_init(void *ctx, c 
     138@@ -845,6 +847,7 @@ void * wpa_driver_wext_init(void *ctx, c 
    139139                goto err2; 
    140140        } 
     
    144144        if (rcfg == NULL) 
    145145                goto err3; 
    146 @@ -817,6 +820,7 @@ void * wpa_driver_wext_init(void *ctx, c 
     146@@ -857,6 +860,7 @@ void * wpa_driver_wext_init(void *ctx, c 
    147147                wpa_printf(MSG_DEBUG, "WEXT: RFKILL status not available"); 
    148148                os_free(rcfg); 
     
    152152        drv->mlme_sock = -1; 
    153153  
    154 @@ -828,7 +832,9 @@ void * wpa_driver_wext_init(void *ctx, c 
     154@@ -874,7 +878,9 @@ void * wpa_driver_wext_init(void *ctx, c 
    155155        return drv; 
    156156  
     
    162162 err2: 
    163163        close(drv->ioctl_sock); 
    164 @@ -838,10 +844,12 @@ err1: 
     164@@ -884,10 +890,12 @@ err1: 
    165165 } 
    166166  
     
    175175  
    176176 static int wpa_driver_wext_finish_drv_init(struct wpa_driver_wext_data *drv) 
    177 @@ -849,13 +857,16 @@ static int wpa_driver_wext_finish_drv_in 
     177@@ -895,13 +903,16 @@ static int wpa_driver_wext_finish_drv_in 
    178178        int send_rfkill_event = 0; 
    179179  
     
    193193                                   "interface '%s' UP", drv->ifname); 
    194194                        return -1; 
    195 @@ -903,8 +914,10 @@ static int wpa_driver_wext_finish_drv_in 
     195@@ -949,8 +960,10 @@ static int wpa_driver_wext_finish_drv_in 
    196196                               1, IF_OPER_DORMANT); 
    197197  
     
    204204  
    205205        return 0; 
    206 @@ -934,7 +947,9 @@ void wpa_driver_wext_deinit(void *priv) 
     206@@ -980,7 +993,9 @@ void wpa_driver_wext_deinit(void *priv) 
    207207  
    208208        netlink_send_oper_ifla(drv->netlink, drv->ifindex, 0, IF_OPER_UP); 
     
    216216--- a/src/drivers/drivers.mak 
    217217+++ b/src/drivers/drivers.mak 
    218 @@ -43,7 +43,6 @@ NEED_SME=y 
     218@@ -25,7 +25,6 @@ NEED_SME=y 
    219219 NEED_AP_MLME=y 
    220220 NEED_NETLINK=y 
    221221 NEED_LINUX_IOCTL=y 
    222222-NEED_RFKILL=y 
    223  ifdef CONFIG_LIBNL_TINY 
    224  DRV_LIBS += -lnl-tiny 
    225  else 
    226 @@ -94,7 +93,6 @@ DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 
     223  
     224 ifdef CONFIG_LIBNL32 
     225   DRV_LIBS += -lnl-3 
     226@@ -101,7 +100,6 @@ DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 
    227227 CONFIG_WIRELESS_EXTENSION=y 
    228228 NEED_NETLINK=y 
     
    231231 endif 
    232232  
    233  ifdef CONFIG_DRIVER_RALINK 
    234 @@ -146,7 +144,6 @@ endif 
     233 ifdef CONFIG_DRIVER_NDIS 
     234@@ -127,7 +125,6 @@ endif 
    235235 ifdef CONFIG_WIRELESS_EXTENSION 
    236  DRV_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 
    237  DRV_OBJS += ../src/drivers/driver_wext.o 
     236 DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 
     237 DRV_WPA_OBJS += ../src/drivers/driver_wext.o 
    238238-NEED_RFKILL=y 
    239239 endif 
    240240  
    241241 ifdef NEED_NETLINK 
    242 @@ -159,6 +156,7 @@ endif 
     242@@ -140,6 +137,7 @@ endif 
    243243  
    244244 ifdef NEED_RFKILL 
     
    250250--- a/src/drivers/driver_wext.h 
    251251+++ b/src/drivers/driver_wext.h 
    252 @@ -28,7 +28,9 @@ struct wpa_driver_wext_data { 
     252@@ -22,7 +22,9 @@ struct wpa_driver_wext_data { 
    253253        int ifindex2; 
    254254        int if_removed; 
  • trunk/package/hostapd/patches/450-reload_freq_change.patch

    r31077 r31080  
    11--- a/src/ap/hostapd.c 
    22+++ b/src/ap/hostapd.c 
    3 @@ -124,6 +124,10 @@ int hostapd_reload_config(struct hostapd 
     3@@ -136,6 +136,10 @@ int hostapd_reload_config(struct hostapd 
    44        oldconf = hapd->iconf; 
    55        iface->conf = newconf; 
     
    77+       iface->freq = hostapd_hw_get_freq(hapd, hapd->iconf->channel); 
    88+       if (iface->current_mode) 
    9 +               hostapd_prepare_rates(hapd, iface->current_mode); 
     9+               hostapd_prepare_rates(iface, iface->current_mode); 
    1010+ 
    1111        for (j = 0; j < iface->num_bss; j++) { 
  • trunk/package/hostapd/patches/451-nl80211_del_beacon_bss.patch

    r31077 r31080  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -2532,22 +2532,41 @@ wpa_driver_nl80211_finish_drv_init(struc 
     3@@ -3324,16 +3324,18 @@ wpa_driver_nl80211_finish_drv_init(struc 
    44 } 
    55  
     
    2222        return send_and_recv_msgs(drv, msg, NULL, NULL); 
    2323  nla_put_failure: 
    24 +       nlmsg_free(msg); 
     24@@ -3341,6 +3343,21 @@ static int wpa_driver_nl80211_del_beacon 
    2525        return -ENOBUFS; 
    2626 } 
     
    3939+{ 
    4040+       struct i802_bss *bss = priv; 
    41 + 
    4241+       return wpa_driver_nl80211_del_beacon(bss->drv); 
    4342+} 
     
    4544 /** 
    4645  * wpa_driver_nl80211_deinit - Deinitialize nl80211 driver interface 
    47 @@ -7654,4 +7673,5 @@ const struct wpa_driver_ops wpa_driver_n 
     46@@ -9054,4 +9071,5 @@ const struct wpa_driver_ops wpa_driver_n 
    4847        .send_tdls_mgmt = nl80211_send_tdls_mgmt, 
    4948        .tdls_oper = nl80211_tdls_oper, 
     
    5352--- a/src/drivers/driver.h 
    5453+++ b/src/drivers/driver.h 
    55 @@ -2452,6 +2452,8 @@ struct wpa_driver_ops { 
     54@@ -2002,6 +2002,9 @@ struct wpa_driver_ops { 
    5655         */ 
    57         void (*poll_client)(void *priv, const u8 *own_addr, 
    58                             const u8 *addr, int qos); 
     56        int (*deinit_ap)(void *priv); 
     57  
    5958+ 
    6059+       int (*stop_ap)(void *priv); 
    61  }; 
    62   
    63   
     60+ 
     61        /** 
     62         * suspend - Notification on system suspend/hibernate event 
     63         * @priv: Private driver interface data 
  • trunk/package/hostapd/patches/452-ctrl_iface_reload.patch

    r31077 r31080  
    11--- a/hostapd/ctrl_iface.c 
    22+++ b/hostapd/ctrl_iface.c 
    3 @@ -39,6 +39,7 @@ 
    4  #include "wps/wps_defs.h" 
     3@@ -33,6 +33,7 @@ 
    54 #include "wps/wps.h" 
     5 #include "config_file.h" 
    66 #include "ctrl_iface.h" 
    77+#include "config_file.h" 
     
    99  
    1010 struct wpa_ctrl_dst { 
    11 @@ -49,6 +50,7 @@ struct wpa_ctrl_dst { 
     11@@ -43,6 +44,7 @@ struct wpa_ctrl_dst { 
    1212        int errors; 
    1313 }; 
     
    1717 static void hostapd_ctrl_iface_send(struct hostapd_data *hapd, int level, 
    1818                                    const char *buf, size_t len); 
    19 @@ -323,6 +325,66 @@ static int hostapd_ctrl_iface_disassocia 
     19@@ -152,6 +154,66 @@ static int hostapd_ctrl_iface_new_sta(st 
    2020        return 0; 
    2121 } 
     
    8484 #ifdef CONFIG_IEEE80211W 
    8585 #ifdef NEED_AP_MLME 
    86 @@ -873,6 +935,10 @@ static void hostapd_ctrl_iface_receive(i 
     86@@ -710,6 +772,10 @@ static void hostapd_ctrl_iface_receive(i 
    8787                                reply_len += res; 
    8888                } 
  • trunk/package/hostapd/patches/453-ap_sta_support.patch

    r31077 r31080  
    11--- a/wpa_supplicant/wpa_supplicant_i.h 
    22+++ b/wpa_supplicant/wpa_supplicant_i.h 
    3 @@ -100,6 +100,8 @@ struct wpa_interface { 
     3@@ -95,6 +95,8 @@ struct wpa_interface { 
    44         * receiving of EAPOL frames from an additional interface. 
    55         */ 
     
    1010  
    1111 /** 
    12 @@ -260,6 +262,8 @@ struct wpa_supplicant { 
     12@@ -263,6 +265,8 @@ struct wpa_supplicant { 
    1313 #endif /* CONFIG_CTRL_IFACE_DBUS_NEW */ 
    1414        char bridge_ifname[16]; 
     
    3232 -include $(if $(MULTICALL),../hostapd/.config) 
    3333  
    34 @@ -69,6 +73,10 @@ OBJS_c = wpa_cli.o ../src/common/wpa_ctr 
     34@@ -71,6 +75,10 @@ OBJS_c = wpa_cli.o ../src/common/wpa_ctr 
    3535 OBJS_c += ../src/utils/wpa_debug.o 
    3636 OBJS_c += ../src/utils/common.o 
     
    4545--- a/wpa_supplicant/wpa_supplicant.c 
    4646+++ b/wpa_supplicant/wpa_supplicant.c 
    47 @@ -125,6 +125,55 @@ extern int wpa_debug_show_keys; 
     47@@ -103,6 +103,55 @@ extern int wpa_debug_show_keys; 
    4848 extern int wpa_debug_timestamp; 
    4949 extern struct wpa_driver_ops *wpa_drivers[]; 
     
    101101 int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid) 
    102102 { 
    103 @@ -632,8 +681,16 @@ void wpa_supplicant_set_state(struct wpa 
     103@@ -607,8 +656,16 @@ void wpa_supplicant_set_state(struct wpa 
    104104 #ifdef CONFIG_P2P 
    105105                wpas_p2p_completed(wpa_s); 
     
    118118                wpa_drv_set_operstate(wpa_s, 0); 
    119119 #ifndef IEEE8021X_EAPOL 
    120 @@ -2245,6 +2302,21 @@ static int wpa_supplicant_init_iface(str 
     120@@ -2498,6 +2555,21 @@ static int wpa_supplicant_init_iface(str 
    121121                os_strlcpy(wpa_s->bridge_ifname, iface->bridge_ifname, 
    122122                           sizeof(wpa_s->bridge_ifname)); 
     
    142142--- a/wpa_supplicant/bss.c 
    143143+++ b/wpa_supplicant/bss.c 
    144 @@ -17,6 +17,7 @@ 
     144@@ -11,6 +11,7 @@ 
    145145 #include "utils/common.h" 
    146146 #include "utils/eloop.h" 
     
    150150 #include "wpa_supplicant_i.h" 
    151151 #include "config.h" 
    152 @@ -79,6 +80,8 @@ struct wpa_bss * wpa_bss_get(struct wpa_ 
     152@@ -75,6 +76,8 @@ struct wpa_bss * wpa_bss_get(struct wpa_ 
    153153  
    154154 static void wpa_bss_copy_res(struct wpa_bss *dst, struct wpa_scan_res *src) 
     
    159159  
    160160        dst->flags = src->flags; 
    161 @@ -91,6 +94,12 @@ static void wpa_bss_copy_res(struct wpa_ 
     161@@ -87,6 +90,12 @@ static void wpa_bss_copy_res(struct wpa_ 
    162162        dst->level = src->level; 
    163163        dst->tsf = src->tsf; 
     
    174174--- a/wpa_supplicant/bss.h 
    175175+++ b/wpa_supplicant/bss.h 
    176 @@ -57,6 +57,7 @@ struct wpa_bss { 
     176@@ -51,6 +51,7 @@ struct wpa_bss { 
    177177        unsigned int flags; 
    178178        u8 bssid[ETH_ALEN]; 
     
    184184--- a/wpa_supplicant/main.c 
    185185+++ b/wpa_supplicant/main.c 
    186 @@ -31,7 +31,7 @@ static void usage(void) 
     186@@ -25,7 +25,7 @@ static void usage(void) 
    187187               "usage:\n" 
    188188               "  wpa_supplicant [-BddhKLqqstuvW] [-P<pid file>] " 
     
    193193               "        [-b<br_ifname>] [-f<debug file>] [-e<entropy file>] " 
    194194               "\\\n" 
    195 @@ -69,6 +69,7 @@ static void usage(void) 
     195@@ -63,6 +63,7 @@ static void usage(void) 
    196196 #endif /* CONFIG_DEBUG_SYSLOG */ 
    197197        printf("  -t = include timestamp in debug messages\n" 
    198198               "  -h = show this help text\n" 
    199199+                  "  -H = connect to a hostapd instance to manage state changes\n" 
    200                "  -L = show license (GPL and BSD)\n" 
     200               "  -L = show license (BSD)\n" 
    201201               "  -o = override driver parameter for new interfaces\n" 
    202202               "  -O = override ctrl_interface parameter for new interfaces\n" 
    203 @@ -145,7 +146,7 @@ int main(int argc, char *argv[]) 
     203@@ -139,7 +140,7 @@ int main(int argc, char *argv[]) 
    204204        wpa_supplicant_fd_workaround(); 
    205205  
     
    210210                        break; 
    211211                switch (c) { 
    212 @@ -189,6 +190,9 @@ int main(int argc, char *argv[]) 
     212@@ -183,6 +184,9 @@ int main(int argc, char *argv[]) 
    213213                        usage(); 
    214214                        exitcode = 0; 
  • trunk/package/hostapd/patches/460-disable_ctrl_iface_mib.patch

    r31077 r31080  
    1313--- a/hostapd/ctrl_iface.c 
    1414+++ b/hostapd/ctrl_iface.c 
    15 @@ -906,6 +906,7 @@ static void hostapd_ctrl_iface_receive(i 
     15@@ -743,6 +743,7 @@ static void hostapd_ctrl_iface_receive(i 
    1616        } else if (os_strncmp(buf, "RELOG", 5) == 0) { 
    1717                if (wpa_debug_reopen_file() < 0) 
     
    2121                reply_len = ieee802_11_get_mib(hapd, reply, reply_size); 
    2222                if (reply_len >= 0) { 
    23 @@ -935,10 +936,12 @@ static void hostapd_ctrl_iface_receive(i 
     23@@ -772,10 +773,12 @@ static void hostapd_ctrl_iface_receive(i 
    2424                                reply_len += res; 
    2525                } 
     
    3434                reply_len = hostapd_ctrl_iface_sta_first(hapd, reply, 
    3535                                                         reply_size); 
    36 @@ -948,6 +951,7 @@ static void hostapd_ctrl_iface_receive(i 
     36@@ -785,6 +788,7 @@ static void hostapd_ctrl_iface_receive(i 
    3737        } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) { 
    3838                reply_len = hostapd_ctrl_iface_sta_next(hapd, buf + 9, reply, 
     
    4444--- a/wpa_supplicant/Makefile 
    4545+++ b/wpa_supplicant/Makefile 
    46 @@ -709,6 +709,9 @@ ifdef CONFIG_IEEE80211N 
     46@@ -719,6 +719,9 @@ ifdef CONFIG_IEEE80211N 
    4747 OBJS += ../src/ap/ieee802_11_ht.o 
    4848 endif 
     
    5656--- a/wpa_supplicant/ctrl_iface.c 
    5757+++ b/wpa_supplicant/ctrl_iface.c 
    58 @@ -3231,6 +3231,7 @@ char * wpa_supplicant_ctrl_iface_process 
     58@@ -3665,6 +3665,7 @@ char * wpa_supplicant_ctrl_iface_process 
    5959                        reply_len = -1; 
    6060        } else if (os_strncmp(buf, "NOTE ", 5) == 0) { 
     
    6464                reply_len = wpa_sm_get_mib(wpa_s->wpa, reply, reply_size); 
    6565                if (reply_len >= 0) { 
    66 @@ -3242,6 +3243,7 @@ char * wpa_supplicant_ctrl_iface_process 
     66@@ -3676,6 +3677,7 @@ char * wpa_supplicant_ctrl_iface_process 
    6767                        else 
    6868                                reply_len += res; 
     
    7272                reply_len = wpa_supplicant_ctrl_iface_status( 
    7373                        wpa_s, buf + 6, reply, reply_size); 
    74 @@ -3570,6 +3572,7 @@ char * wpa_supplicant_ctrl_iface_process 
     74@@ -4020,6 +4022,7 @@ char * wpa_supplicant_ctrl_iface_process 
    7575                reply_len = wpa_supplicant_ctrl_iface_bss( 
    7676                        wpa_s, buf + 4, reply, reply_size); 
     
    8080                reply_len = ap_ctrl_iface_sta_first(wpa_s, reply, reply_size); 
    8181        } else if (os_strncmp(buf, "STA ", 4) == 0) { 
    82 @@ -3578,6 +3581,7 @@ char * wpa_supplicant_ctrl_iface_process 
     82@@ -4028,6 +4031,7 @@ char * wpa_supplicant_ctrl_iface_process 
    8383        } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) { 
    8484                reply_len = ap_ctrl_iface_sta_next(wpa_s, buf + 9, reply, 
    8585                                                   reply_size); 
    8686+#endif 
    87  #endif /* CONFIG_AP */ 
    88         } else if (os_strcmp(buf, "SUSPEND") == 0) { 
    89                 wpas_notify_suspend(wpa_s->global); 
     87        } else if (os_strncmp(buf, "DEAUTHENTICATE ", 15) == 0) { 
     88                if (ap_ctrl_iface_sta_deauthenticate(wpa_s, buf + 15)) 
     89                        reply_len = -1; 
    9090--- a/src/ap/ctrl_iface_ap.c 
    9191+++ b/src/ap/ctrl_iface_ap.c 
    92 @@ -24,6 +24,7 @@ 
    93  #include "p2p_hostapd.h" 
     92@@ -20,6 +20,7 @@ 
    9493 #include "ctrl_iface_ap.h" 
     94 #include "ap_drv_ops.h" 
    9595  
    9696+#ifdef CONFIG_CTRL_IFACE_MIB 
     
    9898 static int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd, 
    9999                                      struct sta_info *sta, 
    100 @@ -106,3 +107,5 @@ int hostapd_ctrl_iface_sta_next(struct h 
    101         }                
     100@@ -103,6 +104,7 @@ int hostapd_ctrl_iface_sta_next(struct h 
    102101        return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen); 
    103102 } 
     103  
     104+#endif 
     105  
     106 #ifdef CONFIG_P2P_MANAGER 
     107 static int p2p_manager_disconnect(struct hostapd_data *hapd, u16 stype, 
     108@@ -269,3 +271,4 @@ int hostapd_ctrl_iface_disassociate(stru 
     109  
     110        return 0; 
     111 } 
    104112+ 
    105 +#endif 
    106113--- a/src/ap/ieee802_1x.c 
    107114+++ b/src/ap/ieee802_1x.c 
    108 @@ -1926,6 +1926,7 @@ static const char * bool_txt(Boolean boo 
     115@@ -1912,6 +1912,7 @@ static const char * bool_txt(Boolean boo 
    109116        return bool ? "TRUE" : "FALSE"; 
    110117 } 
     
    114121 int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen) 
    115122 { 
    116 @@ -2078,6 +2079,7 @@ int ieee802_1x_get_mib_sta(struct hostap 
     123@@ -2064,6 +2065,7 @@ int ieee802_1x_get_mib_sta(struct hostap 
    117124        return len; 
    118125 } 
     
    124131--- a/src/ap/wpa_auth.c 
    125132+++ b/src/ap/wpa_auth.c 
    126 @@ -2541,6 +2541,7 @@ static int wpa_cipher_bits(int cipher) 
     133@@ -2638,6 +2638,7 @@ static int wpa_cipher_bits(int cipher) 
    127134        } 
    128135 } 
     
    132139 #define RSN_SUITE "%02x-%02x-%02x-%d" 
    133140 #define RSN_SUITE_ARG(s) \ 
    134 @@ -2704,7 +2705,7 @@ int wpa_get_mib_sta(struct wpa_state_mac 
     141@@ -2801,7 +2802,7 @@ int wpa_get_mib_sta(struct wpa_state_mac 
    135142  
    136143        return len; 
     
    143150--- a/src/rsn_supp/wpa.c 
    144151+++ b/src/rsn_supp/wpa.c 
    145 @@ -1919,6 +1919,8 @@ static u32 wpa_cipher_suite(struct wpa_s 
     152@@ -1918,6 +1918,8 @@ static u32 wpa_cipher_suite(struct wpa_s 
    146153 } 
    147154  
     
    152159 #define RSN_SUITE_ARG(s) \ 
    153160 ((s) >> 24) & 0xff, ((s) >> 16) & 0xff, ((s) >> 8) & 0xff, (s) & 0xff 
    154 @@ -1998,6 +2000,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch 
     161@@ -1997,6 +1999,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch 
    155162  
    156163        return (int) len; 
  • trunk/package/hostapd/patches/470-wpa_ie_cap_workaround.patch

    r31077 r31080  
    11--- a/src/common/wpa_common.c 
    22+++ b/src/common/wpa_common.c 
    3 @@ -959,6 +959,31 @@ const char * wpa_key_mgmt_txt(int key_mg 
     3@@ -953,6 +953,31 @@ const char * wpa_key_mgmt_txt(int key_mg 
    44 } 
    55  
     
    3333                       const u8 *ie1, size_t ie1len, 
    3434                       const u8 *ie2, size_t ie2len) 
    35 @@ -966,8 +991,19 @@ int wpa_compare_rsn_ie(int ft_initial_as 
     35@@ -960,8 +985,19 @@ int wpa_compare_rsn_ie(int ft_initial_as 
    3636        if (ie1 == NULL || ie2 == NULL) 
    3737                return -1; 
  • trunk/package/hostapd/patches/480-terminate_on_setup_failure.patch

    r31077 r31080  
    11--- a/src/ap/hostapd.c 
    22+++ b/src/ap/hostapd.c 
    3 @@ -720,11 +720,8 @@ int hostapd_setup_interface_complete(str 
     3@@ -767,11 +767,8 @@ int hostapd_setup_interface_complete(str 
    44        size_t j; 
    55        u8 *prev_addr; 
     
    1515        wpa_printf(MSG_DEBUG, "Completing interface initialization"); 
    1616        if (hapd->iconf->channel) { 
    17 @@ -740,7 +737,7 @@ int hostapd_setup_interface_complete(str 
     17@@ -787,7 +784,7 @@ int hostapd_setup_interface_complete(str 
    1818                                     hapd->iconf->secondary_channel)) { 
    1919                        wpa_printf(MSG_ERROR, "Could not set channel for " 
     
    2424        } 
    2525  
    26 @@ -751,7 +748,7 @@ int hostapd_setup_interface_complete(str 
     26@@ -798,7 +795,7 @@ int hostapd_setup_interface_complete(str 
    2727                        hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211, 
    2828                                       HOSTAPD_LEVEL_WARNING, 
     
    3333        } 
    3434  
    35 @@ -759,14 +756,14 @@ int hostapd_setup_interface_complete(str 
     35@@ -806,14 +803,14 @@ int hostapd_setup_interface_complete(str 
    3636            hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) { 
    3737                wpa_printf(MSG_ERROR, "Could not set RTS threshold for " 
     
    5050  
    5151        prev_addr = hapd->own_addr; 
    52 @@ -776,7 +773,7 @@ int hostapd_setup_interface_complete(str 
     52@@ -823,7 +820,7 @@ int hostapd_setup_interface_complete(str 
    5353                if (j) 
    5454                        os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN); 
     
    5959                        prev_addr = hapd->own_addr; 
    6060        } 
    61 @@ -788,7 +785,7 @@ int hostapd_setup_interface_complete(str 
     61@@ -835,7 +832,7 @@ int hostapd_setup_interface_complete(str 
    6262        if (hostapd_driver_commit(hapd) < 0) { 
    6363                wpa_printf(MSG_ERROR, "%s: Failed to commit driver " 
     
    6868  
    6969        /* 
    70 @@ -812,6 +809,11 @@ int hostapd_setup_interface_complete(str 
     70@@ -859,6 +856,11 @@ int hostapd_setup_interface_complete(str 
    7171                iface->init_complete(iface); 
    7272  
  • trunk/package/hostapd/patches/500-random_pool_add_kernel.patch

    r31077 r31080  
    11--- a/src/crypto/random.c 
    22+++ b/src/crypto/random.c 
    3 @@ -38,6 +38,8 @@ 
     3@@ -32,6 +32,8 @@ 
    44 #include "sha1.h" 
    55 #include "random.h" 
     
    1010 #define POOL_WORDS_MASK (POOL_WORDS - 1) 
    1111 #define POOL_TAP1 26 
    12 @@ -48,6 +50,8 @@ 
     12@@ -42,6 +44,8 @@ 
    1313 #define EXTRACT_LEN 16 
    1414 #define MIN_READY_MARK 2 
     
    1919 static unsigned int input_rotate = 0; 
    2020 static unsigned int pool_pos = 0; 
    21 @@ -128,7 +132,7 @@ static void random_extract(u8 *out) 
     21@@ -122,7 +126,7 @@ static void random_extract(u8 *out) 
    2222 } 
    2323  
     
    2828        struct os_time t; 
    2929        static unsigned int count = 0; 
    30 @@ -197,16 +201,22 @@ int random_get_bytes(void *buf, size_t l 
     30@@ -191,16 +195,22 @@ int random_get_bytes(void *buf, size_t l 
    3131 int random_pool_ready(void) 
    3232 { 
     
    5252        /* 
    5353         * Try to fetch some more data from the kernel high quality 
    54 @@ -241,6 +251,7 @@ int random_pool_ready(void) 
     54@@ -235,6 +245,7 @@ int random_pool_ready(void) 
    5555        if (dummy_key_avail == sizeof(dummy_key)) { 
    5656                if (own_pool_ready < MIN_READY_MARK) 
     
    6060                return 1; 
    6161        } 
    62 @@ -253,6 +264,7 @@ int random_pool_ready(void) 
     62@@ -247,6 +258,7 @@ int random_pool_ready(void) 
    6363            total_collected + 10 * own_pool_ready > MIN_COLLECT_ENTROPY) { 
    6464                wpa_printf(MSG_INFO, "random: Allow operation to proceed " 
     
    6868        } 
    6969  
    70 @@ -268,10 +280,16 @@ int random_pool_ready(void) 
     70@@ -262,10 +274,16 @@ int random_pool_ready(void) 
    7171  
    7272 void random_mark_pool_ready(void) 
     
    8585  
    8686  
    87 @@ -428,3 +446,22 @@ void random_deinit(void) 
     87@@ -422,3 +440,22 @@ void random_deinit(void) 
    8888        os_free(random_entropy_file); 
    8989        random_entropy_file = NULL; 
     
    110110--- a/wpa_supplicant/Makefile 
    111111+++ b/wpa_supplicant/Makefile 
    112 @@ -1137,9 +1137,8 @@ endif 
     112@@ -1161,9 +1161,8 @@ endif 
    113113  
    114114 ifdef CONFIG_NO_RANDOM_POOL 
     
    123123--- a/wpa_supplicant/Android.mk 
    124124+++ b/wpa_supplicant/Android.mk 
    125 @@ -1132,9 +1132,8 @@ endif 
     125@@ -1139,9 +1139,8 @@ endif 
    126126  
    127127 ifdef CONFIG_NO_RANDOM_POOL 
     
    136136--- a/hostapd/Android.mk 
    137137+++ b/hostapd/Android.mk 
    138 @@ -720,11 +720,11 @@ endif 
     138@@ -724,11 +724,11 @@ endif 
    139139 ifdef CONFIG_NO_RANDOM_POOL 
    140140 L_CFLAGS += -DCONFIG_NO_RANDOM_POOL 
     
    152152--- a/hostapd/Makefile 
    153153+++ b/hostapd/Makefile 
    154 @@ -707,12 +707,12 @@ endif 
     154@@ -719,12 +719,12 @@ endif 
    155155 ifdef CONFIG_NO_RANDOM_POOL 
    156156 CFLAGS += -DCONFIG_NO_RANDOM_POOL 
  • trunk/package/hostapd/patches/510-bring_down_interface.patch

    r31077 r31080  
    11--- a/src/drivers/driver_nl80211.c 
    22+++ b/src/drivers/driver_nl80211.c 
    3 @@ -5867,8 +5867,6 @@ static int wpa_driver_nl80211_set_mode(s 
     3@@ -6995,8 +6995,6 @@ static int wpa_driver_nl80211_set_mode(s 
    44                        ret = nl80211_set_mode(drv, drv->ifindex, nlmode); 
    55                        if (ret == -EACCES) 
     
    1010                                ret = -1; 
    1111                        else if (ret != -EBUSY) 
    12 @@ -5884,6 +5882,7 @@ static int wpa_driver_nl80211_set_mode(s 
     12@@ -7012,6 +7010,7 @@ static int wpa_driver_nl80211_set_mode(s 
    1313                           "interface is down"); 
    1414                drv->nlmode = nlmode; 
  • trunk/package/hostapd/patches/520-fix_wps_pin_crash.patch

    r31077 r31080  
    11--- a/hostapd/ctrl_iface.c 
    22+++ b/hostapd/ctrl_iface.c 
    3 @@ -514,6 +514,9 @@ static int hostapd_ctrl_iface_wps_ap_pin 
     3@@ -343,6 +343,9 @@ static int hostapd_ctrl_iface_wps_ap_pin 
    44        char *pos; 
    55        const char *pin_txt; 
  • trunk/package/hostapd/patches/530-wps_single_auth_enc_type.patch

    r31077 r31080  
    11--- a/src/ap/wps_hostapd.c 
    22+++ b/src/ap/wps_hostapd.c 
    3 @@ -799,11 +799,9 @@ int hostapd_init_wps(struct hostapd_data 
     3@@ -855,11 +855,9 @@ int hostapd_init_wps(struct hostapd_data 
    44  
    55                if (conf->rsn_pairwise & WPA_CIPHER_CCMP) 
     
    1515                        wps->auth_types |= WPS_AUTH_WPAPSK; 
    1616                if (conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X) 
    17 @@ -811,7 +809,7 @@ int hostapd_init_wps(struct hostapd_data 
     17@@ -867,7 +865,7 @@ int hostapd_init_wps(struct hostapd_data 
    1818  
    1919                if (conf->wpa_pairwise & WPA_CIPHER_CCMP) 
  • trunk/package/hostapd/patches/540-dynamic_20_40_mhz.patch

    r31077 r31080  
    11--- a/hostapd/config_file.c 
    22+++ b/hostapd/config_file.c 
    3 @@ -1935,6 +1935,10 @@ struct hostapd_config * hostapd_config_r 
     3@@ -1951,6 +1951,10 @@ static int hostapd_config_fill(struct ho 
    44                                           "ht_capab", line); 
    55                                errors++; 
     
    1414--- a/src/ap/ap_config.h 
    1515+++ b/src/ap/ap_config.h 
    16 @@ -416,6 +416,7 @@ struct hostapd_config { 
     16@@ -434,6 +434,7 @@ struct hostapd_config { 
    1717        int ieee80211n; 
    1818        int secondary_channel; 
     
    2424--- a/src/ap/hostapd.c 
    2525+++ b/src/ap/hostapd.c 
    26 @@ -27,6 +27,7 @@ 
     26@@ -21,6 +21,7 @@ 
    2727 #include "beacon.h" 
    2828 #include "iapp.h" 
     
    3232 #include "vlan_init.h" 
    3333 #include "wpa_auth.h" 
    34 @@ -291,6 +292,7 @@ static void hostapd_cleanup_iface_pre(st 
    35   */ 
    36  static void hostapd_cleanup_iface(struct hostapd_iface *iface) 
     34@@ -306,6 +307,7 @@ static void hostapd_cleanup_iface_pre(st 
     35  
     36 static void hostapd_cleanup_iface_partial(struct hostapd_iface *iface) 
    3737 { 
    3838+       hostapd_deinit_ht(iface); 
     
    4242--- a/src/ap/hostapd.h 
    4343+++ b/src/ap/hostapd.h 
    44 @@ -226,6 +226,9 @@ struct hostapd_iface { 
     44@@ -238,6 +238,9 @@ struct hostapd_iface { 
    4545        /* Overlapping BSS information */ 
    4646        int olbc_ht; 
     
    5454--- a/src/ap/ieee802_11.c 
    5555+++ b/src/ap/ieee802_11.c 
    56 @@ -1193,6 +1193,9 @@ static void handle_beacon(struct hostapd 
     56@@ -1205,6 +1205,9 @@ static void handle_beacon(struct hostapd 
    5757                                             sizeof(mgmt->u.beacon)), &elems, 
    5858                                      0); 
     
    6666--- a/src/ap/ieee802_11.h 
    6767+++ b/src/ap/ieee802_11.h 
    68 @@ -77,4 +77,17 @@ u8 * hostapd_eid_time_zone(struct hostap 
     68@@ -73,4 +73,17 @@ u8 * hostapd_eid_time_zone(struct hostap 
    6969 int hostapd_update_time_adv(struct hostapd_data *hapd); 
    7070 void hostapd_client_poll_ok(struct hostapd_data *hapd, const u8 *addr); 
  • trunk/package/hostapd/patches/550-limit_debug_messages.patch

    r31077 r31080  
    11--- a/src/utils/wpa_debug.c 
    22+++ b/src/utils/wpa_debug.c 
    3 @@ -129,7 +129,7 @@ static int syslog_priority(int level) 
     3@@ -118,7 +118,7 @@ static int syslog_priority(int level) 
    44  * 
    55  * Note: New line '\n' is added to the end of the text when printing to stdout. 
     
    1010        va_list ap; 
    1111  
    12 @@ -160,8 +160,8 @@ void wpa_printf(int level, const char *f 
     12@@ -154,8 +154,8 @@ void wpa_printf(int level, const char *f 
    1313 } 
    1414  
     
    2121        size_t i; 
    2222        if (level < wpa_debug_level) 
    23 @@ -197,20 +197,9 @@ static void _wpa_hexdump(int level, cons 
    24  #endif /* CONFIG_DEBUG_FILE */ 
     23@@ -262,20 +262,9 @@ static void _wpa_hexdump(int level, cons 
     24 #endif /* CONFIG_ANDROID_LOG */ 
    2525 } 
    2626  
     
    4444        size_t i, llen; 
    4545        const u8 *pos = buf; 
    46 @@ -294,19 +283,6 @@ static void _wpa_hexdump_ascii(int level 
     46@@ -363,19 +352,6 @@ static void _wpa_hexdump_ascii(int level 
    4747 } 
    4848  
     
    6464 static char *last_path = NULL; 
    6565 #endif /* CONFIG_DEBUG_FILE */ 
    66 @@ -391,7 +367,7 @@ void wpa_msg_register_ifname_cb(wpa_msg_ 
     66@@ -459,7 +435,7 @@ void wpa_msg_register_ifname_cb(wpa_msg_ 
    6767 } 
    6868  
     
    7373        va_list ap; 
    7474        char *buf; 
    75 @@ -425,7 +401,7 @@ void wpa_msg(void *ctx, int level, const 
     75@@ -493,7 +469,7 @@ void wpa_msg(void *ctx, int level, const 
    7676 } 
    7777  
     
    8484--- a/src/utils/wpa_debug.h 
    8585+++ b/src/utils/wpa_debug.h 
    86 @@ -75,6 +75,17 @@ int wpa_debug_open_file(const char *path 
     86@@ -43,6 +43,17 @@ int wpa_debug_open_file(const char *path 
    8787 int wpa_debug_reopen_file(void); 
    8888 void wpa_debug_close_file(void); 
     
    102102  * wpa_debug_printf_timestamp - Print timestamp for debug output 
    103103  * 
    104 @@ -95,9 +106,15 @@ void wpa_debug_print_timestamp(void); 
     104@@ -63,9 +74,15 @@ void wpa_debug_print_timestamp(void); 
    105105  * 
    106106  * Note: New line '\n' is added to the end of the text when printing to stdout. 
     
    119119  * wpa_hexdump - conditional hex dump 
    120120  * @level: priority level (MSG_*) of the message 
    121 @@ -109,7 +126,13 @@ PRINTF_FORMAT(2, 3); 
     121@@ -77,7 +94,13 @@ PRINTF_FORMAT(2, 3); 
    122122  * output may be directed to stdout, stderr, and/or syslog based on 
    123123  * configuration. The contents of buf is printed out has hex dump. 
     
    134134 static inline void wpa_hexdump_buf(int level, const char *title, 
    135135                                   const struct wpabuf *buf) 
    136 @@ -131,7 +154,13 @@ static inline void wpa_hexdump_buf(int l 
     136@@ -99,7 +122,13 @@ static inline void wpa_hexdump_buf(int l 
    137137  * like wpa_hexdump(), but by default, does not include secret keys (passwords, 
    138138  * etc.) in debug output. 
     
    149149 static inline void wpa_hexdump_buf_key(int level, const char *title, 
    150150                                       const struct wpabuf *buf) 
    151 @@ -153,8 +182,14 @@ static inline void wpa_hexdump_buf_key(i 
     151@@ -121,8 +150,14 @@ static inline void wpa_hexdump_buf_key(i 
    152152  * the hex numbers and ASCII characters (for printable range) are shown. 16 
    153153  * bytes per line will be shown. 
     
    166166 /** 
    167167  * wpa_hexdump_ascii_key - conditional hex dump, hide keys 
    168 @@ -170,8 +205,14 @@ void wpa_hexdump_ascii(int level, const  
     168@@ -138,8 +173,14 @@ void wpa_hexdump_ascii(int level, const  
    169169  * bytes per line will be shown. This works like wpa_hexdump_ascii(), but by 
    170170  * default, does not include secret keys (passwords, etc.) in debug output. 
     
    183183 /* 
    184184  * wpa_dbg() behaves like wpa_msg(), but it can be removed from build to reduce 
    185 @@ -206,7 +247,12 @@ void wpa_hexdump_ascii_key(int level, co 
     185@@ -172,7 +213,12 @@ void wpa_hexdump_ascii_key(int level, co 
    186186  * 
    187187  * Note: New line '\n' is added to the end of the text when printing to stdout. 
     
    197197 /** 
    198198  * wpa_msg_ctrl - Conditional printf for ctrl_iface monitors 
    199 @@ -220,8 +266,13 @@ void wpa_msg(void *ctx, int level, const 
     199@@ -186,8 +232,13 @@ void wpa_msg(void *ctx, int level, const 
    200200  * attached ctrl_iface monitors. In other words, it can be used for frequent 
    201201  * events that do not need to be sent to syslog. 
  • trunk/package/hostapd/patches/560-indicate-features.patch

    r31077 r31080  
    11--- a/hostapd/main.c 
    22+++ b/hostapd/main.c 
    3 @@ -19,6 +19,7 @@ 
     3@@ -13,6 +13,7 @@ 
    44  
    55 #include "utils/common.h" 
     
    99 #include "crypto/tls.h" 
    1010 #include "common/version.h" 
    11 @@ -574,7 +575,7 @@ int main(int argc, char *argv[]) 
     11@@ -551,7 +552,7 @@ int main(int argc, char *argv[]) 
    1212  
    1313        wpa_supplicant_event = hostapd_wpa_event; 
     
    1818                        break; 
    1919                switch (c) { 
    20 @@ -606,6 +607,8 @@ int main(int argc, char *argv[]) 
     20@@ -583,6 +584,8 @@ int main(int argc, char *argv[]) 
    2121                        wpa_debug_timestamp++; 
    2222                        break; 
     
    2929--- a/wpa_supplicant/main.c 
    3030+++ b/wpa_supplicant/main.c 
    31 @@ -18,6 +18,7 @@ 
     31@@ -12,6 +12,7 @@ 
    3232 #endif /* __linux__ */ 
    3333  
     
    3737 #include "driver_i.h" 
    3838  
    39 @@ -146,7 +147,7 @@ int main(int argc, char *argv[]) 
     39@@ -140,7 +141,7 @@ int main(int argc, char *argv[]) 
    4040        wpa_supplicant_fd_workaround(); 
    4141  
     
    4646                        break; 
    4747                switch (c) { 
    48 @@ -233,8 +234,12 @@ int main(int argc, char *argv[]) 
     48@@ -227,8 +228,12 @@ int main(int argc, char *argv[]) 
    4949                        break; 
    5050 #endif /* CONFIG_DBUS */ 
Note: See TracChangeset for help on using the changeset viewer.