hostapd: update to version 2018-12-02 (2.7)
[openwrt/openwrt.git] / package / network / services / hostapd / patches / 460-wpa_supplicant-add-new-config-params-to-be-used-with.patch
index 2dad273..1bb5d6e 100644 (file)
@@ -18,17 +18,15 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
  
  #define WPA_SUPPLICANT_DRIVER_VERSION 4
  
-+#include "drivers/nl80211_copy.h"
++#include "ap/sta_info.h"
  #include "common/defs.h"
- #include "utils/list.h"
-@@ -442,6 +443,11 @@ struct wpa_driver_associate_params {
+ #include "common/ieee802_11_defs.h"
+ #include "common/wpa_common.h"
+@@ -774,6 +775,9 @@ struct wpa_driver_associate_params {
         * responsible for selecting with which BSS to associate. */
        const u8 *bssid;
  
-+      int beacon_interval;
-+      int fixed_freq;
-+      unsigned char rates[NL80211_MAX_SUPP_RATES];
++      unsigned char rates[WLAN_SUPP_RATES_MAX];
 +      int mcast_rate;
 +
        /**
@@ -36,17 +34,17 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
         *
 --- a/wpa_supplicant/config.c
 +++ b/wpa_supplicant/config.c
-@@ -15,6 +15,7 @@
- #include "rsn_supp/wpa.h"
+@@ -17,6 +17,7 @@
  #include "eap_peer/eap.h"
  #include "p2p/p2p.h"
-+#include "drivers/nl80211_copy.h"
+ #include "fst/fst.h"
++#include "ap/sta_info.h"
  #include "config.h"
  
  
-@@ -1576,6 +1577,97 @@ static char * wpa_config_write_psk_list(
+@@ -2053,6 +2054,97 @@ static char * wpa_config_write_peerkey(c
+ #endif /* NO_CONFIG_WRITE */
  
- #endif /* CONFIG_P2P */
  
 +static int wpa_config_parse_mcast_rate(const struct parse_data *data,
 +                                     struct wpa_ssid *ssid, int line,
@@ -90,7 +88,7 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
 +      pos = (char *)value;
 +      r = strtok_r(pos, ",", &sptr);
 +      i = 0;
-+      while (pos && i < NL80211_MAX_SUPP_RATES) {
++      while (pos && i < WLAN_SUPP_RATES_MAX) {
 +              rate = 0.0;
 +              if (r)
 +                      rate = strtod(r, &end);
@@ -115,11 +113,11 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
 +      if (ssid->rates[0] <= 0)
 +              return NULL;
 +
-+      value = os_malloc(6 * NL80211_MAX_SUPP_RATES + 1);
++      value = os_malloc(6 * WLAN_SUPP_RATES_MAX + 1);
 +      if (value == NULL)
 +              return NULL;
 +      pos = value;
-+      for (i = 0; i < NL80211_MAX_SUPP_RATES - 1; i++) {
++      for (i = 0; i < WLAN_SUPP_RATES_MAX - 1; i++) {
 +              res = os_snprintf(pos, 6, "%.1f,", (double)ssid->rates[i] / 2);
 +              if (res < 0) {
 +                      os_free(value);
@@ -128,13 +126,13 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
 +              pos += res;
 +      }
 +      res = os_snprintf(pos, 6, "%.1f",
-+                        (double)ssid->rates[NL80211_MAX_SUPP_RATES - 1] / 2);
++                        (double)ssid->rates[WLAN_SUPP_RATES_MAX - 1] / 2);
 +      if (res < 0) {
 +              os_free(value);
 +              return NULL;
 +      }
 +
-+      value[6 * NL80211_MAX_SUPP_RATES] = '\0';
++      value[6 * WLAN_SUPP_RATES_MAX] = '\0';
 +      return value;
 +}
 +#endif /* NO_CONFIG_WRITE */
@@ -142,32 +140,33 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
  /* Helper macros for network block parser */
  
  #ifdef OFFSET
-@@ -1788,6 +1880,9 @@ static const struct parse_data ssid_fiel
+@@ -2298,6 +2390,8 @@ static const struct parse_data ssid_fiel
        { INT(ap_max_inactivity) },
        { INT(dtim_period) },
        { INT(beacon_int) },
-+      { INT_RANGE(fixed_freq, 0, 1) },
 +      { FUNC(rates) },
 +      { FUNC(mcast_rate) },
  #ifdef CONFIG_MACSEC
        { INT_RANGE(macsec_policy, 0, 1) },
- #endif /* CONFIG_MACSEC */
+       { INT_RANGE(macsec_integ_only, 0, 1) },
 --- a/wpa_supplicant/config_ssid.h
 +++ b/wpa_supplicant/config_ssid.h
-@@ -12,6 +12,7 @@
+@@ -10,8 +10,10 @@
+ #define CONFIG_SSID_H
  #include "common/defs.h"
++#include "ap/sta_info.h"
  #include "utils/list.h"
  #include "eap_peer/eap_config.h"
 +#include "drivers/nl80211_copy.h"
  
- #define MAX_SSID_LEN 32
  
-@@ -640,6 +641,10 @@ struct wpa_ssid {
+ #define DEFAULT_EAP_WORKAROUND ((unsigned int) -1)
+@@ -757,6 +759,9 @@ struct wpa_ssid {
         */
        void *parent_cred;
  
-+      int fixed_freq;
-+      unsigned char rates[NL80211_MAX_SUPP_RATES];
++      unsigned char rates[WLAN_SUPP_RATES_MAX];
 +      double mcast_rate;
 +
  #ifdef CONFIG_MACSEC
@@ -175,17 +174,16 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
         * macsec_policy - Determines the policy for MACsec secure session
 --- a/wpa_supplicant/wpa_supplicant.c
 +++ b/wpa_supplicant/wpa_supplicant.c
-@@ -1949,6 +1949,13 @@ static void wpas_start_assoc_cb(struct w
+@@ -3117,6 +3117,12 @@ static void wpas_start_assoc_cb(struct w
                        params.beacon_int = ssid->beacon_int;
                else
                        params.beacon_int = wpa_s->conf->beacon_int;
-+              params.fixed_freq = ssid->fixed_freq;
 +              i = 0;
-+              while (i < NL80211_MAX_SUPP_RATES) {
++              while (i < WLAN_SUPP_RATES_MAX) {
 +                      params.rates[i] = ssid->rates[i];
 +                      i++;
 +              }
 +              params.mcast_rate = ssid->mcast_rate;
        }
  
-       params.wpa_ie = wpa_ie;
+       params.pairwise_suite = cipher_pairwise;