From: Michael Tremer Date: Fri, 18 Aug 2017 13:27:29 +0000 (+0200) Subject: wireless networks: Properly validate encryption modes X-Git-Tag: 010~219 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c9e2fa82c087fc2684719f1028e85d85ada0cf9;p=network.git wireless networks: Properly validate encryption modes Signed-off-by: Michael Tremer --- diff --git a/src/functions/functions.wireless b/src/functions/functions.wireless index d132da68..7ddb59cb 100644 --- a/src/functions/functions.wireless +++ b/src/functions/functions.wireless @@ -25,6 +25,10 @@ NETWORK_SETTINGS_FILE_PARAMS="${NETWORK_SETTINGS_FILE_PARAMS} WIRELESS_REGULATOR WIRELESS_REGULATORY_DOMAIN_DATABASE="/usr/lib/crda/regulatory.bin" +WIRELESS_DEFAULT_ENCRYPTION_MODE="NONE" +WIRELESS_VALID_ENCRYPTION_MODES="WPA2-PSK-SHA256 WPA2-PSK \ + WPA-PSK-SHA256 WPA-PSK WEP NONE" + cli_wireless() { local action=${1} shift 1 diff --git a/src/functions/functions.wireless-networks b/src/functions/functions.wireless-networks index 7c71d9e5..0133fe7f 100644 --- a/src/functions/functions.wireless-networks +++ b/src/functions/functions.wireless-networks @@ -21,8 +21,6 @@ WIRELESS_NETWORK_CONFIG_SETTINGS="ENCRYPTION_MODE PRIORITY PSK SSID" -WIRELESS_NETWORKS_VALID_ENCRYPTION_MODES="WPA2-PSK" - cli_wireless_network() { case "${1}" in new) @@ -228,6 +226,7 @@ wireless_network_new() { echo "SSID=\"${ssid}\"" >>"${NETWORK_WIRELESS_NETWORKS_DIR}/${ssid_hash}/settings" local ${WIRELESS_NETWORK_CONFIG_SETTINGS} + ENCRYPTION_MODE="${WIRELESS_DEFAULT_ENCRYPTION_MODE}" SSID="${ssid}" PRIORITY=500 @@ -267,7 +266,7 @@ wireless_network_encryption_mode() { local ssid="${1}" local mode="${2}" - if ! isoneof mode ${WIRELESS_NETWORKS_VALID_ENCRYPTION_MODES}; then + if ! isoneof mode ${WIRELESS_VALID_ENCRYPTION_MODES}; then log ERROR "Encryption mode '${mode}' is invalid" return ${EXIT_ERROR} fi