diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
| commit | 1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch) | |
| tree | 18e2e784f9fb0dbc3546537acc42ad51b366d90e /net-wireless | |
| parent | 9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff) | |
| download | baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip | |
Adding metadata
Diffstat (limited to 'net-wireless')
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 +} |
