Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- html/cgi-bin/wlanap.cgi | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index 2c28d50e5..29fdd1cd5 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -130,7 +130,7 @@ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'wlanap del interface'}" ){
if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'save'}" ){ # verify WPA Passphrase - only with enabled enc - if (($wlanapsettings{'ENC'} eq "wpa1") || ($wlanapsettings{'ENC'} eq "wpa2") || ($wlanapsettings{'ENC'} eq "wpa1+2")){ + if ($wlanapsettings{'ENC'} ne "none") { # must be 8 .. 63 characters if ( (length($wlanapsettings{'PWD'}) < 8) || (length($wlanapsettings{'PWD'}) > 63)){ $errormessage .= "$Lang::tr{'wlanap invalid wpa'}<br />"; @@ -442,7 +442,9 @@ print<<END <option value='none' $selected{'ENC'}{'none'}>$Lang::tr{'wlanap none'}</option> <option value='wpa1' $selected{'ENC'}{'wpa1'}>WPA1</option> <option value='wpa2' $selected{'ENC'}{'wpa2'}>WPA2</option> + <option value='wpa3' $selected{'ENC'}{'wpa3'}>WPA3</option> <option value='wpa1+2' $selected{'ENC'}{'wpa1+2'}>WPA1+2</option> + <option value='wpa2+3' $selected{'ENC'}{'wpa2+3'}>WPA2+3</option> </select> </td></tr> <tr><td width='25%' class='base'>Passphrase: </td><td class='base' colspan='3'><input type='text' name='PWD' size='30' value='$wlanapsettings{'PWD'}' /></td></tr> @@ -707,6 +709,16 @@ wpa_passphrase=$wlanapsettings{'PWD'} wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP END +; + }elsif ( $wlanapsettings{'ENC'} eq 'wpa3'){ + print CONFIGFILE <<END +######################### wpa hostapd configuration ############################ +# +wpa=2 +wpa_passphrase=$wlanapsettings{'PWD'} +wpa_key_mgmt=SAE +rsn_pairwise=CCMP +END ; } elsif ( $wlanapsettings{'ENC'} eq 'wpa1+2'){ print CONFIGFILE <<END @@ -718,6 +730,16 @@ wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP END +; + }elsif ( $wlanapsettings{'ENC'} eq 'wpa2+3'){ + print CONFIGFILE <<END +######################### wpa hostapd configuration ############################ +# +wpa=2 +wpa_passphrase=$wlanapsettings{'PWD'} +wpa_key_mgmt=WPA-PSK SAE +rsn_pairwise=CCMP +END ; } close CONFIGFILE;
This change removes a couple of removed options and adds new ones. Notable changes are:
* Enable SAE (for WPA3) * Enable Airtime Policy * Enable Client Taxonomy * Enable using the new getrandom() syscall * Enable using epoll instead of select
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- config/hostapd/config | 127 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 105 insertions(+), 22 deletions(-)
diff --git a/config/hostapd/config b/config/hostapd/config index 66ebbf1ce..78206ed78 100644 --- a/config/hostapd/config +++ b/config/hostapd/config @@ -15,22 +15,31 @@ CONFIG_DRIVER_HOSTAP=y # Driver interface for wired authenticator #CONFIG_DRIVER_WIRED=y
-# Driver interface for Prism54 driver -CONFIG_DRIVER_PRISM54=y - # Driver interface for drivers using the nl80211 kernel interface CONFIG_DRIVER_NL80211=y -# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be -# shipped with your distribution yet. If that is the case, you need to build -# newer libnl version and point the hostapd build to use it. -#LIBNL=/usr/src/libnl -#CFLAGS += -I$(LIBNL)/include -#LIBS += -L$(LIBNL)/lib + +# QCA vendor extensions to nl80211 +#CONFIG_DRIVER_NL80211_QCA=y + +# driver_nl80211.c requires libnl. If you are compiling it yourself +# you may need to point hostapd to your version of libnl. +# +#CFLAGS += -I$<path to libnl include files> +#LIBS += -L$<path to libnl library files> + +# Use libnl v2.0 (or 3.0) libraries. +#CONFIG_LIBNL20=y + +# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) +CONFIG_LIBNL32=y +
# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) #CONFIG_DRIVER_BSD=y #CFLAGS += -I/usr/local/include #LIBS += -L/usr/local/lib +#LIBS_p += -L/usr/local/lib +#LIBS_c += -L/usr/local/lib
# Driver interface for no driver (e.g., RADIUS server only) #CONFIG_DRIVER_NONE=y @@ -41,12 +50,12 @@ CONFIG_IAPP=y # WPA2/IEEE 802.11i RSN pre-authentication CONFIG_RSN_PREAUTH=y
-# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - # IEEE 802.11w (management frame protection) CONFIG_IEEE80211W=y
+# Support Operating Channel Validation +#CONFIG_OCV=y + # Integrated EAP server CONFIG_EAP=y
@@ -99,24 +108,30 @@ CONFIG_EAP_TTLS=y #CONFIG_EAP_GPSK_SHA256=y
# EAP-FAST for the integrated EAP server -# Note: Default OpenSSL package does not include support for all the -# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, -# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) -# to add the needed functions. #CONFIG_EAP_FAST=y
+# EAP-TEAP for the integrated EAP server +# Note: The current EAP-TEAP implementation is experimental and should not be +# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number +# of conflicting statements and missing details and the implementation has +# vendor specific workarounds for those and as such, may not interoperate with +# any other implementation. This should not be used for anything else than +# experimentation and interoperability testing until those issues has been +# resolved. +#CONFIG_EAP_TEAP=y + # Wi-Fi Protected Setup (WPS) -CONFIG_WPS=y +#CONFIG_WPS=y # Enable UPnP support for external WPS Registrars -CONFIG_WPS_UPNP=y +#CONFIG_WPS_UPNP=y # Enable WPS support with NFC config method #CONFIG_WPS_NFC=y
# EAP-IKEv2 -CONFIG_EAP_IKEV2=y +#CONFIG_EAP_IKEV2=y
# Trusted Network Connect (EAP-TNC) -CONFIG_EAP_TNC=y +#CONFIG_EAP_TNC=y
# EAP-EKE for the integrated EAP server #CONFIG_EAP_EKE=y @@ -133,10 +148,10 @@ CONFIG_PKCS12=y #CONFIG_IPV6=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., madwifi or FreeBSD/net80211) +# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) #CONFIG_DRIVER_RADIUS_ACL=y
# IEEE 802.11n (High Throughput) support @@ -149,6 +164,12 @@ CONFIG_IEEE80211N=y # IEEE 802.11ac (Very High Throughput) support CONFIG_IEEE80211AC=y
+# IEEE 802.11ax HE support +# 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 + # 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 # code is not needed. @@ -158,6 +179,9 @@ CONFIG_IEEE80211AC=y # Disabled by default. #CONFIG_DEBUG_FILE=y
+# Send debug messages to syslog instead of stdout +#CONFIG_DEBUG_SYSLOG=y + # Add support for sending all debug messages (regardless of debug verbosity) # to the Linux kernel tracing facility. This helps debug the entire stack by # making it easy to record everything happening from the driver up into the @@ -235,10 +259,25 @@ CONFIG_IEEE80211AC=y # requirements described above. #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. +# Requires glibc 2.25 to build, falls back to /dev/random if unavailable. +CONFIG_GETRANDOM=y + +# Should we use poll instead of select? Select is used by default. +#CONFIG_ELOOP_POLL=y + +# Should we use epoll instead of select? Select is used by default. +CONFIG_ELOOP_EPOLL=y + +# Should we use kqueue instead of select? Select is used by default. +#CONFIG_ELOOP_KQUEUE=y + # Select TLS implementation # openssl = OpenSSL (default) # gnutls = GnuTLS # internal = Internal TLSv1 implementation (experimental) +# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) # none = Empty template #CONFIG_TLS=openssl
@@ -251,6 +290,10 @@ CONFIG_IEEE80211AC=y # can be enabled to enable use of stronger crypto algorithms. #CONFIG_TLSV12=y
+# Select which ciphers to use by default with OpenSSL if the user does not +# specify them. +#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" + # If CONFIG_TLS=internal is used, additional library and include paths are # needed for LibTomMath. Alternatively, an integrated, minimal version of # LibTomMath can be used. See beginning of libtommath.c for details on benefits @@ -278,6 +321,12 @@ CONFIG_IEEE80211AC=y # Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file #CONFIG_SQLITE=y
+# Enable Fast Session Transfer (FST) +#CONFIG_FST=y + +# Enable CLI commands for FST testing +#CONFIG_FST_TEST=y + # Testing options # This can be used to enable some testing options (see also the example # configuration file) that are really useful only for testing clients that @@ -309,3 +358,37 @@ CONFIG_IEEE80211AC=y # http://wireless.kernel.org/en/users/Documentation/acs # CONFIG_ACS=y + +# Multiband Operation support +# These extentions facilitate efficient use of multiple frequency bands +# available to the AP and the devices that may associate with it. +#CONFIG_MBO=y + +# Client Taxonomy +# Has the AP retain the Probe Request and (Re)Association Request frames from +# a client, from which a signature can be produced which can identify the model +# of client device like "Nexus 6P" or "iPhone 5s". +CONFIG_TAXONOMY=y + +# Fast Initial Link Setup (FILS) (IEEE 802.11ai) +#CONFIG_FILS=y +# FILS shared key authentication with PFS +#CONFIG_FILS_SK_PFS=y + +# Include internal line edit mode in hostapd_cli. This can be used to provide +# limited command line editing and history support. +#CONFIG_WPA_CLI_EDIT=y + +# Opportunistic Wireless Encryption (OWE) +# Experimental implementation of draft-harkins-owe-07.txt +#CONFIG_OWE=y + +# Airtime policy support +CONFIG_AIRTIME_POLICY=y + +# Override default value for the wpa_disable_eapol_key_retries configuration +# parameter. See that parameter in hostapd.conf for more details. +#CFLAGS += -DDEFAULT_WPA_DISABLE_EAPOL_KEY_RETRIES=1 + +# Custom configuration +CONFIG_SAE=y
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- lfs/hostapd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lfs/hostapd b/lfs/hostapd index b208c732d..f70d09f4b 100644 --- a/lfs/hostapd +++ b/lfs/hostapd @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = hostapd -PAK_VER = 51 +PAK_VER = 52
DEPS =