hostapd: refresh patches
authorFelix Fietkau <nbd@nbd.name>
Tue, 23 Nov 2021 16:28:44 +0000 (17:28 +0100)
committerFelix Fietkau <nbd@nbd.name>
Tue, 23 Nov 2021 17:30:04 +0000 (18:30 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
14 files changed:
package/network/services/hostapd/patches/020-ignore-4addr-mode-enabling-error.patch
package/network/services/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch
package/network/services/hostapd/patches/050-mesh-make-forwarding-configurable.patch
package/network/services/hostapd/patches/200-multicall.patch
package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch
package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch
package/network/services/hostapd/patches/370-ap_sta_support.patch
package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch
package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch
package/network/services/hostapd/patches/700-wifi-reload.patch
package/network/services/hostapd/patches/711-wds_bridge_force.patch
package/network/services/hostapd/patches/730-ft_iface.patch
package/network/services/hostapd/patches/740-snoop_iface.patch
package/network/services/hostapd/patches/802-wolfssl-init-RNG-with-ECC-key.patch

index 3431ac0949f56e30c2c1226c8699eb462828c40e..f6751829a531e0577d4b68b9ddcdec508ca725f0 100644 (file)
@@ -18,8 +18,6 @@ Signed-off-by: Jouni Malinen <j@w1.fi>
  src/drivers/driver_nl80211.c | 23 +++++++++++++++++++++++
  1 file changed, 23 insertions(+)
 
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
-index 72189da24..011a15e68 100644
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
 @@ -617,6 +617,7 @@ struct wiphy_idx_data {
@@ -30,7 +28,7 @@ index 72189da24..011a15e68 100644
  };
  
  
-@@ -639,6 +640,9 @@ static int netdev_info_handler(struct nl_msg *msg, void *arg)
+@@ -639,6 +640,9 @@ static int netdev_info_handler(struct nl
                os_memcpy(info->macaddr, nla_data(tb[NL80211_ATTR_MAC]),
                          ETH_ALEN);
  
@@ -40,7 +38,7 @@ index 72189da24..011a15e68 100644
        return NL_SKIP;
  }
  
-@@ -691,6 +695,20 @@ static int nl80211_get_macaddr(struct i802_bss *bss)
+@@ -691,6 +695,20 @@ static int nl80211_get_macaddr(struct i8
  }
  
  
@@ -61,7 +59,7 @@ index 72189da24..011a15e68 100644
  static int nl80211_register_beacons(struct wpa_driver_nl80211_data *drv,
                                    struct nl80211_wiphy_data *w)
  {
-@@ -11482,6 +11500,11 @@ static int nl80211_set_4addr_mode(void *priv, const char *bridge_ifname,
+@@ -11508,6 +11526,11 @@ static int nl80211_set_4addr_mode(void *
  
        ret = send_and_recv_msgs(drv, msg, NULL, NULL);
        msg = NULL;
@@ -73,6 +71,3 @@ index 72189da24..011a15e68 100644
        if (!ret) {
                if (bridge_ifname[0] && val &&
                    i802_check_bridge(drv, bss, bridge_ifname, bss->ifname) < 0)
--- 
-2.29.2
-
index e8a78e355e77519cacb4768ae02879f7cf99f952..f65362fe962f15e8ef3fb74d61a8f491acce1c68 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/rtnetlink.h>
  #include <netpacket/packet.h>
  #include <linux/errqueue.h>
-@@ -5284,26 +5281,29 @@ fail:
+@@ -4965,26 +4962,29 @@ fail:
  
  static void rtnl_neigh_delete_fdb_entry(struct i802_bss *bss, const u8 *addr)
  {
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (err < 0) {
                wpa_printf(MSG_DEBUG, "nl80211: bridge FDB entry delete for "
                           MACSTR " ifindex=%d failed: %s", MAC2STR(addr),
-@@ -5313,9 +5313,8 @@ static void rtnl_neigh_delete_fdb_entry(
+@@ -4994,9 +4994,8 @@ static void rtnl_neigh_delete_fdb_entry(
                           MACSTR, MAC2STR(addr));
        }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  
-@@ -7691,7 +7690,6 @@ static void *i802_init(struct hostapd_da
+@@ -7337,7 +7336,6 @@ static void *i802_init(struct hostapd_da
            (params->num_bridge == 0 || !params->bridge[0]))
                add_ifidx(drv, br_ifindex, drv->ifindex);
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (bss->added_if_into_bridge || bss->already_in_bridge) {
                int err;
  
-@@ -7708,7 +7706,6 @@ static void *i802_init(struct hostapd_da
+@@ -7354,7 +7352,6 @@ static void *i802_init(struct hostapd_da
                        goto failed;
                }
        }
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (drv->capa.flags2 & WPA_DRIVER_FLAGS2_CONTROL_PORT_RX) {
                wpa_printf(MSG_DEBUG,
-@@ -10655,13 +10652,14 @@ static int wpa_driver_br_add_ip_neigh(vo
+@@ -10238,13 +10235,14 @@ static int wpa_driver_br_add_ip_neigh(vo
                                      const u8 *ipaddr, int prefixlen,
                                      const u8 *addr)
  {
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        int res;
  
        if (!ipaddr || prefixlen == 0 || !addr)
-@@ -10680,85 +10678,66 @@ static int wpa_driver_br_add_ip_neigh(vo
+@@ -10263,85 +10261,66 @@ static int wpa_driver_br_add_ip_neigh(vo
        }
  
        if (version == 4) {
@@ -220,7 +220,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                addrsize = 16;
        } else {
                return -EINVAL;
-@@ -10776,41 +10755,30 @@ static int wpa_driver_br_delete_ip_neigh
+@@ -10359,41 +10338,30 @@ static int wpa_driver_br_delete_ip_neigh
                return -1;
        }
  
index 0ecb9ba0784da40499cc40e2ea693cd41f811393..4d64ec82872078e9b00be1a4e9aea49e1e1e2091 100644 (file)
@@ -59,7 +59,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -10023,6 +10023,9 @@ static int nl80211_put_mesh_config(struc
+@@ -10038,6 +10038,9 @@ static int nl80211_put_mesh_config(struc
        if (((params->flags & WPA_DRIVER_MESH_CONF_FLAG_AUTO_PLINKS) &&
             nla_put_u8(msg, NL80211_MESHCONF_AUTO_OPEN_PLINKS,
                        params->auto_plinks)) ||
index 4f3e3decfe3365947f6c641b5816c9f646621f98..9119a24c552f4edfac3cd19e236ad287a0d9fe51 100644 (file)
        os_memset(&global, 0, sizeof(global));
 --- a/wpa_supplicant/events.c
 +++ b/wpa_supplicant/events.c
-@@ -4581,8 +4581,8 @@ static void wpas_event_unprot_beacon(str
+@@ -4579,8 +4579,8 @@ static void wpas_event_unprot_beacon(str
  }
  
  
  {
        struct wpa_supplicant *wpa_s = ctx;
        int resched;
-@@ -5400,7 +5400,7 @@ void wpa_supplicant_event(void *ctx, enu
+@@ -5398,7 +5398,7 @@ void wpa_supplicant_event(void *ctx, enu
  }
  
  
index 9e2551ce60c3e0f2a2177451f5f791d6484a6184..ccd85897287e7dc9d8dde2d9f9061930d2c52e23 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -4646,7 +4646,7 @@ static int nl80211_set_channel(struct i8
+@@ -4661,7 +4661,7 @@ static int nl80211_set_channel(struct i8
                   freq->freq, freq->ht_enabled, freq->vht_enabled, freq->he_enabled,
                   freq->bandwidth, freq->center_freq1, freq->center_freq2);
  
index a2a03c04f7696d1f9b4119a6dc480431acb1b448..076950fe35764e9d701434351c8c7e70083ebfc1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -2788,10 +2788,15 @@ static int wpa_driver_nl80211_del_beacon
+@@ -2803,10 +2803,15 @@ static int wpa_driver_nl80211_del_beacon
        struct nl_msg *msg;
        struct wpa_driver_nl80211_data *drv = bss->drv;
  
@@ -18,7 +18,7 @@
        return send_and_recv_msgs(drv, msg, NULL, NULL);
  }
  
-@@ -5261,7 +5266,7 @@ static void nl80211_teardown_ap(struct i
+@@ -5278,7 +5283,7 @@ static void nl80211_teardown_ap(struct i
                nl80211_mgmt_unsubscribe(bss, "AP teardown");
  
        nl80211_put_wiphy_data_ap(bss);
@@ -27,7 +27,7 @@
  }
  
  
-@@ -7679,8 +7684,6 @@ static int wpa_driver_nl80211_if_remove(
+@@ -7694,8 +7699,6 @@ static int wpa_driver_nl80211_if_remove(
        } else {
                wpa_printf(MSG_DEBUG, "nl80211: First BSS - reassign context");
                nl80211_teardown_ap(bss);
@@ -36,7 +36,7 @@
                nl80211_destroy_bss(bss);
                if (!bss->added_if)
                        i802_set_iface_flags(bss, 0);
-@@ -8074,7 +8077,6 @@ static int wpa_driver_nl80211_deinit_ap(
+@@ -8089,7 +8092,6 @@ static int wpa_driver_nl80211_deinit_ap(
        if (!is_ap_interface(drv->nlmode))
                return -1;
        wpa_driver_nl80211_del_beacon(bss);
@@ -44,7 +44,7 @@
  
        /*
         * If the P2P GO interface was dynamically added, then it is
-@@ -8094,7 +8096,6 @@ static int wpa_driver_nl80211_stop_ap(vo
+@@ -8109,7 +8111,6 @@ static int wpa_driver_nl80211_stop_ap(vo
        if (!is_ap_interface(drv->nlmode))
                return -1;
        wpa_driver_nl80211_del_beacon(bss);
index a7a646d2d1b4211194bad042b7d69945fa0475ce..1c5f72ddc0fd44f9083e2721c9283ab2347e1c91 100644 (file)
        if (ieee802_11_build_ap_params(hapd, &params) < 0)
 --- a/wpa_supplicant/events.c
 +++ b/wpa_supplicant/events.c
-@@ -4581,6 +4581,60 @@ static void wpas_event_unprot_beacon(str
+@@ -4579,6 +4579,60 @@ static void wpas_event_unprot_beacon(str
  }
  
  
  void supplicant_event(void *ctx, enum wpa_event_type event,
                      union wpa_event_data *data)
  {
-@@ -4883,8 +4937,10 @@ void supplicant_event(void *ctx, enum wp
+@@ -4881,8 +4935,10 @@ void supplicant_event(void *ctx, enum wp
                        channel_width_to_string(data->ch_switch.ch_width),
                        data->ch_switch.cf1,
                        data->ch_switch.cf2);
index 61d2089bc8bcd819e78bcc41cea2e33d565b6303..b5dec991d085d21c3eeaeee2081d0e8d403f5f4b 100644 (file)
@@ -10,7 +10,7 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
 
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -5584,7 +5584,7 @@ static int wpa_driver_nl80211_ibss(struc
+@@ -5601,7 +5601,7 @@ static int wpa_driver_nl80211_ibss(struc
                                   struct wpa_driver_associate_params *params)
  {
        struct nl_msg *msg;
@@ -19,7 +19,7 @@ Signed-hostap: Antonio Quartulli <ordex@autistici.org>
        int count = 0;
  
        wpa_printf(MSG_DEBUG, "nl80211: Join IBSS (ifindex=%d)", drv->ifindex);
-@@ -5611,6 +5611,37 @@ retry:
+@@ -5628,6 +5628,37 @@ retry:
            nl80211_put_beacon_int(msg, params->beacon_int))
                goto fail;
  
index 33ef097e75ca700510be5366ec517a0b5e5b4691..7e21da263d8c9813cfcb659520346c3834cd4eb3 100644 (file)
@@ -29,7 +29,7 @@ Tested-by: Simon Wunderlich <simon.wunderlich@openmesh.com>
  struct wpa_driver_set_key_params {
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -10043,6 +10043,18 @@ static int nl80211_put_mesh_id(struct nl
+@@ -10058,6 +10058,18 @@ static int nl80211_put_mesh_id(struct nl
  }
  
  
@@ -48,7 +48,7 @@ Tested-by: Simon Wunderlich <simon.wunderlich@openmesh.com>
  static int nl80211_put_mesh_config(struct nl_msg *msg,
                                   struct wpa_driver_mesh_bss_params *params)
  {
-@@ -10104,6 +10116,7 @@ static int nl80211_join_mesh(struct i802
+@@ -10119,6 +10131,7 @@ static int nl80211_join_mesh(struct i802
            nl80211_put_basic_rates(msg, params->basic_rates) ||
            nl80211_put_mesh_id(msg, params->meshid, params->meshid_len) ||
            nl80211_put_beacon_int(msg, params->beacon_int) ||
index d5520d0b77dca541fb4fb044303f861ee45598ac..ceb92265dd53bf7919935a91b5e489a34fe739c6 100644 (file)
  hostapd_alloc_bss_data(struct hostapd_iface *hapd_iface,
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -4493,6 +4493,9 @@ static int wpa_driver_nl80211_set_ap(voi
+@@ -4508,6 +4508,9 @@ static int wpa_driver_nl80211_set_ap(voi
        if (ret) {
                wpa_printf(MSG_DEBUG, "nl80211: Beacon set failed: %d (%s)",
                           ret, strerror(-ret));
index d3f8864a7490d38535ca705437b5f21976784860..01507b6d367150f74d72f6345c619752f85ae573 100644 (file)
@@ -1,6 +1,6 @@
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -2357,6 +2357,8 @@ static int hostapd_config_fill(struct ho
+@@ -2405,6 +2405,8 @@ static int hostapd_config_fill(struct ho
                           sizeof(conf->bss[0]->iface));
        } else if (os_strcmp(buf, "bridge") == 0) {
                os_strlcpy(bss->bridge, pos, sizeof(bss->bridge));
index 793e8e01940e76dd5e325764aed2736c7c284c84..c1adf1ffcf1f161b127d58f1e83f490dde10ec14 100644 (file)
@@ -1,6 +1,6 @@
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -3031,6 +3031,8 @@ static int hostapd_config_fill(struct ho
+@@ -3069,6 +3069,8 @@ static int hostapd_config_fill(struct ho
                wpa_printf(MSG_INFO,
                           "Line %d: Obsolete peerkey parameter ignored", line);
  #ifdef CONFIG_IEEE80211R_AP
@@ -11,7 +11,7 @@
                    hexstr2bin(pos, bss->mobility_domain,
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -277,6 +277,7 @@ struct airtime_sta_weight {
+@@ -284,6 +284,7 @@ struct airtime_sta_weight {
  struct hostapd_bss_config {
        char iface[IFNAMSIZ + 1];
        char bridge[IFNAMSIZ + 1];
@@ -21,7 +21,7 @@
  
 --- a/src/ap/wpa_auth_glue.c
 +++ b/src/ap/wpa_auth_glue.c
-@@ -1565,8 +1565,12 @@ int hostapd_setup_wpa(struct hostapd_dat
+@@ -1511,8 +1511,12 @@ int hostapd_setup_wpa(struct hostapd_dat
            wpa_key_mgmt_ft(hapd->conf->wpa_key_mgmt)) {
                const char *ft_iface;
  
index d206ed73229b0abbe3b13d8ad724fa940aa14e67..15aaf4b8e40c5f4878afa388a09e5cb215f3eb5c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/ap/ap_config.h
 +++ b/src/ap/ap_config.h
-@@ -278,6 +278,7 @@ struct hostapd_bss_config {
+@@ -285,6 +285,7 @@ struct hostapd_bss_config {
        char iface[IFNAMSIZ + 1];
        char bridge[IFNAMSIZ + 1];
        char ft_iface[IFNAMSIZ + 1];
@@ -55,7 +55,7 @@
                           "x_snoop: Failed to initialize L2 packet processing %s",
 --- a/hostapd/config_file.c
 +++ b/hostapd/config_file.c
-@@ -2359,6 +2359,8 @@ static int hostapd_config_fill(struct ho
+@@ -2407,6 +2407,8 @@ static int hostapd_config_fill(struct ho
                os_strlcpy(bss->bridge, pos, sizeof(bss->bridge));
                if (!bss->wds_bridge[0])
                        os_strlcpy(bss->wds_bridge, pos, sizeof(bss->wds_bridge));
index 89d111e9917e12e83cf439c4783112362f229104..84fc1c935133f8d13f20bd925db62b8a087625de 100644 (file)
@@ -14,11 +14,9 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  src/crypto/crypto_wolfssl.c | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git a/src/crypto/crypto_wolfssl.c b/src/crypto/crypto_wolfssl.c
-index 2e4bf8962..ed2528159 100644
 --- a/src/crypto/crypto_wolfssl.c
 +++ b/src/crypto/crypto_wolfssl.c
-@@ -1303,6 +1303,7 @@ int ecc_projective_add_point(ecc_point *P, ecc_point *Q, ecc_point *R,
+@@ -1303,6 +1303,7 @@ int ecc_projective_add_point(ecc_point *
  
  struct crypto_ec {
        ecc_key key;
@@ -26,7 +24,7 @@ index 2e4bf8962..ed2528159 100644
        mp_int a;
        mp_int prime;
        mp_int order;
-@@ -1357,6 +1358,8 @@ struct crypto_ec * crypto_ec_init(int group)
+@@ -1357,6 +1358,8 @@ struct crypto_ec * crypto_ec_init(int gr
                return NULL;
  
        if (wc_ecc_init(&e->key) != 0 ||
@@ -35,7 +33,7 @@ index 2e4bf8962..ed2528159 100644
            wc_ecc_set_curve(&e->key, 0, curve_id) != 0 ||
            mp_init(&e->a) != MP_OKAY ||
            mp_init(&e->prime) != MP_OKAY ||
-@@ -1388,6 +1391,7 @@ void crypto_ec_deinit(struct crypto_ec* e)
+@@ -1388,6 +1391,7 @@ void crypto_ec_deinit(struct crypto_ec*
        mp_clear(&e->order);
        mp_clear(&e->prime);
        mp_clear(&e->a);
@@ -43,6 +41,3 @@ index 2e4bf8962..ed2528159 100644
        wc_ecc_free(&e->key);
        os_free(e);
  }
--- 
-2.31.1
-