Commit Graph

71 Commits

Author SHA1 Message Date
Stefan Lippers-Hollmann
a2d8c9a8c8 hostapd: P2P: Fix a corner case in peer addition based on PD Request
p2p_add_device() may remove the oldest entry if there is no room in the
peer table for a new peer. This would result in any pointer to that
removed entry becoming stale. A corner case with an invalid PD Request
frame could result in such a case ending up using (read+write) freed
memory. This could only by triggered when the peer table has reached its
maximum size and the PD Request frame is received from the P2P Device
Address of the oldest remaining entry and the frame has incorrect P2P
Device Address in the payload.

Fix this by fetching the dev pointer again after having called
p2p_add_device() so that the stale pointer cannot be used.

This fixes the following security vulnerabilities/bugs:

- CVE-2021-27803 - A vulnerability was discovered in how p2p/p2p_pd.c
  in wpa_supplicant before 2.10 processes P2P (Wi-Fi Direct) provision
  discovery requests. It could result in denial of service or other
  impact (potentially execution of arbitrary code), for an attacker
  within radio range.

Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
(cherry picked from commit 1ca5de13a1)
2021-11-30 11:36:45 +08:00
Raphaël Mélotte
91c02d06de hostapd: backport ignoring 4addr mode enabling error
This is a backport of the upstream commit 58bbbb598144 ("nl80211: Ignore
4addr mode enabling error if it was already enabled").

 nl80211_set_4addr_mode() could fail when trying to enable 4addr mode on
 an interface that is in a bridge and has 4addr mode already enabled.
 This operation would not have been necessary in the first place and this
 failure results in disconnecting, e.g., when roaming from one backhaul
 BSS to another BSS with Multi AP.

 Avoid this issue by ignoring the nl80211 command failure in the case
 where 4addr mode is being enabled while it has already been enabled.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
[bump PKG_RELEASE, more verbose commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit fb860b4e41)
2021-11-30 11:36:04 +08:00
Daniel Golle
61c6cbaa2c hostapd: fix P2P group information processing vulnerability
A vulnerability was discovered in how wpa_supplicant processing P2P
(Wi-Fi Direct) group information from active group owners.
This issue was discovered by fuzz testing of wpa_supplicant by Google's
OSS-Fuzz.

https://w1.fi/security/2020-2/wpa_supplicant-p2p-group-info-processing-vulnerability.txt

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[added the missing patch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry-picked from commit 7c8c4f1be6)
2021-11-30 11:35:16 +08:00
Felix Fietkau
0cc1b0e1f1 hostapd: unconditionally enable ap/mesh for wpa-cli
Without this change, wpa-cli features depend on which wpad build variant was
used to build the wpa-cli package

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Tested-by: Jérôme Benoit <jerome.benoit@piment-noir.org> [WRT1900AC v1]
[added missing package version bump]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 03e9e4ba9e)
2021-11-30 11:33:44 +08:00
Eneas U de Queiroz
9faf4324d4 hostapd: set VARIANT=* for wpa-cli, hostapd-utils
19aae94 [build: avoid rebuilds of unset VARIANT packages] builds
packages defined without a VARIANT only once, using the first VARIANT
defined in the Makefile.

This caused problems with wpa-cli, as it is only built for variants that
include supplicant support, and the first VARIANT defined may not build
it.

The same happens to hostapd-utils, which is not built for
supplicant-only variants.

To circumvent this, set VARIANT=* for both packages so that they get
built for every defined variant.  This should not cause spurious
rebuilds, since tey are not a dependency of any other package defined in
this Makefile.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2021-11-16 13:19:02 +08:00
Eneas U de Queiroz
87fb61cd89 hostapd: avoid unnecessary package rebuilds
Package hostapd-common is a dependency of every other package defined in
hostpad Makefile.  It is currently built next to the bottom of that
Makefile's package list.

If you run make back to back, then check-compile will compare the
hostapd-common timestamp to the variant being compiled, to decide if the
varint needs to be rebuilt or not.  Since the hostapd-conf package is
built towards the end of the list, it will be newer than most of the
variants, causing unnecessary package rebuilds.

Move it to the top, so that its timestamp will be older than dependent
packages, avoiding unnecessary rebuild of every selected variant.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2021-11-16 13:16:44 +08:00
Felix Fietkau
b4e859322f hostapd: support verbose build using V=sc
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-05-27 23:15:42 +08:00
David Bauer
5bc0b94e96 hostapd: wolfssl: add RNG to EC key
Since upstream commit 6467de5a8840 ("Randomize z ordinates in
scalar mult when timing resistant") WolfSSL requires a RNG for
the EC key when built hardened which is the default.

Set the RNG for the EC key to fix connections for OWE clients.

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-05-22 19:16:15 +08:00
AmadeusGhost
b7b865d416 hostapd: add submenu for packages 2020-12-18 21:25:14 +08:00
Hauke Mehrtens
f1025cd785 hostapd: Fix compile errors after wolfssl update
This fixes the following compile errors after the wolfssl 4.5.0 update:
  LD  wpa_cli
../src/crypto/tls_wolfssl.c: In function 'tls_match_alt_subject':
../src/crypto/tls_wolfssl.c:610:11: error: 'GEN_EMAIL' undeclared (first use in this function); did you mean 'ENAVAIL'?
    type = GEN_EMAIL;
           ^~~~~~~~~
           ENAVAIL
../src/crypto/tls_wolfssl.c:610:11: note: each undeclared identifier is reported only once for each function it appears in
../src/crypto/tls_wolfssl.c:613:11: error: 'GEN_DNS' undeclared (first use in this function)
    type = GEN_DNS;
           ^~~~~~~
../src/crypto/tls_wolfssl.c:616:11: error: 'GEN_URI' undeclared (first use in this function)
    type = GEN_URI;
           ^~~~~~~
../src/crypto/tls_wolfssl.c: In function 'wolfssl_tls_cert_event':
../src/crypto/tls_wolfssl.c:902:20: error: 'GEN_EMAIL' undeclared (first use in this function); did you mean 'ENAVAIL'?
   if (gen->type != GEN_EMAIL &&
                    ^~~~~~~~~
                    ENAVAIL
../src/crypto/tls_wolfssl.c:903:20: error: 'GEN_DNS' undeclared (first use in this function)
       gen->type != GEN_DNS &&
                    ^~~~~~~
../src/crypto/tls_wolfssl.c:904:20: error: 'GEN_URI' undeclared (first use in this function)
       gen->type != GEN_URI)
                    ^~~~~~~
Makefile:2029: recipe for target '../src/crypto/tls_wolfssl.o' failed

Fixes: 00722a720c ("wolfssl: Update to version 4.5.0")
Reported-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-08-28 09:25:22 +08:00
Petr Štetiar
6c78455942 hostapd: add wpad-basic-wolfssl variant
Add package which provides size optimized wpad with support for just
WPA-PSK, SAE (WPA3-Personal), 802.11r and 802.11w.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[adapt to recent changes, add dependency for WPA_WOLFSSL config]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-23 01:18:17 +08:00
AmadeusGhost
a273d13857 Merge Lean's source 2020-05-30 12:25:05 +08:00
coolsnowwolf
bbe99b4fdf mac80211:update ath10k upstream patches 2020-05-27 11:58:24 +08:00
coolsnowwolf
d1f2153ca4 hostapd: disable wifi-reload 2020-05-27 00:17:15 +08:00
coolsnowwolf
bb3276ef05 mac80211: fix RT-ACRH17 2.4Ghz wifi performance issus 2020-05-26 23:18:25 +08:00
Daniel Golle
6f60d4d2d6 hostapd: backport wolfssl bignum fixes
crypto_bignum_rand() use needless time-consuming filtering
which resulted in SAE no longer connecting within time limits.
Import fixes from hostap upstream to fix that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-05-26 11:03:16 +08:00
Antonio Quartulli
10a5001fb9 wpad-wolfssl: fix crypto_bignum_sub()
Backport patch from hostapd.git master that fixes copy/paste error in
crypto_bignum_sub() in crypto_wolfssl.c.

This missing fix was discovered while testing SAE over a mesh interface.

With this fix applied and wolfssl >3.14.4 mesh+SAE works fine with
wpad-mesh-wolfssl.

Cc: Sean Parkinson <sean@wolfssl.com>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-05-13 17:56:55 +08:00
AmadeusGhost
29a00cd005 Merge Lean's source 2020-05-13 17:50:08 +08:00
AmadeusGhost
5591c36728 Revert "ipq40xx: update ath10k firmware" (#4590)
This reverts commit 2c37fa71f9.
2020-05-12 18:58:46 +08:00
AmadeusGhost
f2c4cd42ff Merge Lean's source 2020-05-09 18:16:05 +08:00
coolsnowwolf
2c37fa71f9 ipq40xx: update ath10k firmware 2020-05-09 14:36:43 +08:00
CN_SZTL
3dea33419c Merge Official Source 2020-05-02 19:17:57 +08:00
AmadeusGhost
23378ed9a4 netifd: add dynamic wireless reconfiguration (#4518)
Set new option 'reconf' in 'wifi-device' section to enable dynamic re-configuration on that radio. Also fix wifi relay and 'netifd: radio1 (9654): Command failed'.
2020-05-02 19:11:45 +08:00
Antonio Quartulli
c39feefc22 wpad-wolfssl: fix crypto_bignum_sub()
Backport patch from hostapd.git master that fixes copy/paste error in
crypto_bignum_sub() in crypto_wolfssl.c.

This missing fix was discovered while testing SAE over a mesh interface.

With this fix applied and wolfssl >3.14.4 mesh+SAE works fine with
wpad-mesh-wolfssl.

Cc: Sean Parkinson <sean@wolfssl.com>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-04-30 18:52:33 +08:00
AmadeusGhost
463b6ac050 mac80211: fixed slow wireless startup (#4420)
* hostapd: reduce to a single instance per service

* mac80211: sync upstream source code

* iw: bump to 5.4
2020-04-23 16:42:46 +08:00
AmadeusGhost
014283bc8b hostapd: reduce to a single instance per service 2020-04-22 18:09:30 +08:00
coolsnowwolf
036efba3c1 hostapd: backport usleep patch 2020-04-16 12:59:49 +08:00
Rosen Penev
a6092813a4 hostapd: backport usleep patch
Optionally fixes compilation with uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-14 20:29:39 +08:00
Kevin Darbyshire-Bryant
1f67bf9f22 hostapd: Move hostapd variants to WirelessAPD menu
It seemed very confusing when trying to select the different variants of
hostapd which are somewhat scattered about under the menu 'Network'.
Moving all hostapd variants under a common submenu helps avoid
confusion.

Inspired-by: Kevin Mahoney <kevin.mahoney@zenotec.net>
[Fixup badly formatted patch, change menu name]
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2020-04-05 21:20:16 +08:00
CN_SZTL
03d7119e7a Merge Lean's source 2020-04-03 23:50:50 +08:00
lean
8faac30089 mac80211: Update to version 5.4.27 2020-04-03 23:29:36 +08:00
Jesus Fernandez Manzano
59752dc5f0 hostapd: Add 802.11r support for WPA3-Enterprise
Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.net>
2020-03-30 19:49:51 +08:00
CN_SZTL
5ef3c35ad3 Merge Lean's source 2020-02-14 01:08:14 +08:00
coolsnowwolf
b4a4b23995 hostapd: remove erroneous $(space) redefinitio 2020-02-13 18:10:28 +08:00
CN_SZTL
2e213cc242 Merge Lean's source 2020-02-01 20:06:04 +08:00
coolsnowwolf
0f221a4e67 hostapd: fix faulty WMM IE parameters with ETSI regulatory domains 2020-02-01 19:30:06 +08:00
CN_SZTL
9ff9e05360 dnsmasq: Fix potential dnsmasq crash with TCP 2020-01-15 02:06:04 +08:00
CN_SZTL
4ccac3cdad Merge Lean's source 2019-11-26 22:22:14 +08:00
LEAN-ESX
f92be122c9 mac80211: backport 256-QAM for 4.19.85 2019-11-26 05:20:23 -08:00
coolsnowwolf
1debe64956 mac80211: backport 4.19.85-1 stable release 2019-11-26 17:26:00 +08:00
CN_SZTL
90f1eb0b46 Merge Lean's source 2019-11-22 22:09:35 +08:00
LEAN-ESX
f8d1fc74ba mac80211/hostapd: add support for 256-QAM 2019-11-22 05:18:02 -08:00
CN_SZTL
022791e546 Merge Lean's source 2019-11-22 08:47:05 +08:00
LEAN-ESX
41cdd9a56a mac80211: bump to 5.4-rc2 2019-11-21 08:42:18 -08:00
CN_SZTL
826352dd0f Merge Lean's source 2019-11-18 13:38:53 +08:00
LEAN-ESX
1846f1a041 hostapd: add IEEE 802.11k support 2019-11-17 02:33:58 -08:00
CN_SZTL
8e18caa55a hostapd: enable PMKSA and OK caching for WPA3-Personal 2019-11-08 21:11:54 +08:00
CN_SZTL
4dbb25410b hostapd: fix permission 2019-09-30 19:27:25 +08:00
CN_SZTL
2881d797e9 hostapd: update patches 2019-09-30 19:25:09 +08:00
CN_SZTL
b4507b0342 merge lean's source 2019-09-30 13:23:48 +08:00