]> git.ipfire.org Git - people/ms/network.git/commitdiff
wireless networks: Properly validate encryption modes
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 18 Aug 2017 13:27:29 +0000 (15:27 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 18 Aug 2017 13:27:29 +0000 (15:27 +0200)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/functions/functions.wireless
src/functions/functions.wireless-networks

index d132da6886353eb287ba5c15941813eac2199aed..7ddb59cb23b545f4174f70fcccc602eb3b74bda8 100644 (file)
@@ -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
index 7c71d9e5c53d453f14d0b6b39acdcd45d6581308..0133fe7f41f1534e42fab8cf70889ce0dc269534 100644 (file)
@@ -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