summaryrefslogtreecommitdiff
path: root/net-wireless
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
commit1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch)
tree18e2e784f9fb0dbc3546537acc42ad51b366d90e /net-wireless
parent9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff)
downloadbaldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip
Adding metadata
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/aircrack-ng/aircrack-ng-1.7-r3.ebuild (renamed from net-wireless/aircrack-ng/aircrack-ng-1.7-r2.ebuild)20
-rw-r--r--net-wireless/aircrack-ng/aircrack-ng-9999.ebuild111
-rw-r--r--net-wireless/aircrack-ng/metadata.xml7
-rw-r--r--net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild50
-rw-r--r--net-wireless/wpa_supplicant/Manifest1
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.10-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch57
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-Send-CTRL-EVENT-SIGNAL-CHANGE-message-to-control-interfaces-only.patch50
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-libressl.patch33
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-AP-Silently-ignore-management-frame-from-unexpected.patch73
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-libressl.patch12
-rw-r--r--net-wireless/wpa_supplicant/metadata.xml20
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-2.11-r4.ebuild (renamed from net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild)6
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-2.11-r5.ebuild (renamed from net-wireless/wpa_supplicant/wpa_supplicant-2.10-r2.ebuild)105
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild446
14 files changed, 715 insertions, 276 deletions
diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.7-r2.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.7-r3.ebuild
index 80b36e1901a7..ba01a0588beb 100644
--- a/net-wireless/aircrack-ng/aircrack-ng-1.7-r2.ebuild
+++ b/net-wireless/aircrack-ng/aircrack-ng-1.7-r3.ebuild
@@ -1,9 +1,10 @@
-# Copyright 2021-2025 Liguros Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{11..12} )
DISTUTILS_OPTIONAL=1
inherit distutils-r1 autotools
@@ -11,9 +12,15 @@ inherit distutils-r1 autotools
DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
HOMEPAGE="http://www.aircrack-ng.org"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/aircrack-ng/aircrack-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 arm ~arm64 ~ppc x86 ~amd64-linux ~x86-linux"
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git"
+else
+ MY_PV=${PV/_/-}
+ SRC_URI="https://github.com/aircrack-ng/aircrack-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm ~arm64 ~ppc x86"
+fi
+
LICENSE="GPL-2"
SLOT="0"
@@ -23,12 +30,11 @@ CDEPEND="net-libs/libpcap
sys-apps/hwloc:0=
dev-libs/libbsd
dev-libs/openssl:0=
-
netlink? ( dev-libs/libnl:3 )
pcre? ( dev-libs/libpcre )
airdrop-ng? ( ${PYTHON_DEPS} )
airgraph-ng? ( ${PYTHON_DEPS} )
- experimental? ( sys-libs/zlib )
+ experimental? ( virtual/zlib:= )
sqlite? ( >=dev-db/sqlite-3.4:3 )
"
DEPEND="${CDEPEND}
diff --git a/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild
new file mode 100644
index 000000000000..8c131c3455f8
--- /dev/null
+++ b/net-wireless/aircrack-ng/aircrack-ng-9999.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 autotools
+
+DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys"
+HOMEPAGE="http://www.aircrack-ng.org"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git"
+else
+ MY_PV=${PV/_/-}
+ SRC_URI="https://github.com/aircrack-ng/aircrack-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="+airdrop-ng +airgraph-ng +experimental +netlink +pcre +sqlite test"
+
+CDEPEND="net-libs/libpcap
+ sys-apps/hwloc:0=
+ dev-libs/libbsd
+ dev-libs/openssl:0=
+ netlink? ( dev-libs/libnl:3 )
+ pcre? ( dev-libs/libpcre2:= )
+ airdrop-ng? ( ${PYTHON_DEPS} )
+ airgraph-ng? ( ${PYTHON_DEPS} )
+ experimental? ( virtual/zlib:= )
+ sqlite? ( >=dev-db/sqlite-3.4:3 )
+ "
+DEPEND="${CDEPEND}
+ test? ( dev-tcltk/expect )
+ "
+RDEPEND="${CDEPEND}
+ kernel_linux? (
+ net-wireless/iw
+ net-wireless/wireless-tools
+ sys-apps/ethtool
+ sys-apps/usbutils
+ sys-apps/pciutils )
+ sys-apps/hwdata
+ airdrop-ng? ( net-wireless/lorcon[python,${PYTHON_USEDEP}] )"
+BDEPEND="airdrop-ng? ( ${DISTUTILS_DEPS} )
+ airgraph-ng? ( ${DISTUTILS_DEPS} )"
+
+REQUIRED_USE="airdrop-ng? ( ${PYTHON_REQUIRED_USE} )
+ airgraph-ng? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ eautoreconf
+ if use airgraph-ng || use airdrop-ng; then
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ STATIC_LIBDIR_NAME="$(get_libdir)" \
+ --disable-asan \
+ --enable-shared \
+ --disable-static \
+ --without-opt \
+ --with-duma=no \
+ $(use_enable netlink libnl) \
+ $(use_with experimental) \
+ $(use_with sqlite sqlite3)
+}
+
+python_compile() {
+ if use airgraph-ng; then
+ cd "${S}/scripts/airgraph-ng" || die
+ distutils-r1_python_compile
+ fi
+ if use airdrop-ng; then
+ if [ -d "${BUILD_DIR}"/build ]; then
+ rm -r "${BUILD_DIR}"/build || die
+ fi
+ cd "${S}/scripts/airdrop-ng" || die
+ distutils-r1_python_compile
+ fi
+}
+
+src_compile() {
+ default
+ if use airgraph-ng || use airdrop-ng; then
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+ if use airgraph-ng || use airdrop-ng; then
+ distutils-r1_src_install
+ fi
+
+ # we don't need aircrack-ng's oui updater, we have our own
+ rm "${ED}"/usr/sbin/airodump-ng-oui-update || die
+ find "${D}" -xtype f -name '*.la' -delete || die
+}
diff --git a/net-wireless/aircrack-ng/metadata.xml b/net-wireless/aircrack-ng/metadata.xml
index 7dca74c8e446..e022d84d698e 100644
--- a/net-wireless/aircrack-ng/metadata.xml
+++ b/net-wireless/aircrack-ng/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
<email>zerochaos@gentoo.org</email>
<name>Rick Farina</name>
@@ -19,9 +15,6 @@
aircrack-ng is the next generation of aircrack with lots of new features.
(from http://www.aircrack-ng.org)
</longdescription>
- <upstream>
- <remote-id type="cpe">cpe:/a:aircrack-ng:aircrack-ng</remote-id>
- </upstream>
<use>
<flag name="airdrop-ng">Build airdrop-ng</flag>
<flag name="airgraph-ng">Build airgraph-ng</flag>
diff --git a/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild b/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild
new file mode 100644
index 000000000000..60f674d398fd
--- /dev/null
+++ b/net-wireless/sdrplay/sdrplay-2.13.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit unpacker udev multilib-minimal
+
+MY_PV_1=$(ver_cut 1)
+MY_PV_12=$(ver_cut 1-2)
+
+DESCRIPTION="SDRplay API/HW driver for all RSPs"
+HOMEPAGE="https://www.sdrplay.com"
+SRC_URI="http://www.sdrplay.com/software/SDRplay_RSP_API-Linux-${PV}.run"
+
+LICENSE="SDRplay"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="virtual/libusb:1
+ virtual/udev"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="usr/lib64/libmirsdrapi-rsp.so.${MY_PV_12}
+usr/lib32/libmirsdrapi-rsp.so.${MY_PV_12}"
+
+multilib_src_install_all() {
+ insinto /usr/include/
+ doins mirsdrapi-rsp.h
+
+ udev_dorules 66-mirics.rules
+ udev_reload
+}
+
+multilib_src_install() {
+ if [ "${MULTILIB_ABI_FLAG}" = "abi_x86_32" ]; then
+ dolib.so "${S}/i686/libmirsdrapi-rsp.so.${MY_PV_12}"
+ fi
+
+ if [ "${MULTILIB_ABI_FLAG}" = "abi_x86_64" ]; then
+ dolib.so "${S}/x86_64/libmirsdrapi-rsp.so.${MY_PV_12}"
+ fi
+
+ dosym libmirsdrapi-rsp.so.${MY_PV_12} "${EROOT}/usr/$(get_libdir)/libmirsdrapi-rsp.so.${MY_PV_1}"
+ dosym libmirsdrapi-rsp.so.${MY_PV_1} "${EROOT}/usr/$(get_libdir)/libmirsdrapi-rsp.so"
+}
diff --git a/net-wireless/wpa_supplicant/Manifest b/net-wireless/wpa_supplicant/Manifest
index eb1993df7edc..72800ead6b64 100644
--- a/net-wireless/wpa_supplicant/Manifest
+++ b/net-wireless/wpa_supplicant/Manifest
@@ -1,2 +1 @@
-DIST wpa_supplicant-2.10.tar.gz 3511622 BLAKE2B 7f6045e5dcf24f7ccf1ea75c99541f9d68fadaea858a6ca11a95c997de14e33b3aa89138e748664579b5a4ea493d247cf6613da3c5fae49a4dbb5cd58dace752 SHA512 021c2a48f45d39c1dc6557730be5debaee071bc0ff82a271638beee6e32314e353e49d39e2f0dc8dff6e094dcc7008cfe1c32d0c7a34a1a345a12a3f1c1e11a1
DIST wpa_supplicant-2.11.tar.gz 3841433 BLAKE2B 71bd0d11cd31eb5bc6beb51caf0f1399856ea188f316d2330053a2d8c81869057811e9f500828e8981eabd0af38f30a18a3ae584d744005c78681c82fa910abf SHA512 9a0a3a9d6fa2235903c40aa57b5955f0c9dd1dccfd0e3825a3b6f92b3e32db8d464b3ea0aef3285ba3ee109e7b190560cedd744902e954f0003cdba543e277b2
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.10-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.10-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch
deleted file mode 100644
index 18f879c9f39f..000000000000
--- a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.10-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 22 May 2022 17:01:35 +0300
-Subject: OpenSSL: Drop security level to 0 with OpenSSL 3.0 when using TLS 1.0/1.1
-
-Commit 9afb68b03976 ("OpenSSL: Allow systemwide secpolicy overrides for
-TLS version") with commit 58bbcfa31b18 ("OpenSSL: Update security level
-drop for TLS 1.0/1.1 with OpenSSL 3.0") allow this workaround to be
-enabled with an explicit network configuration parameter. However, the
-default settings are still allowing TLS 1.0 and 1.1 to be negotiated
-just to see them fail immediately when using OpenSSL 3.0. This is not
-exactly helpful especially when the OpenSSL error message for this
-particular case is "internal error" which does not really say anything
-about the reason for the error.
-
-It is is a bit inconvenient to update the security policy for this
-particular issue based on the negotiated TLS version since that happens
-in the middle of processing for the first message from the server.
-However, this can be done by using the debug callback for printing out
-the received TLS messages during processing.
-
-Drop the OpenSSL security level to 0 if that is the only option to
-continue the TLS negotiation, i.e., when TLS 1.0/1.1 are still allowed
-in wpa_supplicant default configuration and OpenSSL 3.0 with the
-constraint on MD5-SHA1 use.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Bug-Debian: https://bugs.debian.org/1011121
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1958267
-Origin: upstream, commit:bc99366f9b960150aa2e369048bbc2218c1d414e
----
- src/crypto/tls_openssl.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c
-index 6602ac64f591..78621d926dab 100644
---- a/src/crypto/tls_openssl.c
-+++ b/src/crypto/tls_openssl.c
-@@ -1557,6 +1557,15 @@ static void tls_msg_cb(int write_p, int version, int content_type,
- struct tls_connection *conn = arg;
- const u8 *pos = buf;
-
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ if ((SSL_version(ssl) == TLS1_VERSION ||
-+ SSL_version(ssl) == TLS1_1_VERSION) &&
-+ SSL_get_security_level(ssl) > 0) {
-+ wpa_printf(MSG_DEBUG,
-+ "OpenSSL: Drop security level to 0 to allow TLS 1.0/1.1 use of MD5-SHA1 signature algorithm");
-+ SSL_set_security_level(ssl, 0);
-+ }
-+#endif /* OpenSSL version >= 3.0 */
- if (write_p == 2) {
- wpa_printf(MSG_DEBUG,
- "OpenSSL: session ver=0x%x content_type=%d",
---
-2.39.0
-
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-Send-CTRL-EVENT-SIGNAL-CHANGE-message-to-control-interfaces-only.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-Send-CTRL-EVENT-SIGNAL-CHANGE-message-to-control-interfaces-only.patch
new file mode 100644
index 000000000000..e16f9fdd2503
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-Send-CTRL-EVENT-SIGNAL-CHANGE-message-to-control-interfaces-only.patch
@@ -0,0 +1,50 @@
+Bug: https://bugs.gentoo.org/971605
+Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2309148
+
+From c330b5820eefa8e703dbce7278c2a62d9c69166a Mon Sep 17 00:00:00 2001
+From: Kan-Ru Chen <kanru@kanru.info>
+Date: Mon, 23 Dec 2024 08:42:33 +0900
+Subject: Send CTRL-EVENT-SIGNAL-CHANGE message to control interfaces only
+
+The default logging level for the CTRL-EVENT-SIGNAL-CHANGE message
+may be repeated many times and fill the log file or journal.
+
+For example https://bugzilla.redhat.com/show_bug.cgi?id=2309148 and
+the first few results from searching CTRL-EVENT-SIGNAL-CHANGE on the
+web contain various complaints and workarounds.
+
+Change the logging method to wpa_msg_ctrl to avoid sending frequent
+messages to the syslog but still allow the message to be consumed by
+control interface monitors.
+
+Signed-off-by: Kan-Ru Chen <kanru@kanru.info>
+---
+ wpa_supplicant/events.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
+index 5a1bc6d58..00109a0cd 100644
+--- a/wpa_supplicant/events.c
++++ b/wpa_supplicant/events.c
+@@ -6766,12 +6766,12 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
+ data->eapol_rx.encrypted);
+ break;
+ case EVENT_SIGNAL_CHANGE:
+- wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_SIGNAL_CHANGE
+- "above=%d signal=%d noise=%d txrate=%lu",
+- data->signal_change.above_threshold,
+- data->signal_change.data.signal,
+- data->signal_change.current_noise,
+- data->signal_change.data.current_tx_rate);
++ wpa_msg_ctrl(wpa_s, MSG_INFO, WPA_EVENT_SIGNAL_CHANGE
++ "above=%d signal=%d noise=%d txrate=%lu",
++ data->signal_change.above_threshold,
++ data->signal_change.data.signal,
++ data->signal_change.current_noise,
++ data->signal_change.data.current_tx_rate);
+ wpa_bss_update_level(wpa_s->current_bss,
+ data->signal_change.data.signal);
+ bgscan_notify_signal_change(
+--
+cgit v1.2.3
+
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-libressl.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-libressl.patch
deleted file mode 100644
index b90b2618b8c1..000000000000
--- a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.11-libressl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/crypto/tls_openssl.c
-+++ b/src/crypto/tls_openssl.c
-@@ -3203,6 +3203,7 @@ static int tls_set_conn_flags(struct tls_connection *conn, unsigned int flags,
- /* Start with defaults from BoringSSL */
- SSL_CTX_set_verify_algorithm_prefs(conn->ssl_ctx, NULL, 0);
- #endif /* OPENSSL_IS_BORINGSSL */
-+#ifndef LIBRESSL_VERSION_NUMBER
- if (flags & TLS_CONN_SUITEB_NO_ECDH) {
- const char *ciphers = "DHE-RSA-AES256-GCM-SHA384";
-
-@@ -3298,6 +3299,13 @@ static int tls_set_conn_flags(struct tls_connection *conn, unsigned int flags,
- SSL_set_options(ssl, SSL_OP_NO_TLSv1_1);
- SSL_set_cert_cb(ssl, suiteb_cert_cb, conn);
- }
-+#else /* LIBRESSL_VERSION_NUMBER */
-+ if (flags & (TLS_CONN_SUITEB | TLS_CONN_SUITEB_NO_ECDH)) {
-+ wpa_printf(MSG_ERROR,
-+ "OpenSSL: Suite B RSA case not supported with this OpenSSL version");
-+ return -1;
-+ }
-+#endif /* LIBRESSL_VERSION_NUMBER */
-
- #ifdef OPENSSL_IS_BORINGSSL
- if (openssl_ciphers && os_strcmp(openssl_ciphers, "SUITEB192") == 0) {
-@@ -5778,7 +5786,7 @@ int tls_global_set_params(void *tls_ctx,
- * commented out unless explicitly needed for EAP-FAST in order to be able to
- * build this file with unmodified openssl. */
-
--#if (defined(OPENSSL_IS_BORINGSSL) || OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (defined(OPENSSL_IS_BORINGSSL) || OPENSSL_VERSION_NUMBER >= 0x10100000L) && (!defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER >= 0x4010000fL)
- static int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len,
- STACK_OF(SSL_CIPHER) *peer_ciphers,
- const SSL_CIPHER **cipher, void *arg)
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-AP-Silently-ignore-management-frame-from-unexpected.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-AP-Silently-ignore-management-frame-from-unexpected.patch
deleted file mode 100644
index d764a9db016c..000000000000
--- a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-AP-Silently-ignore-management-frame-from-unexpected.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 8c07fa9eda13e835f3f968b2e1c9a8be3a851ff9 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Thu, 29 Aug 2019 11:52:04 +0300
-Subject: [PATCH] AP: Silently ignore management frame from unexpected source
- address
-
-Do not process any received Management frames with unexpected/invalid SA
-so that we do not add any state for unexpected STA addresses or end up
-sending out frames to unexpected destination. This prevents unexpected
-sequences where an unprotected frame might end up causing the AP to send
-out a response to another device and that other device processing the
-unexpected response.
-
-In particular, this prevents some potential denial of service cases
-where the unexpected response frame from the AP might result in a
-connected station dropping its association.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/drv_callbacks.c | 13 +++++++++++++
- src/ap/ieee802_11.c | 12 ++++++++++++
- 2 files changed, 25 insertions(+)
-
-diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c
-index 31587685fe3b..34ca379edc3d 100644
---- a/src/ap/drv_callbacks.c
-+++ b/src/ap/drv_callbacks.c
-@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
- "hostapd_notif_assoc: Skip event with no address");
- return -1;
- }
-+
-+ if (is_multicast_ether_addr(addr) ||
-+ is_zero_ether_addr(addr) ||
-+ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) {
-+ /* Do not process any frames with unexpected/invalid SA so that
-+ * we do not add any state for unexpected STA addresses or end
-+ * up sending out frames to unexpected destination. */
-+ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR
-+ " in received indication - ignore this indication silently",
-+ __func__, MAC2STR(addr));
-+ return 0;
-+ }
-+
- random_add_randomness(addr, ETH_ALEN);
-
- hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211,
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index c85a28db44b7..e7065372e158 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
- fc = le_to_host16(mgmt->frame_control);
- stype = WLAN_FC_GET_STYPE(fc);
-
-+ if (is_multicast_ether_addr(mgmt->sa) ||
-+ is_zero_ether_addr(mgmt->sa) ||
-+ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
-+ /* Do not process any frames with unexpected/invalid SA so that
-+ * we do not add any state for unexpected STA addresses or end
-+ * up sending out frames to unexpected destination. */
-+ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR
-+ " in received frame - ignore this frame silently",
-+ MAC2STR(mgmt->sa));
-+ return 0;
-+ }
-+
- if (stype == WLAN_FC_STYPE_BEACON) {
- handle_beacon(hapd, mgmt, len, fi);
- return 1;
---
-2.20.1
-
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-libressl.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-libressl.patch
deleted file mode 100644
index 7a3fe0d187cc..000000000000
--- a/net-wireless/wpa_supplicant/files/wpa_supplicant-2.9-libressl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c
-index 345a35ee1..fc6a606d0 100644
---- a/src/crypto/tls_openssl.c
-+++ b/src/crypto/tls_openssl.c
-@@ -3034,7 +3034,7 @@ static int tls_set_conn_flags(struct tls_connection *conn, unsigned int flags,
- /* Start with defaults from BoringSSL */
- SSL_CTX_set_verify_algorithm_prefs(conn->ssl_ctx, NULL, 0);
- #endif /* OPENSSL_IS_BORINGSSL */
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
- if (flags & TLS_CONN_SUITEB_NO_ECDH) {
- const char *ciphers = "DHE-RSA-AES256-GCM-SHA384";
diff --git a/net-wireless/wpa_supplicant/metadata.xml b/net-wireless/wpa_supplicant/metadata.xml
index 68039dc45ad3..3ef438e9b746 100644
--- a/net-wireless/wpa_supplicant/metadata.xml
+++ b/net-wireless/wpa_supplicant/metadata.xml
@@ -1,39 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
<email>zerochaos@gentoo.org</email>
<name>Rick Farina</name>
</maintainer>
- <upstream>
- <remote-id type="cpe">cpe:/a:wpa_supplicant:wpa_supplicant</remote-id>
- </upstream>
<use>
<flag name="ap">Add support for access point mode</flag>
<flag name="broadcom-sta">Flag to help users disable features not supported by broadcom-sta driver</flag>
- <flag name="crda">Use <pkg>net-wireless/crda</pkg> for regulatory domain loading instead of in-kernel (4.15+) support</flag>
<flag name="eap-sim">Add support for EAP-SIM authentication algorithm</flag>
<flag name="eapol-test">Build and install eapol_test binary</flag>
- <flag name="fasteap">Add support for FAST-EAP authentication algorithm</flag>
<flag name="fils">Add support for Fast Initial Link Setup (802.11ai)</flag>
- <flag name="hs2-0">Add support for 802.11u and Passpoint for HotSpot 2.0</flag>
<flag name="macsec">Add support for wired macsec</flag>
<flag name="mbo">Add support Multiband Operation</flag>
<flag name="mesh">Add support for mesh mode</flag>
<flag name="p2p">Add support for Wi-Fi Direct mode</flag>
- <flag name="ps3">Add support for ps3 hypervisor driven gelic wifi</flag>
<flag name="privsep">Enable wpa_priv privledge separation binary</flag>
- <flag name="tdls">Add support for Tunneled Direct Link Setup (802.11z)</flag>
+ <flag name="tkip">Add support for WPA TKIP (deprecated due to security flaws in 2009)</flag>
<flag name="uncommon-eap-types">Add support for GPSK, SAKE, GPSK_SHA256, IKEV2 and EKE</flag>
+ <flag name="wep">Add support for Wired Equivalent Privacy (deprecated due to security flaws in 2004)</flag>
<flag name="wps">Add support for Wi-Fi Protected Setup</flag>
- <flag name="wimax">Add support for Wimax EAP-PEER authentication algorithm</flag>
<flag name="smartcard">Add support for smartcards</flag>
- <flag name="tkip">Add support for WPA TKIP (deprecated 2009)</flag>
- <flag name="wep">Add support for Wired Equivalent Privacy (deprecated 2004)</flag>
</use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:wpa_supplicant:wpa_supplicant</remote-id>
+ </upstream>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r4.ebuild
index 083a0d07f1ec..d82e3a6ed30a 100644
--- a/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r1.ebuild
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r4.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2022-2025 Liguros Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
@@ -32,7 +33,6 @@ REQUIRED_USE="
DEPEND="
>=dev-libs/openssl-1.0.2k:=
-
dbus? ( sys-apps/dbus )
kernel_linux? (
>=dev-libs/libnl-3.2:3
@@ -125,8 +125,6 @@ src_prepare() {
# bug (956555)
eapply "${FILESDIR}/${PN}-2.11-broadcom-wl-scanning.patch"
- eapply "${FILESDIR}/${PN}-2.11-libressl.patch"
-
# bug (640492)
sed -i 's#-Werror ##' wpa_supplicant/Makefile || die
}
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-2.10-r2.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r5.ebuild
index 9a1a1d270b3a..7ab0c4adf82d 100644
--- a/net-wireless/wpa_supplicant/wpa_supplicant-2.10-r2.ebuild
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-2.11-r5.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2022 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
@@ -7,35 +8,40 @@ inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
HOMEPAGE="https://w1.fi/wpa_supplicant/"
LICENSE="|| ( GPL-2 BSD )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~mips ppc ~ppc64 ~riscv ~sparc x86"
-SRC_URI="https://w1.fi/releases/${P}.tar.gz"
+
+if [ "${PV}" = "9999" ]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://w1.fi/hostap.git"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://w1.fi/releases/${P}.tar.gz"
+fi
SLOT="0"
-IUSE="ap broadcom-sta dbus eap-sim eapol-test fasteap +fils +hs2-0 macsec +mbo +mesh p2p privsep ps3 qt5 readline selinux smartcard tdls tkip uncommon-eap-types wep wimax wps"
+IUSE="+ap broadcom-sta dbus eap-sim eapol-test +fils gui macsec +mbo +mesh p2p privsep readline selinux smartcard tkip uncommon-eap-types wep wps"
# CONFIG_PRIVSEP=y does not have sufficient support for the new driver
# interface functions used for MACsec, so this combination cannot be used
# at least for now. bug #684442
REQUIRED_USE="
macsec? ( !privsep )
+ mesh? ( ap )
+ p2p? ( ap wps )
privsep? ( !macsec )
broadcom-sta? ( !fils !mesh !mbo )
"
DEPEND="
- >=dev-libs/openssl-1.0.2k:0=
-
+ >=dev-libs/openssl-1.0.2k:=
dbus? ( sys-apps/dbus )
kernel_linux? (
>=dev-libs/libnl-3.2:3
eap-sim? ( sys-apps/pcsc-lite )
)
!kernel_linux? ( net-libs/libpcap )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
+ gui? (
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qtsvg:6
)
readline? (
sys-libs/ncurses:0=
@@ -53,9 +59,9 @@ BDEPEND="virtual/pkgconfig"
DOC_CONTENTS="
If this is a clean installation of wpa_supplicant, you
have to create a configuration file named
- ${EROOT}/etc/wpa_supplicant/wpa_supplicant.conf
+ /etc/wpa_supplicant/wpa_supplicant.conf
An example configuration file is available for reference in
- ${EROOT}/usr/share/doc/${PF}/
+ /usr/share/doc/${PF}/
"
S="${WORKDIR}/${P}/${PN}"
@@ -104,27 +110,26 @@ src_prepare() {
cd "${WORKDIR}/${P}" || die
- if use wimax; then
- # generate-libeap-peer.patch comes before
- # fix-undefined-reference-to-random_get_bytes.patch
- eapply "${FILESDIR}/${P}-generate-libeap-peer.patch"
-
- # multilib-strict fix (bug #373685)
- sed -e "s/\/usr\/lib/\/usr\/$(get_libdir)/" -i src/eap_peer/Makefile || die
- fi
-
# bug (320097)
eapply "${FILESDIR}/${PN}-2.6-do-not-call-dbus-functions-with-NULL-path.patch"
# bug (912315)
eapply "${FILESDIR}/${PN}-2.10-allow-legacy-renegotiation.patch"
- eapply "${FILESDIR}/${P}-Drop-security-level-to-0-with-OpenSSL-3.0-wh.patch"
+
+ # bug (948052)
+ eapply "${FILESDIR}/${PN}-2.10-use-qt6.patch"
+
+ # bug (937452)
+ eapply "${FILESDIR}/${PN}-2.11-Revert-Mark-authorization-completed-on-driver-indica.patch"
+
+ # bug (956555)
+ eapply "${FILESDIR}/${PN}-2.11-broadcom-wl-scanning.patch"
+
+ # bug (971605)
+ eapply "${FILESDIR}/${PN}-2.11-Send-CTRL-EVENT-SIGNAL-CHANGE-message-to-control-interfaces-only.patch"
# bug (640492)
sed -i 's#-Werror ##' wpa_supplicant/Makefile || die
-
- # LibreSSL patch (https://github.com/gentoo//issues/336)
- eapply "${FILESDIR}/${PN}-2.9-libressl.patch"
}
src_configure() {
@@ -189,11 +194,6 @@ src_configure() {
Kconfig_style_config DEBUG_FILE
Kconfig_style_config DEBUG_SYSLOG
- if use hs2-0 ; then
- Kconfig_style_config INTERWORKING
- Kconfig_style_config HS20
- fi
-
if use mbo ; then
Kconfig_style_config MBO
else
@@ -216,10 +216,6 @@ src_configure() {
Kconfig_style_config PCSC
fi
- if use fasteap ; then
- Kconfig_style_config EAP_FAST
- fi
-
if use readline ; then
# readline/history support for wpa_cli
Kconfig_style_config READLINE
@@ -268,10 +264,6 @@ src_configure() {
Kconfig_style_config SMARTCARD n
fi
- if use tdls ; then
- Kconfig_style_config TDLS
- fi
-
if use kernel_linux ; then
# Linux specific drivers
Kconfig_style_config DRIVER_ATMEL
@@ -292,10 +284,6 @@ src_configure() {
Kconfig_style_config DRIVER_MACSEC_LINUX n
Kconfig_style_config MACSEC n
fi
-
- if use ps3 ; then
- Kconfig_style_config DRIVER_PS3
- fi
fi
# Wi-Fi Protected Setup (WPS)
@@ -355,9 +343,9 @@ src_configure() {
Kconfig_style_config LIBNL32
fi
- if use qt5 ; then
+ if use gui ; then
pushd "${S}"/wpa_gui-qt4 > /dev/null || die
- eqmake5 wpa_gui.pro
+ eqmake6 wpa_gui.pro
popd > /dev/null || die
fi
}
@@ -366,12 +354,7 @@ src_compile() {
einfo "Building wpa_supplicant"
emake V=1 BINDIR=/usr/sbin
- if use wimax; then
- emake -C ../src/eap_peer clean
- emake -C ../src/eap_peer
- fi
-
- if use qt5; then
+ if use gui ; then
einfo "Building wpa_gui"
emake -C "${S}"/wpa_gui-qt4
fi
@@ -386,21 +369,11 @@ src_install() {
use privsep && dosbin wpa_priv
dobin wpa_cli wpa_passphrase
- # baselayout-1 compat
- if has_version "<sys-apps/baselayout-2.0.0"; then
- dodir /sbin
- dosym ../usr/sbin/wpa_supplicant /sbin/wpa_supplicant
- dodir /bin
- dosym ../usr/bin/wpa_cli /bin/wpa_cli
- fi
-
- if has_version ">=sys-apps/openrc-0.5.0"; then
- newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
- newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
- fi
+ newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
+ newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
exeinto /etc/wpa_supplicant/
- newexe "${FILESDIR}/wpa_cli.sh" wpa_cli.sh
+ newexe "${FILESDIR}/wpa_cli-r1.sh" wpa_cli.sh
readme.gentoo_create_doc
dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
@@ -412,7 +385,7 @@ src_install() {
doman doc/docbook/*.{5,8}
fi
- if use qt5 ; then
+ if use gui ; then
into /usr
dobin wpa_gui-qt4/wpa_gui
doicon wpa_gui-qt4/icons/wpa_gui.svg
@@ -421,8 +394,6 @@ src_install() {
rm "${ED}"/usr/share/man/man8/wpa_gui.8
fi
- use wimax && emake DESTDIR="${D}" -C ../src/eap_peer install
-
if use dbus ; then
pushd "${S}"/dbus > /dev/null || die
insinto /etc/dbus-1/system.d
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
new file mode 100644
index 000000000000..87f3a99dc0d3
--- /dev/null
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
@@ -0,0 +1,446 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
+
+DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
+HOMEPAGE="https://w1.fi/wpa_supplicant/"
+LICENSE="|| ( GPL-2 BSD )"
+
+if [ "${PV}" = "9999" ]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://w1.fi/hostap.git"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://w1.fi/releases/${P}.tar.gz"
+fi
+
+SLOT="0"
+IUSE="+ap broadcom-sta dbus eap-sim eapol-test +fils gui macsec +mbo +mesh p2p privsep readline selinux smartcard tkip uncommon-eap-types wep wps"
+
+# CONFIG_PRIVSEP=y does not have sufficient support for the new driver
+# interface functions used for MACsec, so this combination cannot be used
+# at least for now. bug #684442
+REQUIRED_USE="
+ macsec? ( !privsep )
+ mesh? ( ap )
+ p2p? ( ap wps )
+ privsep? ( !macsec )
+ broadcom-sta? ( !fils !mesh !mbo )
+"
+
+DEPEND="
+ >=dev-libs/openssl-1.0.2k:=
+ dbus? ( sys-apps/dbus )
+ kernel_linux? (
+ >=dev-libs/libnl-3.2:3
+ eap-sim? ( sys-apps/pcsc-lite )
+ )
+ !kernel_linux? ( net-libs/libpcap )
+ gui? (
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qtsvg:6
+ )
+ readline? (
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ )
+"
+RDEPEND="${DEPEND}
+ selinux? ( sec-policy/selinux-networkmanager )
+ kernel_linux? (
+ net-wireless/wireless-regdb
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+DOC_CONTENTS="
+ If this is a clean installation of wpa_supplicant, you
+ have to create a configuration file named
+ /etc/wpa_supplicant/wpa_supplicant.conf
+ An example configuration file is available for reference in
+ /usr/share/doc/${PF}/
+"
+
+S="${WORKDIR}/${P}/${PN}"
+
+Kconfig_style_config() {
+ #param 1 is CONFIG_* item
+ #param 2 is what to set it = to, defaulting in y
+ CONFIG_PARAM="${CONFIG_HEADER:-CONFIG_}$1"
+ setting="${2:-y}"
+
+ if [ ! $setting = n ]; then
+ #first remove any leading "# " if $2 is not n
+ sed -i "/^# *$CONFIG_PARAM=/s/^# *//" .config || echo "Kconfig_style_config error uncommenting $CONFIG_PARAM"
+ #set item = $setting (defaulting to y)
+ if ! sed -i "/^$CONFIG_PARAM\>/s/=.*/=$setting/" .config; then
+ echo "Kconfig_style_config error setting $CONFIG_PARAM=$setting"
+ fi
+ if [ -z "$( grep ^$CONFIG_PARAM= .config )" ] ; then
+ echo "$CONFIG_PARAM=$setting" >>.config
+ fi
+ else
+ #ensure item commented out
+ if ! sed -i "/^$CONFIG_PARAM\>/s/$CONFIG_PARAM/# $CONFIG_PARAM/" .config; then
+ echo "Kconfig_style_config error commenting $CONFIG_PARAM"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD
+ sed -i \
+ -e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
+ ../src/l2_packet/l2_packet_freebsd.c || die
+
+ # Change configuration to match Gentoo locations (bug #143750)
+ sed -i \
+ -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \
+ -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \
+ wpa_supplicant.conf || die
+
+ # systemd entries to D-Bus service files (bug #372877)
+ echo 'SystemdService=wpa_supplicant.service' \
+ | tee -a dbus/*.service >/dev/null || die
+
+ cd "${WORKDIR}/${P}" || die
+
+ # bug (320097)
+ eapply "${FILESDIR}/${PN}-2.6-do-not-call-dbus-functions-with-NULL-path.patch"
+
+ # bug (912315)
+ eapply "${FILESDIR}/${PN}-2.10-allow-legacy-renegotiation.patch"
+
+ # bug (948052)
+ eapply "${FILESDIR}/${PN}-2.10-use-qt6.patch"
+
+ # bug (640492)
+ sed -i 's#-Werror ##' wpa_supplicant/Makefile || die
+}
+
+src_configure() {
+ # Toolchain setup
+ tc-export CC PKG_CONFIG
+
+ cp defconfig .config || die
+
+ # Basic setup
+ Kconfig_style_config CTRL_IFACE
+ Kconfig_style_config MATCH_IFACE
+ Kconfig_style_config BACKEND file
+ Kconfig_style_config IBSS_RSN
+ Kconfig_style_config IEEE80211W
+ Kconfig_style_config IEEE80211R
+ Kconfig_style_config HT_OVERRIDES
+ Kconfig_style_config VHT_OVERRIDES
+ Kconfig_style_config OCV
+ Kconfig_style_config TLSV11
+ Kconfig_style_config TLSV12
+ Kconfig_style_config GETRANDOM
+
+ # Basic authentication methods
+ # NOTE: we don't set GPSK or SAKE as they conflict
+ # with the below options
+ Kconfig_style_config EAP_GTC
+ Kconfig_style_config EAP_MD5
+ Kconfig_style_config EAP_OTP
+ Kconfig_style_config EAP_PAX
+ Kconfig_style_config EAP_PSK
+ Kconfig_style_config EAP_TLV
+ Kconfig_style_config EAP_EXE
+ Kconfig_style_config IEEE8021X_EAPOL
+ Kconfig_style_config PKCS12
+ Kconfig_style_config PEERKEY
+ Kconfig_style_config EAP_LEAP
+ Kconfig_style_config EAP_MSCHAPV2
+ Kconfig_style_config EAP_PEAP
+ Kconfig_style_config EAP_TEAP
+ Kconfig_style_config EAP_TLS
+ Kconfig_style_config EAP_TTLS
+
+ # Enabling background scanning.
+ Kconfig_style_config BGSCAN_SIMPLE
+ Kconfig_style_config BGSCAN_LEARN
+
+ if use dbus ; then
+ Kconfig_style_config CTRL_IFACE_DBUS
+ Kconfig_style_config CTRL_IFACE_DBUS_NEW
+ Kconfig_style_config CTRL_IFACE_DBUS_INTRO
+ else
+ Kconfig_style_config CTRL_IFACE_DBUS n
+ Kconfig_style_config CTRL_IFACE_DBUS_NEW n
+ Kconfig_style_config CTRL_IFACE_DBUS_INTRO n
+ fi
+
+ if use eapol-test ; then
+ Kconfig_style_config EAPOL_TEST
+ fi
+
+ # Enable support for writing debug info to a log file and syslog.
+ Kconfig_style_config DEBUG_FILE
+ Kconfig_style_config DEBUG_SYSLOG
+
+ if use mbo ; then
+ Kconfig_style_config MBO
+ else
+ Kconfig_style_config MBO n
+ fi
+
+ if use uncommon-eap-types; then
+ Kconfig_style_config EAP_GPSK
+ Kconfig_style_config EAP_SAKE
+ Kconfig_style_config EAP_GPSK_SHA256
+ Kconfig_style_config EAP_IKEV2
+ Kconfig_style_config EAP_EKE
+ fi
+
+ if use eap-sim ; then
+ # Smart card authentication
+ Kconfig_style_config EAP_SIM
+ Kconfig_style_config EAP_AKA
+ Kconfig_style_config EAP_AKA_PRIME
+ Kconfig_style_config PCSC
+ fi
+
+ if use readline ; then
+ # readline/history support for wpa_cli
+ Kconfig_style_config READLINE
+ else
+ #internal line edit mode for wpa_cli
+ Kconfig_style_config WPA_CLI_EDIT
+ fi
+
+ Kconfig_style_config TLS openssl
+ Kconfig_style_config FST
+
+ Kconfig_style_config EAP_PWD
+ if use fils; then
+ Kconfig_style_config FILS
+ Kconfig_style_config FILS_SK_PFS
+ fi
+ if use mesh; then
+ Kconfig_style_config MESH
+ else
+ Kconfig_style_config MESH n
+ fi
+ # WPA3
+ Kconfig_style_config OWE
+ Kconfig_style_config SAE
+ Kconfig_style_config DPP
+ Kconfig_style_config DPP2
+ Kconfig_style_config SUITEB192
+ Kconfig_style_config SUITEB
+
+ if use wep ; then
+ Kconfig_style_config WEP
+ else
+ Kconfig_style_config WEP n
+ fi
+
+ # Watch out, reversed logic
+ if use tkip ; then
+ Kconfig_style_config NO_TKIP n
+ else
+ Kconfig_style_config NO_TKIP
+ fi
+
+ if use smartcard ; then
+ Kconfig_style_config SMARTCARD
+ else
+ Kconfig_style_config SMARTCARD n
+ fi
+
+ if use kernel_linux ; then
+ # Linux specific drivers
+ Kconfig_style_config DRIVER_ATMEL
+ Kconfig_style_config DRIVER_HOSTAP
+ Kconfig_style_config DRIVER_IPW
+ Kconfig_style_config DRIVER_NL80211
+ Kconfig_style_config DRIVER_RALINK
+ Kconfig_style_config DRIVER_WEXT
+ Kconfig_style_config DRIVER_WIRED
+
+ if use macsec ; then
+ #requires something, no idea what
+ #Kconfig_style_config DRIVER_MACSEC_QCA
+ Kconfig_style_config DRIVER_MACSEC_LINUX
+ Kconfig_style_config MACSEC
+ else
+ # bug #831369 and bug #684442
+ Kconfig_style_config DRIVER_MACSEC_LINUX n
+ Kconfig_style_config MACSEC n
+ fi
+ fi
+
+ # Wi-Fi Protected Setup (WPS)
+ if use wps ; then
+ Kconfig_style_config WPS
+ Kconfig_style_config WPS2
+ # USB Flash Drive
+ Kconfig_style_config WPS_UFD
+ # External Registrar
+ Kconfig_style_config WPS_ER
+ # Universal Plug'n'Play
+ Kconfig_style_config WPS_UPNP
+ # Near Field Communication
+ Kconfig_style_config WPS_NFC
+ else
+ Kconfig_style_config WPS n
+ Kconfig_style_config WPS2 n
+ Kconfig_style_config WPS_UFD n
+ Kconfig_style_config WPS_ER n
+ Kconfig_style_config WPS_UPNP n
+ Kconfig_style_config WPS_NFC n
+ fi
+
+ # Wi-Fi Direct (WiDi)
+ if use p2p ; then
+ Kconfig_style_config P2P
+ Kconfig_style_config WIFI_DISPLAY
+ else
+ Kconfig_style_config P2P n
+ Kconfig_style_config WIFI_DISPLAY n
+ fi
+
+ # Access Point Mode
+ if use ap ; then
+ Kconfig_style_config AP
+ else
+ Kconfig_style_config AP n
+ fi
+
+ # Enable essentials for AP/P2P
+ if use ap || use p2p ; then
+ # Enabling HT support (802.11n)
+ Kconfig_style_config IEEE80211N
+
+ # Enabling VHT support (802.11ac)
+ Kconfig_style_config IEEE80211AC
+ fi
+
+ # Enable mitigation against certain attacks against TKIP
+ Kconfig_style_config DELAYED_MIC_ERROR_REPORT
+
+ if use privsep ; then
+ Kconfig_style_config PRIVSEP
+ fi
+
+ if use kernel_linux ; then
+ Kconfig_style_config LIBNL32
+ fi
+
+ if use gui ; then
+ pushd "${S}"/wpa_gui-qt4 > /dev/null || die
+ eqmake6 wpa_gui.pro
+ popd > /dev/null || die
+ fi
+}
+
+src_compile() {
+ einfo "Building wpa_supplicant"
+ emake V=1 BINDIR=/usr/sbin
+
+ if use gui ; then
+ einfo "Building wpa_gui"
+ emake -C "${S}"/wpa_gui-qt4
+ fi
+
+ if use eapol-test ; then
+ emake eapol_test
+ fi
+}
+
+src_install() {
+ dosbin wpa_supplicant
+ use privsep && dosbin wpa_priv
+ dobin wpa_cli wpa_passphrase
+
+ newinitd "${FILESDIR}/${PN}-init.d" wpa_supplicant
+ newconfd "${FILESDIR}/${PN}-conf.d" wpa_supplicant
+
+ exeinto /etc/wpa_supplicant/
+ newexe "${FILESDIR}/wpa_cli-r1.sh" wpa_cli.sh
+
+ readme.gentoo_create_doc
+ dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \
+ wpa_supplicant.conf
+
+ newdoc .config build-config
+
+ if [ "${PV}" != "9999" ]; then
+ doman doc/docbook/*.{5,8}
+ fi
+
+ if use gui ; then
+ into /usr
+ dobin wpa_gui-qt4/wpa_gui
+ doicon wpa_gui-qt4/icons/wpa_gui.svg
+ domenu wpa_gui-qt4/wpa_gui.desktop
+ else
+ rm "${ED}"/usr/share/man/man8/wpa_gui.8
+ fi
+
+ if use dbus ; then
+ pushd "${S}"/dbus > /dev/null || die
+ insinto /etc/dbus-1/system.d
+ newins dbus-wpa_supplicant.conf wpa_supplicant.conf
+ insinto /usr/share/dbus-1/system-services
+ doins fi.w1.wpa_supplicant1.service
+ popd > /dev/null || die
+
+ # This unit relies on dbus support, bug 538600.
+ systemd_dounit systemd/wpa_supplicant.service
+ fi
+
+ if use eapol-test ; then
+ dobin eapol_test
+ fi
+
+ systemd_dounit "systemd/wpa_supplicant@.service"
+ systemd_dounit "systemd/wpa_supplicant-nl80211@.service"
+ systemd_dounit "systemd/wpa_supplicant-wired@.service"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if [[ -e "${EROOT}"/etc/wpa_supplicant.conf ]] ; then
+ echo
+ ewarn "WARNING: your old configuration file ${EROOT}/etc/wpa_supplicant.conf"
+ ewarn "needs to be moved to ${EROOT}/etc/wpa_supplicant/wpa_supplicant.conf"
+ fi
+ if ! use wep; then
+ einfo "WARNING: You are building with WEP support disabled, which is recommended since"
+ einfo "this protocol is deprecated and insecure. If you still need to connect to"
+ einfo "WEP-enabled networks, you may turn this flag back on. With this flag off,"
+ einfo "WEP-enabled networks will not even show up as available."
+ einfo "If your network is missing you may wish to USE=wep"
+ fi
+ if ! use tkip; then
+ ewarn "WARNING: You are building with TKIP support disabled, which is recommended since"
+ ewarn "this protocol is deprecated and insecure. If you still need to connect to"
+ ewarn "TKIP-enabled networks, you may turn this flag back on. With this flag off,"
+ ewarn "TKIP-enabled networks, including mixed mode TKIP/AES-CCMP will not even show up"
+ ewarn "as available. If your network is missing you may wish to USE=tkip"
+ fi
+
+ # Mea culpa, feel free to remove that after some time --mgorny.
+ local fn
+ for fn in wpa_supplicant{,@wlan0}.service; do
+ if [[ -e "${EROOT}"/etc/systemd/system/network.target.wants/${fn} ]]
+ then
+ ebegin "Moving ${fn} to multi-user.target"
+ mv "${EROOT}"/etc/systemd/system/network.target.wants/${fn} \
+ "${EROOT}"/etc/systemd/system/multi-user.target.wants/ || die
+ eend ${?} \
+ "Please try to re-enable ${fn}"
+ fi
+ done
+
+ systemd_reenable wpa_supplicant.service
+}