Fix handling with open or wpa-psk (#2239)

This commit is contained in:
Pascal Vizeli 2020-11-11 16:33:46 +01:00 committed by GitHub
parent 280d423bfe
commit 46e92036ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 18 deletions

View File

@ -76,27 +76,24 @@
,
'802-11-wireless':
{
'security': <'802-11-wireless-security'>,
'assigned-mac-address': <'stable'>,
'ssid': <[byte {{ interface.wifi.ssid }}]>,
'mode': <'{{ interface.wifi.mode.value }}'>,
'powersave': <uint32 1>
{% if interface.wifi.auth != "open" %}
,
'security': <'802-11-wireless-security'>
},
'802-11-wireless-security':
{
{% if interface.wifi.auth == "wep" %}
'auth-alg': <'none'>,
'key-mgmt': <'none'>
'key-mgmt': <'none'>,
{% elif interface.wifi.auth == "wpa-psk" %}
'auth-alg': <'shared'>,
'key-mgmt': <'wpa-psk'>
{% elif interface.wifi.auth == "open" %}
'auth-alg': <'open'>,
'key-mgmt': <'none'>
'key-mgmt': <'wpa-psk'>,
{% endif %}
{% if interface.wifi.psk %}
,
'psk': <'{{ interface.wifi.psk }}'>
{% endif %}
}

View File

@ -298,12 +298,13 @@ class Interface:
return None
# Authentication
if inet.settings.wireless_security.auth_alg == "none":
auth = None
if not inet.settings.wireless_security:
auth = AuthMethod.OPEN
if inet.settings.wireless_security.key_mgmt == "none":
auth = AuthMethod.WEP
elif inet.settings.wireless_security.key_mgmt == "wpa-psk":
auth = AuthMethod.WPA_PSK
else:
auth = AuthMethod.OPEN
# Signal
if inet.wireless:

View File

@ -110,7 +110,7 @@ async def test_interface_update_payload_wireless_wpa_psk(coresys):
assert DBus.parse_gvariant(data)["802-11-wireless"]["ssid"] == [84, 101, 115, 116]
assert DBus.parse_gvariant(data)["802-11-wireless"]["mode"] == "infrastructure"
assert DBus.parse_gvariant(data)["802-11-wireless-security"]["auth-alg"] == "shared"
assert DBus.parse_gvariant(data)["802-11-wireless-security"]["auth-alg"] == "open"
assert (
DBus.parse_gvariant(data)["802-11-wireless-security"]["key-mgmt"] == "wpa-psk"
)
@ -156,10 +156,7 @@ async def test_interface_update_payload_wireless_open(coresys):
assert (
DBus.parse_gvariant(data)["802-11-wireless"]["assigned-mac-address"] == "stable"
)
assert DBus.parse_gvariant(data)["802-11-wireless-security"]["auth-alg"] == "open"
assert DBus.parse_gvariant(data)["802-11-wireless-security"]["key-mgmt"] == "none"
assert "psk" not in DBus.parse_gvariant(data)["802-11-wireless-security"]
assert "802-11-wireless-security" not in DBus.parse_gvariant(data)
@pytest.mark.asyncio