From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [IPv6:::1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4cVhNv63vcz2ykg for ; Mon, 22 Sep 2025 11:54:39 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [IPv6:2001:678:b28::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R13" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4cVhNv5kVgz2xQT for ; Mon, 22 Sep 2025 11:54:39 +0000 (UTC) Received: from people01.haj.ipfire.org (people01.haj.ipfire.org [172.28.1.161]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "people01.haj.ipfire.org", Issuer "E8" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4cVhNn3H8tzyD for ; Mon, 22 Sep 2025 11:54:33 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1758542073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=NusEgkQX3dB/qqKu5T/UX3SQOrkSDhIMMf0ehxsVIZc=; b=KSDjKG8AxBKxIceeCWBDnvWBz/8oUeLFr4JejtsvZ4BcM7WgbQxs33SE6esPPkULyV23n1 28xETkRmYmM7s1Dw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1758542073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=NusEgkQX3dB/qqKu5T/UX3SQOrkSDhIMMf0ehxsVIZc=; b=l3h0c1M3ExcCzwyJ15N0Dzz1jAVPEAs2RvhPzgotgQ4/eIscKA3Uh+x1BRtuPTPvPh25yC 707UY76Wo3aJQ0/CCANtC3hknDEh5ZeIMvXflYfVGK4XrLaPbqOUDAyP8SYgZLQjrrbHvk IcNc/etB8BVLQiGz2Mk5sLVJMW12mU/CUOcl6UQlS+PBBAK0ZvQChxe4v5m1Kwpz8Zn3tG 0TuDmhLj4V4w5WJnFi2lzY11SGpU7iIyBhQ2pCQBPLpRw0q0ETalB74MIUR4yTRndgaBPK ecLbcSwpUPO8p3cGn6XZHiMLqxDCM4DnhTaF+mHqTzpgkTD+ExY7Chnl5Fx0gg== Received: by people01.haj.ipfire.org (Postfix, from userid 1000) id 4cVhNn1rYxz2xpx; Mon, 22 Sep 2025 11:54:33 +0000 (UTC) To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. ed6a1a9504669c7cccab3fd81d600efd4905a317 X-Git-Refname: refs/heads/next X-Git-Reftype: branch X-Git-Oldrev: c2eba600d753df95a81707f7da0ab172ed864ab0 X-Git-Newrev: ed6a1a9504669c7cccab3fd81d600efd4905a317 Message-Id: <4cVhNn1rYxz2xpx@people01.haj.ipfire.org> Date: Mon, 22 Sep 2025 11:54:33 +0000 (UTC) From: Michael Tremer Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via ed6a1a9504669c7cccab3fd81d600efd4905a317 (commit) via f643e32b2b63ccc1955da740d44dd0b2f420cbb8 (commit) via 74e4ce6ce7156d6d6c63eab22cfa349d65532dae (commit) via 483f519f96e8f86f1f53ac6eea3c44fc605eddbc (commit) via 31518fbf7e4cea880ce1cd9f11d8aa5c72cb0d82 (commit) via 73c021ad48aeedf7204cb6c9b75dad8f6652eeed (commit) via f78583594da17ca223caf46166af6db8dee39203 (commit) via 2de6eb5aab705116aa4092ff91d13152e1f8508e (commit) via 822139a667bd19d4a32e8a713261959cf27da726 (commit) via 549e5423b3549aff85c30434e6b920bb5a0a2db6 (commit) via d93581ea048ea7bc7bff7e3dc70a30a18ab96414 (commit) via b60363da83f115ba5272a60a45bedfd44894bdef (commit) via 11fdad6801f2eedcc80d7cf68d54ee085c5d2ef3 (commit) via fa7b2322e3f123658907b424d5f40933d7312a1e (commit) via 2cfca735b564ce9df91a80ce0d1e400e378bfe1b (commit) via cfabcb4cc2f0162f7e2301642e0e9b843e51225f (commit) via 0332bbc78e8d5c53628c2f0fb6f3c6535b695ff5 (commit) via cc6c4a0c66eff8c32f14c0e3cfa0255e5dba3bd1 (commit) via cf5ae592155a34fc7b91fa885ba644bdff7e10a8 (commit) via 6125bba5cde2381b463ce641bec7c35811b449fd (commit) via db9262fdabfef244b5da09623e1e79754b7935ad (commit) via 61f0cb9cfb5f37a3b762d835586cd66d8884bbc5 (commit) via 82ce043f4ccc80e91dfab1b6a3d21f0a178c306f (commit) via e3a3208441fbdcbf66ca70780441750c499c9ca0 (commit) via 674adcac6d949b9defcbc9d5abb39179fc11fcd4 (commit) via 90e4117f1b31c54fbe144a2fb0582284aca2ea89 (commit) via 72c39a53a817138fef7e0f576c1c7416f77fe186 (commit) via b53cf1f1c6c232758b35a09b4ca7ed75ed671577 (commit) via dc20ebf1f823232558dfc9e3b27941238f268949 (commit) via 4002ecb3a3b11e400ae9f73f3cd73b9116dae182 (commit) via 7873f421fae64141b2af804e4c14e3571cfc384b (commit) via 0cbc3ada4fc5057cbf97f40f5a75ced8429f93ae (commit) from c2eba600d753df95a81707f7da0ab172ed864ab0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ed6a1a9504669c7cccab3fd81d600efd4905a317 Author: Michael Tremer Date: Mon Sep 22 11:53:26 2025 +0000 hostapd: Update to version f747ae0 This is an unreleased version checked out from Git. Signed-off-by: Michael Tremer commit f643e32b2b63ccc1955da740d44dd0b2f420cbb8 Author: Michael Tremer Date: Mon Sep 22 13:25:59 2025 +0200 hostapd: Convert multicast packets to unicast This will save some airtime especially when there are legacy clients on the network. Signed-off-by: Michael Tremer commit 74e4ce6ce7156d6d6c63eab22cfa349d65532dae Author: Michael Tremer Date: Mon Sep 22 13:12:15 2025 +0200 wlanap.cgi: Add options to select the new WiFi modes Signed-off-by: Michael Tremer commit 483f519f96e8f86f1f53ac6eea3c44fc605eddbc Author: Michael Tremer Date: Mon Sep 22 12:53:01 2025 +0200 wlanap.cgi: Validate and store BAND & MODE Signed-off-by: Michael Tremer commit 31518fbf7e4cea880ce1cd9f11d8aa5c72cb0d82 Author: Michael Tremer Date: Mon Sep 22 12:44:02 2025 +0200 wlanap.cgi: Migrate to the new BAND setting Signed-off-by: Michael Tremer commit 73c021ad48aeedf7204cb6c9b75dad8f6652eeed Author: Michael Tremer Date: Mon Sep 22 12:42:26 2025 +0200 wlanap.cgi: Migrate to the new MODE parameter Signed-off-by: Michael Tremer commit f78583594da17ca223caf46166af6db8dee39203 Author: Michael Tremer Date: Mon Sep 22 12:34:14 2025 +0200 hostapd: Fix incorrect variable when detecting the band Signed-off-by: Michael Tremer commit 2de6eb5aab705116aa4092ff91d13152e1f8508e Author: Michael Tremer Date: Mon Sep 22 11:29:04 2025 +0100 hostapd: Fix VHT capability IDs Signed-off-by: Michael Tremer commit 822139a667bd19d4a32e8a713261959cf27da726 Author: Michael Tremer Date: Fri Jul 25 12:58:56 2025 +0200 hostapd: Fix number of beamforming antennas The bitmap is off by one. Signed-off-by: Michael Tremer commit 549e5423b3549aff85c30434e6b920bb5a0a2db6 Author: Michael Tremer Date: Fri Jul 25 12:44:06 2025 +0200 hostapd: Remove CONFIG_IEEE80211W This option was removed and 802.11w is now always compiled in. Signed-off-by: Michael Tremer commit d93581ea048ea7bc7bff7e3dc70a30a18ab96414 Author: Michael Tremer Date: Wed Jul 23 20:46:39 2025 +0200 hostapd: ath11k also does not support Greenfield and Delayed Block ACK Signed-off-by: Michael Tremer commit b60363da83f115ba5272a60a45bedfd44894bdef Author: Michael Tremer Date: Wed Jul 23 18:00:29 2025 +0200 hostapd: Allow to adjust the debug level Signed-off-by: Michael Tremer commit 11fdad6801f2eedcc80d7cf68d54ee085c5d2ef3 Author: Michael Tremer Date: Wed Jul 23 17:47:57 2025 +0200 hostapd: Perform radar detection in the background Signed-off-by: Michael Tremer commit fa7b2322e3f123658907b424d5f40933d7312a1e Author: Michael Tremer Date: Wed Jul 23 17:42:14 2025 +0200 hostapd: Optionally select which antennas to use Signed-off-by: Michael Tremer commit 2cfca735b564ce9df91a80ce0d1e400e378bfe1b Author: Michael Tremer Date: Wed Jul 23 17:34:00 2025 +0200 hostapd: Add support for 802.11be Signed-off-by: Michael Tremer commit cfabcb4cc2f0162f7e2301642e0e9b843e51225f Author: Michael Tremer Date: Wed Jul 23 16:59:56 2025 +0200 hostapd: Introduce new WiFi modes to accomodate all different modes Using just 802.11ac does not entirely cover how the hardware could be configured. Some devices support 20, 40, 80 or even 160 MHz channels which is now being implemented here. The channel offsets are computed manually or will be automatically selected by hostapd if we are using ACS. Signed-off-by: Michael Tremer commit 0332bbc78e8d5c53628c2f0fb6f3c6535b695ff5 Author: Michael Tremer Date: Wed Jul 23 16:12:18 2025 +0200 hostapd: Fix a shell syntax error Signed-off-by: Michael Tremer commit cc6c4a0c66eff8c32f14c0e3cfa0255e5dba3bd1 Author: Michael Tremer Date: Wed Jul 23 16:10:17 2025 +0200 wlanap.cgi: Remove the option to manually configure HT/VHT caps Signed-off-by: Michael Tremer commit cf5ae592155a34fc7b91fa885ba644bdff7e10a8 Author: Michael Tremer Date: Wed Jul 23 16:09:01 2025 +0200 hostapd: Automatically configure VHT capabilities Signed-off-by: Michael Tremer commit 6125bba5cde2381b463ce641bec7c35811b449fd Author: Michael Tremer Date: Wed Jul 23 16:08:41 2025 +0200 hostapd: Add experimental support for 802.11ax Signed-off-by: Michael Tremer commit db9262fdabfef244b5da09623e1e79754b7935ad Author: Michael Tremer Date: Wed Jul 23 15:51:10 2025 +0200 hostapd: Allow to enable debugging Signed-off-by: Michael Tremer commit 61f0cb9cfb5f37a3b762d835586cd66d8884bbc5 Author: Michael Tremer Date: Wed Jul 23 15:46:09 2025 +0200 hostapd: Filter out some unsupported VHT caps by driver Signed-off-by: Michael Tremer commit 82ce043f4ccc80e91dfab1b6a3d21f0a178c306f Author: Michael Tremer Date: Wed Jul 23 15:45:12 2025 +0200 hostapd: ath12k does not support Greenfield either Signed-off-by: Michael Tremer commit e3a3208441fbdcbf66ca70780441750c499c9ca0 Author: Michael Tremer Date: Wed Jul 23 12:48:12 2025 +0200 hostapd: Fix shell syntax error Signed-off-by: Michael Tremer commit 674adcac6d949b9defcbc9d5abb39179fc11fcd4 Author: Michael Tremer Date: Wed Jul 23 12:31:26 2025 +0200 hostapd: ath12k does not support Delayed Block ACK either Signed-off-by: Michael Tremer commit 90e4117f1b31c54fbe144a2fb0582284aca2ea89 Author: Michael Tremer Date: Tue Jul 22 17:47:03 2025 +0200 hostapd: Automatically determine supported capabilities Signed-off-by: Michael Tremer commit 72c39a53a817138fef7e0f576c1c7416f77fe186 Author: Michael Tremer Date: Mon Jul 21 19:06:32 2025 +0200 hostapd: Enable SHA256 for WPA2/1 PSK authentication Signed-off-by: Michael Tremer commit b53cf1f1c6c232758b35a09b4ca7ed75ed671577 Author: Michael Tremer Date: Mon Jul 21 19:04:09 2025 +0200 hostapd: Enable various options to improve security and interoperability Signed-off-by: Michael Tremer commit dc20ebf1f823232558dfc9e3b27941238f268949 Author: Michael Tremer Date: Thu Jul 17 18:07:10 2025 +0000 hostapd: Rebase the configuration on the upstream default config Most options are added, but not enabled. There are however the following changes: * Enable Operating Channel Validation * Enable Fast BSS Transition (802.11r) * Support for 802.11ax and 802.11be * Disable the internal randomness pool * Enable Interworking (802.11u) * Enable Fast Session Transfer (FST) * Enable Multiband Operation support Signed-off-by: Michael Tremer commit 4002ecb3a3b11e400ae9f73f3cd73b9116dae182 Author: Michael Tremer Date: Thu May 8 17:57:07 2025 +0200 hostapd: Generate the configuration in the initscript This will give us some more flexibility in the future. Signed-off-by: Michael Tremer commit 7873f421fae64141b2af804e4c14e3571cfc384b Author: Michael Tremer Date: Thu May 8 17:37:09 2025 +0200 hostapd: Remove any unused variables from initscript Signed-off-by: Michael Tremer commit 0cbc3ada4fc5057cbf97f40f5a75ced8429f93ae Author: Michael Tremer Date: Mon Sep 22 10:26:35 2025 +0000 suricata-reporter: Fix path to database Signed-off-by: Michael Tremer ----------------------------------------------------------------------- Summary of changes: config/hostapd/config | 50 ++- doc/language_issues.en | 24 ++ doc/language_issues.es | 24 ++ doc/language_issues.fr | 24 ++ doc/language_issues.it | 24 ++ doc/language_issues.nl | 24 ++ doc/language_issues.pl | 24 ++ doc/language_issues.ru | 24 ++ doc/language_issues.tr | 24 ++ doc/language_issues.tw | 24 ++ doc/language_issues.zh | 24 ++ doc/language_missings | 216 +++++++++++++ html/cgi-bin/wlanap.cgi | 294 ++++++----------- langs/de/cgi-bin/de.pl | 24 ++ langs/en/cgi-bin/en.pl | 24 ++ lfs/hostapd | 8 +- lfs/suricata-reporter | 3 +- src/initscripts/packages/hostapd | 663 ++++++++++++++++++++++++++++++++++++++- 18 files changed, 1307 insertions(+), 215 deletions(-) Difference in files: diff --git a/config/hostapd/config b/config/hostapd/config index b590309004..8bf19375b3 100644 --- a/config/hostapd/config +++ b/config/hostapd/config @@ -48,7 +48,7 @@ CONFIG_LIBNL32=y CONFIG_RSN_PREAUTH=y # Support Operating Channel Validation -#CONFIG_OCV=y +CONFIG_OCV=y # Integrated EAP server #CONFIG_EAP=y @@ -141,8 +141,11 @@ CONFIG_RSN_PREAUTH=y # Build IPv6 support for RADIUS operations #CONFIG_IPV6=y +# Include support fo RADIUS/TLS into the RADIUS client +#CONFIG_RADIUS_TLS=y + # IEEE Std 802.11r-2008 (Fast BSS Transition) -#CONFIG_IEEE80211R=y +CONFIG_IEEE80211R=y # Use the hostapd's IEEE 802.11 authentication (ACL), but without # the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) @@ -156,10 +159,20 @@ CONFIG_RSN_PREAUTH=y CONFIG_IEEE80211AC=y # IEEE 802.11ax HE support +CONFIG_IEEE80211AX=y + +# IEEE 802.11be EHT support +# CONFIG_IEEE80211AX is mandatory for setting CONFIG_IEEE80211BE. # Note: This is experimental and work in progress. The definitions are still # subject to change and this should not be expected to interoperate with the -# final IEEE 802.11ax version. -CONFIG_IEEE80211AX=y +# final IEEE 802.11be version. +CONFIG_IEEE80211BE=y + +# Simultaneous Authentication of Equals (SAE), WPA3-Personal +CONFIG_SAE=y + +# SAE Public Key, WPA3-Personal +CONFIG_SAE_PK=y # Remove debugging code that is printing out debug messages to stdout. # This can be used to reduce the size of the hostapd considerably if debugging @@ -248,7 +261,7 @@ CONFIG_NO_VLAN=y # This will save some in binary size and CPU use. However, this should only be # considered for builds that are known to be used on devices that meet the # requirements described above. -#CONFIG_NO_RANDOM_POOL=y +CONFIG_NO_RANDOM_POOL=y # Should we attempt to use the getrandom(2) call that provides more reliable # yet secure randomness source than /dev/random on Linux 3.17 and newer. @@ -304,7 +317,7 @@ CONFIG_TLS=openssl # Interworking (IEEE 802.11u) # This can be used to enable functionality to improve interworking with # external networks. -#CONFIG_INTERWORKING=y +CONFIG_INTERWORKING=y # Hotspot 2.0 #CONFIG_HS20=y @@ -313,7 +326,7 @@ CONFIG_TLS=openssl #CONFIG_SQLITE=y # Enable Fast Session Transfer (FST) -#CONFIG_FST=y +CONFIG_FST=y # Enable CLI commands for FST testing #CONFIG_FST_TEST=y @@ -346,14 +359,14 @@ CONFIG_TLS=openssl # * ath10k # # For more details refer to: -# http://wireless.kernel.org/en/users/Documentation/acs +# https://wireless.wiki.kernel.org/en/users/documentation/acs # CONFIG_ACS=y # Multiband Operation support # These extensions facilitate efficient use of multiple frequency bands # available to the AP and the devices that may associate with it. -#CONFIG_MBO=y +CONFIG_MBO=y # Client Taxonomy # Has the AP retain the Probe Request and (Re)Association Request frames from @@ -396,6 +409,19 @@ CONFIG_AIRTIME_POLICY=y # that functionality is subject to be removed in the future. #CONFIG_NO_TKIP=y -# Manually added options -CONFIG_SAE=y -CONFIG_IEEE80211W=y +# Pre-Association Security Negotiation (PASN) +# Experimental implementation based on IEEE P802.11z/D2.6 and the protocol +# design is still subject to change. As such, this should not yet be enabled in +# production use. +#CONFIG_PASN=y + +# Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect) +CONFIG_DPP=y +# DPP version 2 support +CONFIG_DPP2=y +# DPP version 3 support (experimental and still changing; do not enable for +# production use) +#CONFIG_DPP3=y + +# Wi-Fi Aware unsynchronized service discovery (NAN USD) +#CONFIG_NAN_USD=y diff --git a/doc/language_issues.en b/doc/language_issues.en index 6dfada328b..6df0cf38cb 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -2393,10 +2393,32 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP WARNING: untranslated string: wlanap = Wireless Access Point +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap channel = Channel WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string @@ -2405,6 +2427,8 @@ WARNING: untranslated string: wlanap country = Country Code WARNING: untranslated string: wlanap encryption = Encryption WARNING: untranslated string: wlanap hide ssid = Hide SSID WARNING: untranslated string: wlanap interface = Select Interface +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap invalid wpa = Invalid length in WPA passphrase. Must be between 8 and 63 characters. WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan diff --git a/doc/language_issues.es b/doc/language_issues.es index cadfaf5d66..5df314a6f6 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -1234,4 +1234,28 @@ WARNING: untranslated string: wio_wan_up = unknown string WARNING: untranslated string: wio_wanname = unknown string WARNING: untranslated string: wio_webinterface = unknown string WARNING: untranslated string: wio_webinterface_link = unknown string +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap clients = unknown string +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_issues.fr b/doc/language_issues.fr index a03241bcea..7234558ba9 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -1285,7 +1285,31 @@ WARNING: untranslated string: wio_wanname = unknown string WARNING: untranslated string: wio_webinterface = unknown string WARNING: untranslated string: wio_webinterface_link = unknown string WARNING: untranslated string: wireguard = WireGuard +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap psk = Pre-Shared Key WARNING: untranslated string: wlanap wireless mode = Wireless Mode diff --git a/doc/language_issues.it b/doc/language_issues.it index d5fdcd55e0..39e3c678d1 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -1637,14 +1637,38 @@ WARNING: untranslated string: wlan client password = Password WARNING: untranslated string: wlan client tls cipher = TLS Cipher WARNING: untranslated string: wlan client tls version = TLS Version WARNING: untranslated string: wlanap = Wireless Access Point +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan WARNING: untranslated string: wlanap neighbor scan warning = Warning: Disabling may violate regulatory rules diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 72af4fba50..54ea867579 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -1658,14 +1658,38 @@ WARNING: untranslated string: wlan client password = Password WARNING: untranslated string: wlan client tls cipher = TLS Cipher WARNING: untranslated string: wlan client tls version = TLS Version WARNING: untranslated string: wlanap = Wireless Access Point +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan WARNING: untranslated string: wlanap neighbor scan warning = Warning: Disabling may violate regulatory rules diff --git a/doc/language_issues.pl b/doc/language_issues.pl index c89dd9966a..e4cf7b8eda 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -1905,15 +1905,39 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP WARNING: untranslated string: wlanap = Wireless Access Point +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration WARNING: untranslated string: wlanap country = Country Code WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan WARNING: untranslated string: wlanap neighbor scan warning = Warning: Disabling may violate regulatory rules diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 2377115ab3..3354887f94 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -1904,15 +1904,39 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp = CCMP-CCMP WARNING: untranslated string: wlan client wpa mode ccmp tkip = CCMP-TKIP WARNING: untranslated string: wlan client wpa mode tkip tkip = TKIP-TKIP WARNING: untranslated string: wlanap = Wireless Access Point +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap configuration = Wireless Access Point Configuration WARNING: untranslated string: wlanap country = Country Code WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan WARNING: untranslated string: wlanap neighbor scan warning = Warning: Disabling may violate regulatory rules diff --git a/doc/language_issues.tr b/doc/language_issues.tr index dfabd029eb..6d1587579b 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -1508,13 +1508,37 @@ WARNING: untranslated string: wio_webinterface_link = unknown string WARNING: untranslated string: wireguard = WireGuard WARNING: untranslated string: wlan client encryption wpa3 = WPA3 WARNING: untranslated string: wlan client management frame protection = Management Frame Protection +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz WARNING: untranslated string: wlanap 802.11w disabled = Disabled WARNING: untranslated string: wlanap 802.11w enforced = Enforced WARNING: untranslated string: wlanap 802.11w optional = Optional WARNING: untranslated string: wlanap auto = Automatic Channel Selection +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap client isolation = Client Isolation WARNING: untranslated string: wlanap clients = unknown string WARNING: untranslated string: wlanap hide ssid = Hide SSID +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode WARNING: untranslated string: wlanap management frame protection = Management Frame Protection (802.11w) WARNING: untranslated string: wlanap neighbor scan = Neighborhood Scan WARNING: untranslated string: wlanap neighbor scan warning = Warning: Disabling may violate regulatory rules diff --git a/doc/language_issues.tw b/doc/language_issues.tw index 2745a25baf..6901aec902 100644 --- a/doc/language_issues.tw +++ b/doc/language_issues.tw @@ -1252,4 +1252,28 @@ WARNING: untranslated string: wio_wan_up = unknown string WARNING: untranslated string: wio_wanname = unknown string WARNING: untranslated string: wio_webinterface = unknown string WARNING: untranslated string: wio_webinterface_link = unknown string +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap clients = unknown string +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_issues.zh b/doc/language_issues.zh index 2745a25baf..6901aec902 100644 --- a/doc/language_issues.zh +++ b/doc/language_issues.zh @@ -1252,4 +1252,28 @@ WARNING: untranslated string: wio_wan_up = unknown string WARNING: untranslated string: wio_wanname = unknown string WARNING: untranslated string: wio_webinterface = unknown string WARNING: untranslated string: wio_webinterface_link = unknown string +WARNING: untranslated string: wlanap 802.11ac = IEEE 802.11ac +WARNING: untranslated string: wlanap 802.11ac 160mhz = IEEE 802.11ac @ 160 MHz +WARNING: untranslated string: wlanap 802.11ac 20mhz = IEEE 802.11ac @ 20 MHz +WARNING: untranslated string: wlanap 802.11ac 40mhz = IEEE 802.11ac @ 40 MHz +WARNING: untranslated string: wlanap 802.11ac 80mhz = IEEE 802.11ac @ 80 MHz +WARNING: untranslated string: wlanap 802.11agn = IEEE 802.11an/gn +WARNING: untranslated string: wlanap 802.11agn 20mhz = IEEE 802.11an/gn @ 20 MHz +WARNING: untranslated string: wlanap 802.11agn 40mhz = IEEE 802.11an/gn @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax = IEEE 802.11ax +WARNING: untranslated string: wlanap 802.11ax 160mhz = IEEE 802.11ax @ 160 MHz +WARNING: untranslated string: wlanap 802.11ax 20mhz = IEEE 802.11ax @ 20 MHz +WARNING: untranslated string: wlanap 802.11ax 40mhz = IEEE 802.11ax @ 40 MHz +WARNING: untranslated string: wlanap 802.11ax 80mhz = IEEE 802.11ax @ 80 MHz +WARNING: untranslated string: wlanap 802.11be = IEEE 802.11be +WARNING: untranslated string: wlanap 802.11be 160mhz = IEEE 802.11be @ 160 MHz +WARNING: untranslated string: wlanap 802.11be 20mhz = IEEE 802.11be @ 20 MHz +WARNING: untranslated string: wlanap 802.11be 320mhz = IEEE 802.11be @ 320 MHz +WARNING: untranslated string: wlanap 802.11be 40mhz = IEEE 802.11be @ 40 MHz +WARNING: untranslated string: wlanap 802.11be 80mhz = IEEE 802.11be @ 80 MHz +WARNING: untranslated string: wlanap band = Band +WARNING: untranslated string: wlanap band 2.4ghz = 2.4 GHz +WARNING: untranslated string: wlanap band 5ghz = 5 GHz WARNING: untranslated string: wlanap clients = unknown string +WARNING: untranslated string: wlanap invalid band = Invalid band +WARNING: untranslated string: wlanap invalid mode = Invalid mode diff --git a/doc/language_missings b/doc/language_missings index 03c286f5a2..5d7d0f5857 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -196,6 +196,30 @@ < rss < rss long < transient sheduler attacks +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz +< wlanap invalid band +< wlanap invalid mode ############################################################################ # Checking cgi-bin translations for language: fr # ############################################################################ @@ -339,7 +363,31 @@ < wg warning configuration only shown once < whitelisted < wireguard +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap psk < wlanap wireless mode < wlanap wlan clients @@ -945,13 +993,37 @@ < wireguard < wireless network < wlanap +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz < wlanap 802.11w disabled < wlanap 802.11w enforced < wlanap 802.11w optional < wlanap auto +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap client isolation < wlanap configuration < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap management frame protection < wlanap neighbor scan < wlanap neighbor scan warning @@ -1623,13 +1695,37 @@ < wireguard < wireless network < wlanap +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz < wlanap 802.11w disabled < wlanap 802.11w enforced < wlanap 802.11w optional < wlanap auto +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap client isolation < wlanap configuration < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap management frame protection < wlanap neighbor scan < wlanap neighbor scan warning @@ -2715,14 +2811,38 @@ < wireguard < wireless network < wlanap +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz < wlanap 802.11w disabled < wlanap 802.11w enforced < wlanap 802.11w optional < wlanap auto +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap client isolation < wlanap configuration < wlanap country < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap management frame protection < wlanap neighbor scan < wlanap neighbor scan warning @@ -3845,14 +3965,38 @@ < wireguard < wireless network < wlanap +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz < wlanap 802.11w disabled < wlanap 802.11w enforced < wlanap 802.11w optional < wlanap auto +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap client isolation < wlanap configuration < wlanap country < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap management frame protection < wlanap neighbor scan < wlanap neighbor scan warning @@ -4352,12 +4496,36 @@ < whois results from < winbind daemon < wireguard +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz < wlanap 802.11w disabled < wlanap 802.11w enforced < wlanap 802.11w optional < wlanap auto +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz < wlanap client isolation < wlanap hide ssid +< wlanap invalid band +< wlanap invalid mode < wlanap management frame protection < wlanap neighbor scan < wlanap neighbor scan warning @@ -4450,6 +4618,30 @@ < rss < rss long < transient sheduler attacks +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz +< wlanap invalid band +< wlanap invalid mode ############################################################################ # Checking cgi-bin translations for language: zh # ############################################################################ @@ -4513,3 +4705,27 @@ < rss < rss long < transient sheduler attacks +< wlanap 802.11ac +< wlanap 802.11ac 160mhz +< wlanap 802.11ac 20mhz +< wlanap 802.11ac 40mhz +< wlanap 802.11ac 80mhz +< wlanap 802.11agn +< wlanap 802.11agn 20mhz +< wlanap 802.11agn 40mhz +< wlanap 802.11ax +< wlanap 802.11ax 160mhz +< wlanap 802.11ax 20mhz +< wlanap 802.11ax 40mhz +< wlanap 802.11ax 80mhz +< wlanap 802.11be +< wlanap 802.11be 160mhz +< wlanap 802.11be 20mhz +< wlanap 802.11be 320mhz +< wlanap 802.11be 40mhz +< wlanap 802.11be 80mhz +< wlanap band +< wlanap band 2.4ghz +< wlanap band 5ghz +< wlanap invalid band +< wlanap invalid mode diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index 1123992839..600ddc4898 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -37,6 +37,20 @@ my %wlanapsettings=(); # Read the configuration file &General::readhash("/var/ipfire/wlanap/settings", \%wlanapsettings); +# Set MODE from HW_MODE +unless (defined $wlanapsettings{'MODE'}) { + if ($wlanapsettings{'HW_MODE'} eq "ac") { + $wlanapsettings{'BAND'} = '5g'; + $wlanapsettings{'MODE'} = "VHT20"; + } elsif ($wlanapsettings{'HW_MODE'} eq "an" || $wlanapsettings{'HW_MODE'} eq "gn") { + $wlanapsettings{'BAND'} = '2g'; + $wlanapsettings{'MODE'} = "HT20"; + } + + # Remove the old value + undef $wlanapsettings{'HW_MODE'}; +} + # Set defaults &General::set_defaults(\%wlanapsettings, { "APMODE" => "on", @@ -46,10 +60,9 @@ my %wlanapsettings=(); "TXPOWER" => "auto", "CHANNEL" => "0", "COUNTRY" => "00", - "HW_MODE" => "g", + "BAND" => "5g", + "MODE" => "HT20", "PWD" => "", - "HTCAPS" => "", - "VHTCAPS" => "", "NOSCAN" => "on", "CLIENTISOLATION" => "off", "IEEE80211W" => "off", @@ -83,25 +96,33 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { } } + # Validate BAND + unless ($cgiparams{'BAND'} =~ m/^[25]g$/) { + $errormessage .= "$Lang::tr{'wlanap invalid band'}
"; + } + + # Validate MODE + unless ($cgiparams{'MODE'} =~ m/^(HT|HE|VHT|EHT)(20|40|80|160|320)$/) { + $errormessage .= "$Lang::tr{'wlanap invalid mode'}
"; + } + # XXX This needs validation $wlanapsettings{'INTERFACE'} = $cgiparams{'INTERFACE'}; $wlanapsettings{'SSID'} = $cgiparams{'SSID'}; $wlanapsettings{'HIDESSID'} = ($cgiparams{'HIDESSID'} eq 'on') ? 'on' : 'off'; $wlanapsettings{'CLIENTISOLATION'} = ($cgiparams{'CLIENTISOLATION'} eq 'on') ? 'on' : 'off'; $wlanapsettings{'COUNTRY'} = $cgiparams{'COUNTRY'}; - $wlanapsettings{'HW_MODE'} = $cgiparams{'HW_MODE'}; + $wlanapsettings{'MODE'} = $cgiparams{'MODE'}; + $wlanapsettings{'BAND'} = $cgiparams{'BAND'}; $wlanapsettings{'CHANNEL'} = $cgiparams{'CHANNEL'}; $wlanapsettings{'NOSCAN'} = ($cgiparams{'NOSCAN'} eq 'on') ? 'on' : 'off'; $wlanapsettings{'ENC'} = $cgiparams{'ENC'}; $wlanapsettings{'PWD'} = $cgiparams{'PWD'}; $wlanapsettings{'IEEE80211W'} = ($cgiparams{'IEEE80211W'} eq 'on') ? 'on' : 'off'; - $wlanapsettings{'HTCAPS'} = $cgiparams{'HTCAPS'}; - $wlanapsettings{'VHTCAPS'} = $cgiparams{'VHTCAPS'}; $wlanapsettings{'TX_POWER'} = $cgiparams{'TX_POWER'}; if ($errormessage eq '') { &General::writehash("/var/ipfire/wlanap/settings", \%wlanapsettings); - &WriteConfig_hostapd(); &General::system("/usr/local/bin/wlanapctrl", "restart"); } @@ -159,7 +180,9 @@ $selected{'ENC'}{$wlanapsettings{'ENC'}} = "selected='selected'"; $selected{'CHANNEL'}{$wlanapsettings{'CHANNEL'}} = "selected='selected'"; $selected{'COUNTRY'}{$wlanapsettings{'COUNTRY'}} = "selected='selected'"; $selected{'TXPOWER'}{$wlanapsettings{'TXPOWER'}} = "selected='selected'"; -$selected{'HW_MODE'}{$wlanapsettings{'HW_MODE'}} = "selected='selected'"; + +$selected{'MODE'}{$wlanapsettings{'MODE'}} = "selected"; +$selected{'BAND'}{$wlanapsettings{'BAND'}} = "selected"; # Fetch all available channels my @channellist = &get_channellist($INTF); @@ -263,13 +286,77 @@ print < $Lang::tr{'wlanap wireless mode'} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Lang::tr{'wlanap band'} + + @@ -342,20 +429,6 @@ print < - - HT Caps - - - - - - - VHT Caps - - - - - Tx Power @@ -404,169 +477,6 @@ END &Header::closebigbox(); &Header::closepage(); -sub WriteConfig_hostapd{ - open (CONFIGFILE, ">/var/ipfire/wlanap/hostapd.conf"); - print CONFIGFILE < 'TKIP-TKIP', 'wlan clients' => 'WLAN-Clients', 'wlanap' => 'Access Point', +'wlanap 802.11ac' => 'IEEE 802.11ac', +'wlanap 802.11ac 160mhz' => 'IEEE 802.11ac @ 160 MHz', +'wlanap 802.11ac 20mhz' => 'IEEE 802.11ac @ 20 MHz', +'wlanap 802.11ac 40mhz' => 'IEEE 802.11ac @ 40 MHz', +'wlanap 802.11ac 80mhz' => 'IEEE 802.11ac @ 80 MHz', +'wlanap 802.11agn' => 'IEEE 802.11an/gn', +'wlanap 802.11agn 20mhz' => 'IEEE 802.11an/gn @ 20 MHz', +'wlanap 802.11agn 40mhz' => 'IEEE 802.11an/gn @ 40 MHz', +'wlanap 802.11ax' => 'IEEE 802.11ax', +'wlanap 802.11ax 160mhz' => 'IEEE 802.11ax @ 160 MHz', +'wlanap 802.11ax 20mhz' => 'IEEE 802.11ax @ 20 MHz', +'wlanap 802.11ax 40mhz' => 'IEEE 802.11ax @ 40 MHz', +'wlanap 802.11ax 80mhz' => 'IEEE 802.11ax @ 80 MHz', +'wlanap 802.11be' => 'IEEE 802.11be', +'wlanap 802.11be 160mhz' => 'IEEE 802.11be @ 160 MHz', +'wlanap 802.11be 20mhz' => 'IEEE 802.11be @ 20 MHz', +'wlanap 802.11be 320mhz' => 'IEEE 802.11be @ 320 MHz', +'wlanap 802.11be 40mhz' => 'IEEE 802.11be @ 40 MHz', +'wlanap 802.11be 80mhz' => 'IEEE 802.11be @ 80 MHz', 'wlanap auto' => 'Automatic Channel Selection', +'wlanap band' => 'Band', +'wlanap band 2.4ghz' => '2.4 GHz', +'wlanap band 5ghz' => '5 GHz', 'wlanap channel' => 'Kanal', 'wlanap client isolation' => 'Client-Isolierung', 'wlanap configuration' => 'Access Point Konfiguration', @@ -3078,6 +3100,8 @@ 'wlanap hide ssid' => 'SSID verbergen', 'wlanap informations' => 'Informationen', 'wlanap interface' => 'Interface übernehmen', +'wlanap invalid band' => 'Ungültiges Band', +'wlanap invalid mode' => 'Ungültiger Modus', 'wlanap invalid wpa' => 'Ungültige Länge in WPA-Passphrase. Muss zwischen 8 und 63 Zeichen lang sein.', 'wlanap link dhcp' => 'Wireless Lan DHCP-Einstellungen', 'wlanap link wireless' => 'Wireless Lan Clients freischalten', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 35e9da184c..c732b167c5 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -3185,10 +3185,32 @@ 'wlan client wpa mode tkip tkip' => 'TKIP-TKIP', 'wlan clients' => 'Wireless clients', 'wlanap' => 'Wireless Access Point', +'wlanap 802.11ac' => 'IEEE 802.11ac', +'wlanap 802.11ac 160mhz' => 'IEEE 802.11ac @ 160 MHz', +'wlanap 802.11ac 20mhz' => 'IEEE 802.11ac @ 20 MHz', +'wlanap 802.11ac 40mhz' => 'IEEE 802.11ac @ 40 MHz', +'wlanap 802.11ac 80mhz' => 'IEEE 802.11ac @ 80 MHz', +'wlanap 802.11agn' => 'IEEE 802.11an/gn', +'wlanap 802.11agn 20mhz' => 'IEEE 802.11an/gn @ 20 MHz', +'wlanap 802.11agn 40mhz' => 'IEEE 802.11an/gn @ 40 MHz', +'wlanap 802.11ax' => 'IEEE 802.11ax', +'wlanap 802.11ax 160mhz' => 'IEEE 802.11ax @ 160 MHz', +'wlanap 802.11ax 20mhz' => 'IEEE 802.11ax @ 20 MHz', +'wlanap 802.11ax 40mhz' => 'IEEE 802.11ax @ 40 MHz', +'wlanap 802.11ax 80mhz' => 'IEEE 802.11ax @ 80 MHz', +'wlanap 802.11be' => 'IEEE 802.11be', +'wlanap 802.11be 160mhz' => 'IEEE 802.11be @ 160 MHz', +'wlanap 802.11be 20mhz' => 'IEEE 802.11be @ 20 MHz', +'wlanap 802.11be 320mhz' => 'IEEE 802.11be @ 320 MHz', +'wlanap 802.11be 40mhz' => 'IEEE 802.11be @ 40 MHz', +'wlanap 802.11be 80mhz' => 'IEEE 802.11be @ 80 MHz', 'wlanap 802.11w disabled' => 'Disabled', 'wlanap 802.11w enforced' => 'Enforced', 'wlanap 802.11w optional' => 'Optional', 'wlanap auto' => 'Automatic Channel Selection', +'wlanap band' => 'Band', +'wlanap band 2.4ghz' => '2.4 GHz', +'wlanap band 5ghz' => '5 GHz', 'wlanap channel' => 'Channel', 'wlanap client isolation' => 'Client Isolation', 'wlanap configuration' => 'Wireless Access Point Configuration', @@ -3199,6 +3221,8 @@ 'wlanap hide ssid' => 'Hide SSID', 'wlanap informations' => 'Information', 'wlanap interface' => 'Select Interface', +'wlanap invalid band' => 'Invalid band', +'wlanap invalid mode' => 'Invalid mode', 'wlanap invalid wpa' => 'Invalid length in WPA passphrase. Must be between 8 and 63 characters.', 'wlanap link dhcp' => 'Wireless LAN DHCP configuration', 'wlanap link wireless' => 'Activate wireless lan clients', diff --git a/lfs/hostapd b/lfs/hostapd index c63884c04b..00cd17084b 100644 --- a/lfs/hostapd +++ b/lfs/hostapd @@ -25,15 +25,15 @@ include Config SUMMARY = Daemon for running a WPA capable Access Point -VER = 64d60bb4 +VER = f747ae0 THISAPP = hostap-$(VER) -DL_FILE = $(THISAPP).tar.xz +DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = hostapd -PAK_VER = 68 +PAK_VER = 69 DEPS = @@ -47,7 +47,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = a377efb1f173a8622ca7ba2073161a64ea3a041c2c662ef35615e74b61e29da2d1f7dccba68a8f2ae1a80c7d3fbde08cd9d72a0babf85324efa9b3b11b1cb3ac +$(DL_FILE)_BLAKE2 = baec51beb4ed2e9ba9699a7f53b4cc7a9eee5d00716a9033bf434139f66c79a56e33270ef221f94fb0ecc1819b7e107b6bd4c8875434dcbcfd465e6cbac33293 install : $(TARGET) diff --git a/lfs/suricata-reporter b/lfs/suricata-reporter index e4e013e9e0..37593699c6 100644 --- a/lfs/suricata-reporter +++ b/lfs/suricata-reporter @@ -73,7 +73,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && \ ./configure \ --prefix=/usr \ - --sysconfdir=/etc + --sysconfdir=/etc \ + --localstatedir=/var cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install diff --git a/src/initscripts/packages/hostapd b/src/initscripts/packages/hostapd index b0a20e7c0c..8362883fe6 100644 --- a/src/initscripts/packages/hostapd +++ b/src/initscripts/packages/hostapd @@ -22,6 +22,100 @@ . /etc/sysconfig/rc . ${rc_functions} +declare -A HT_CAPS=( + # LDPC Coding Capability + [0x0001]="[LDPC]" + # 40 MHz Channel Width + [0x0002]="[HT40+][HT40-]" + # SM Power Save + # [0x0004] - not supported by hostapd + # Greenfield + [0x0008]="[GF]" + # Short Guard Interval (SGI) for 20 MHz + [0x0010]="[SHORT-GI-20]" + # Short Guard Interval (SGI) for 40 MHz + [0x0020]="[SHORT-GI-40]" + # TX STBC support + [0x0040]="[TX-STBC]" + # RX STBC support (1 stream) + [0x0080]="[RX-STBC1]" + # HT-delayed Block Ack + [0x0100]="[DELAYED-BA]" + # Max A-MSDU length (7935 vs. 3839 bytes) + [0x0200]="[MAX-AMSDU-7935]" + # DSSS/CCK Mode in 40 MHz + [0x0400]="[DSSS_CCK-40]" + # PSMP support + # [0x0800] - not supported by hostapd + # 40 MHz Intolerant + [0x1000]="[40-INTOLERANT]" + # L-SIG TXOP protection support + [0x2000]="[LSIG-TXOP-PROT]" +) + +declare -A HT_CAPS_DRIVER_FILTERS=( + # ath1[012]k does not support Greenfield or Delayed Block Ack + [ath10k_pci]="$(( 0xffff & ~0x0008 & ~0x0100 ))" + [ath11k_pci]="$(( 0xffff & ~0x0008 & ~0x0100 ))" + [ath12k_pci]="$(( 0xffff & ~0x0008 & ~0x0100 ))" +) + +declare -A VHT_CAPS=( + # RX LDPC + [0x00000010]="[RXLDPC]" + # Short GI for 80 MHz + [0x00000020]="[SHORT-GI-80]" + # Short GI for 160/80+80 MHz + [0x00000040]="[SHORT-GI-160]" + # TX STBC + [0x00000080]="[TX-STBC-2BY1]" + # SU Beamformer capable + [0x00000800]="[SU-BEAMFORMER]" + # SU Beamformee capable + [0x00001000]="[SU-BEAMFORMEE]" + # MU Beamformer capable + [0x00080000]="[MU-BEAMFORMER]" + # MU Beamformee capable + [0x00100000]="[MU-BEAMFORMEE]" + # VHT TXOP Power Save + [0x00200000]="[VHT-TXOP-PS]" + # +HTC-VHT + [0x00400000]="[HTC-VHT]" + # RX antenna pattern consistency + [0x10000000]="[RX-ANTENNA-PATTERN]" + # TX antenna pattern consistency + [0x20000000]="[TX-ANTENNA-PATTERN]" +) + +declare -A VHT_CAPS_DRIVER_FILTERS=( + # ath12k does not support Short GI for 160 MHz + [ath12k_pci]="$(( 0xffffffff & ~0x00000020 ))" +) + +declare -A HE_MAC_CAPS=( + # Nothing, yet +) + +declare -A HE_PHY_CAPS=( + # SU Beamformer + [0x08000000000]="he_su_beamformer=1" + # SU Beamformee + [0x10000000000]="he_su_beamformee=1" + # MU Beamformer + [0x20000000000]="he_mu_beamformer=1" +) + +declare -A EHT_MAC_CAPS=( + # Nothing, yet +) + +declare -A EHT_PHY_CAPS=( + # SU Beamformer + [0x0000000000000010]="eht_su_beamformer=1" + # SU Beamformee + [0x0000000000000020]="eht_su_beamformee=1" +) + find_interface() { local address="${1}" @@ -36,11 +130,534 @@ find_interface() { return 1; } -CHANNEL="6" -COUNTRY="00" -TXPOWER="auto" -INTERFACE="blue0" -MACMODE="0" +write_config() { + local interface="${1}" + + # Fetch the PHY + local phy="$(> 2) & 0x03 ))" in + 0) + # Neither 160, nor 80+80 MHz + ;; + 1) + vht_caps+=( "[VHT160]" ) + ;; + 2) + vht_caps+=( "[VHT160-80PLUS80]" ) + ;; + esac + + # VHT Max MPDU Length + case "$(( ${vht_flags} & 0x03 ))" in + 0) + # Default, 3895 + ;; + 1) + vht_caps+=( "[MAX-MPDU-7991]" ) + ;; + 2) + vht_caps+=( "[MAX-MPDU-11454]" ) + ;; + esac + + # RX Spacial Streams + case "$(( (${vht_flags} >> 8) & 0x03 ))" in + 1) + vht_caps+=( "[RX-STBC-1]" ) + ;; + 2) + vht_caps+=( "[RX-STBC-12]" ) + ;; + 3) + vht_caps+=( "[RX-STBC-123]" ) + ;; + 4) + vht_caps+=( "[RX-STBC-1234]" ) + ;; + esac + + # Compressed Steering + case "$(( ((${vht_flags} >> 13) & 0x03) + 1 ))" in + 2) + vht_caps+=( "[BF-ANTENNA-2]" ) + ;; + 3) + vht_caps+=( "[BF-ANTENNA-3]" ) + ;; + 4) + vht_caps+=( "[BF-ANTENNA-4]" ) + ;; + esac + + # Sounding Dimension + case "$(( ((${vht_flags} >> 16) & 0x03) + 1 ))" in + 2) + vht_caps+=( "[SOUNDING-DIMENSION-2]" ) + ;; + 3) + vht_caps+=( "[SOUNDING-DIMENSION-3]" ) + ;; + 4) + vht_caps+=( "[SOUNDING-DIMENSION-4]" ) + ;; + esac + + local exponent="$(( (${vht_flags} >> 23) & 0x03 ))" + if [ "${exponent}" -ge 0 ] && [ "${exponent}" -le 7 ]; then + vht_caps+=( "[MAX-A-MPDU-LEN-EXP${exponent}]" ) + fi + + # VHT Link Adaptation + case "$(( (${vht_flags} >> 26) & 0x03 ))" in + 2) + vht_caps+=( "[VHT-LINK-ADAPT2]" ) + ;; + 3) + vht_caps+=( "[VHT-LINK-ADAPT3]" ) + ;; + esac + + # HE PHY Capabilities + for flag in ${!HE_PHY_CAPS[@]}; do + if (( ${he_phy_flags} & ${flag} )); then + he_caps+=( "${HE_PHY_CAPS[${flag}]}" ) + fi + done + + # EHT PHY Capabilities + for flag in ${!EHT_PHY_CAPS[@]}; do + if (( ${eht_phy_flags} & ${flag} )); then + eht_caps+=( "${EHT_PHY_CAPS[${flag}]}" ) + fi + done + + # Set the channel to zero if not set + if [ -z "${CHANNEL}" ]; then + CHANNEL=0 + fi + + # Translate the old HW_MODE to the newer MODE setting + if [ -z "${MODE}" ]; then + case "${HW_MODE}" in + ac) + MODE="VHT20" + ;; + an|gn) + MODE="HT20"; + ;; + esac + fi + + # Set some default BAND if none is set + if [ -z "${BAND}" ]; then + # Use 2.4 GHz for 802.11g/n and assume 5 GHz for anything else + case "${HW_MODE}" in + gn) + BAND="2g" + ;; + *) + BAND="5g" + ;; + esac + fi + + # Header + echo "# Automatically generated configuration" + echo "# DO NOT EDIT" + + # Enable logging + echo "logger_syslog=-1" + echo "logger_syslog_level=4" + + # Use Netlink + echo "driver=nl80211" + + # Set the country code + echo "country_code=${COUNTRY}" + echo "country3=0x49" + + # Enable 802.11d and 802.11h + echo "ieee80211d=1" + echo "ieee80211h=1" + + # Set the channel (if chosen) + if [ -n "${CHANNEL}" ]; then + echo "channel=${CHANNEL}" + fi + + # Always advertise TPC + echo "local_pwr_constraint=3" + echo "spectrum_mgmt_required=1" + + # Try to perform radar detetection in the background (if supported by the driver) + echo "enable_background_radar=1" + + # Always enable WMM + echo "wmm_enabled=1" + + # 802.11ac + local enable_ac=0 + local vht_oper_chwidth=0 + local vht_oper_centr_freq_seg0_idx="" + + case "${MODE}" in + VHT20|HE20|EHT20) + enable_ac=1 + ;; + + # 40 MHz Channel Width + VHT40|HE40|EHT40) + enable_ac=1 + + # Compute the channel segment index + if [ "${CHANNEL}" -gt 0 ]; then + case "$(( (${CHANNEL} / 4) % 2 ))" in + 0) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} - 2 ))" + ;; + 1) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} + 2 ))" + ;; + esac + fi + ;; + + # 80 MHz Channel Width + VHT80|HE80|EHT80) + enable_ac=1 + vht_oper_chwidth=1 + + # Compute the channel segment index + if [ "${CHANNEL}" -gt 0 ]; then + case "$(( (${CHANNEL} / 4) % 4 ))" in + 0) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} - 6 ))" + ;; + 1) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} + 6 ))" + ;; + 2) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} + 2 ))" + ;; + 3) + vht_oper_centr_freq_seg0_idx="$(( ${CHANNEL} - 2 ))" + ;; + esac + fi + ;; + + # 160/320 MHz Channel Width + VHT160|HE160|EHT160|EHT320) + enable_ac=1 + vht_oper_chwidth=2 + + # Compute the channel segment index + if [ "${CHANNEL}" -gt 0 ]; then + case "${CHANNEL}" in + 36|40|44|48|52|56|60|64) + vht_oper_centr_freq_seg0_idx=50 + ;; + 100|104|108|112|116|120|124|128) + vht_oper_centr_freq_seg0_idx=114 + ;; + 149|153|157|161|165|169|173|177) + vht_oper_centr_freq_seg0_idx=163 + ;; + esac + fi + ;; + esac + + # 802.11ax + local enable_ax=0 + local he_oper_chwidth="${vht_oper_chwidth}" + local he_oper_centr_freq_seg0_idx="${vht_oper_centr_freq_seg0_idx}" + + case "${MODE}" in + HE*|EHT*) + enable_ax=1 + ;; + esac + + # 802.11be + local enable_be=0 + local eht_oper_chwidth="${he_oper_chwidth}" + local eht_oper_centr_freq_seg0_idx="${he_oper_centr_freq_seg0_idx}" + + case "${MODE}" in + EHT*) + enable_be=1 + ;; + esac + + # Set hardware mode + case "${BAND}" in + 5g) + echo "hw_mode=a" + ;; + 2g) + echo "hw_mode=g" + ;; + esac + + # Enable 802.11be? + if [ "${enable_be}" -eq 1 ]; then + echo "ieee80211be=1" + + # Configure wider channels + echo "eht_oper_chwidth=${eht_oper_chwidth}" + echo "eht_oper_centr_freq_seg0_idx=${eht_oper_centr_freq_seg0_idx}" + + # Set EHT capabilities + if [ ${#eht_caps[@]} -gt 0 ]; then + printf "%s\n" "${eht_caps[@]}" + fi + fi + + # Enable 802.11ax? + if [ "${enable_ax}" -eq 1 ]; then + echo "ieee80211ax=1" + + # Configure wider channels + echo "he_oper_chwidth=${he_oper_chwidth}" + echo "he_oper_centr_freq_seg0_idx=${he_oper_centr_freq_seg0_idx}" + + # Set HE capabilities + if [ ${#he_caps[@]} -gt 0 ]; then + printf "%s\n" "${he_caps[@]}" + fi + fi + + # Enable 802.11ac? + if [ "${enable_ac}" -eq 1 ]; then + echo "ieee80211ac=1" + + # Configure wider channels + echo "vht_oper_chwidth=${vht_oper_chwidth}" + echo "vht_oper_centr_freq_seg0_idx=${vht_oper_centr_freq_seg0_idx}" + + # Set VHT capabilities + if [ ${#vht_caps[@]} -gt 0 ]; then + echo "vht_capab=${vht_caps[@]}" + fi + fi + + # Always enable 802.11n + echo "ieee80211n=1" + + # Set HT capabilities + if [ ${#ht_caps[@]} -gt 0 ]; then + echo "ht_capab=${ht_caps[@]}" + fi + + # Configure antennas + if [ -z "${RX_ANTENNAS}" ]; then + RX_ANTENNAS="0xffffffff" + fi + if [ -z "${TX_ANTENNAS}" ]; then + TX_ANTENNAS="0xffffffff" + fi + + # Set the antennas to use + iw phy "${phy}" set antenna "${TX_ANTENNAS}" "${RX_ANTENNAS}" &>/dev/null + + # Enable authentication + echo "auth_algs=1" + + # Enable the control interface + echo "ctrl_interface=/var/run/hostapd" + echo "ctrl_interface_group=0" + + # Disconnect clients that are too far away + echo "disassoc_low_ack=1" + + # SSID + echo "ssid2=\"${SSID}\"" + echo "utf8_ssid=1" + + # Hide the SSID? + if [ "${HIDESSID}" = "on" ]; then + echo "ignore_broadcast_ssid=2" + fi + + # Isolate clients? + if [ "${CLIENTISOLATION}" = "on" ]; then + echo "ap_isolate=1" + fi + + # Disable neighbour scan? + if [ "${NOSCAN}" = "on" ]; then + echo "noscan=1" + else + echo "noscan=0" + fi + + # Management Frame Protection (802.11w) + case "${IEEE80211W}" in + on) + echo "ieee80211w=2" + + # Enable beacon protection + echo "beacon_prot=1" + + # Enable Operating Channel Validation + echo "ocv=1" + ;; + + optional) + echo "ieee80211w=1" + + # Enable beacon protection + echo "beacon_prot=1" + + # Enable OCV in compatibility mode for broken stations + echo "ocv=2" + ;; + *) + echo "ieee80211w=0" + ;; + esac + + # Encryption + case "${ENC}" in + wpa3) + echo "wpa=2" + echo "wpa_passphrase=${PWD}" + echo "wpa_key_mgmt=SAE" + echo "rsn_pairwise=CCMP" + ;; + wpa2+3) + echo "wpa=2" + echo "wpa_passphrase=${PWD}" + echo "wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256 SAE" + echo "rsn_pairwise=CCMP" + ;; + wpa2) + echo "wpa=2" + echo "wpa_passphrase=${PWD}" + echo "wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256" + echo "rsn_pairwise=CCMP" + ;; + wpa1+2) + echo "wpa=3" + echo "wpa_passphrase=${PWD}" + echo "wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256" + echo "wpa_pairwise=TKIP" + echo "rsn_pairwise=CCMP" + ;; + wpa1) + echo "wpa=1" + echo "wpa_passphrase=${PWD}" + echo "wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256" + echo "wpa_pairwise=TKIP" + ;; + esac + + # Multi-Band Operation - prefer WiFi over mobile networks + # This feature requires Management Frame Protection + case "${IEEE80211W}" in + on|optional) + echo "mbo=1" + echo "mbo_cell_data_conn_pref=1" + ;; + esac + + # Always enable SSID protection + echo "ssid_protection=1" + + # Extended Key ID support for Individually Addressed frames + echo "extended_key_id=1" + + # Fully enable Optimized Connectivity Experience + echo "oce=7" + + # Enable 802.11u Interworking Support + echo "interworking=1" + + # 802.11u: We are a private network + echo "access_network_type=0" + + # 802.11u: We have internet access + echo "internet=1" + + # 802.11v: Advertise the time + echo "time_advertisement=2" + + # Convert multicast to unicast packets + echo "multicast_to_unicast=1" + + return 0 +} eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings) @@ -53,8 +670,31 @@ case "${1}" in exit 1 fi + # Write the configuration + if ! write_config "${interface}" > /etc/hostapd.conf; then + boot_mesg "Failed to generate configuration" + echo_failure + exit 1 + fi + + # Compose the command line + args=( + /usr/bin/hostapd + -s + -B + /etc/hostapd.conf + -i "${interface}" + ) + + # Enable debugging? + if [ -n "${DEBUG}" ] && [[ "${DEBUG}" =~ ^[0-9]+$ ]]; then + for (( i = 0; i < DEBUG; i++ )); do + args+=( "-d" ) + done + fi + boot_mesg "Starting hostapd... " - loadproc /usr/bin/hostapd -s -B /etc/hostapd.conf -i "${interface}" + loadproc "${args[@]}" ;; stop) @@ -73,6 +713,17 @@ case "${1}" in statusproc /usr/bin/hostapd ;; + show-config) + interface="$(find_interface "${INTERFACE}")" + if [ -z "${interface}" ]; then + boot_mesg "Could not find interface with address ${INTERFACE} for wireless access point" + echo_failure + exit 1 + fi + + write_config "${interface}" + ;; + *) echo "Usage: ${0} {start|stop|restart|status}" exit 1 hooks/post-receive -- IPFire 2.x development tree