Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21e90f0e authored by San Mehat's avatar San Mehat
Browse files

nexus: Validate that priority and KeyManagement are set before enabling a network



Signed-off-by: default avatarSan Mehat <san@google.com>
parent 78828ff4
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -551,6 +551,20 @@ int WifiNetwork::setAllowedGroupCiphers(uint32_t mask) {
}

int WifiNetwork::setEnabled(bool enabled) {

    if (enabled) {
        if (getPriority() == -1) {
            LOGE("Cannot enable network when priority is not set");
            errno = EAGAIN;
            return -1;
        }
        if (getAllowedKeyManagement() == KeyManagementMask::UNKNOWN) {
            LOGE("Cannot enable network when KeyManagement is not set");
            errno = EAGAIN;
            return -1;
        }
    }

    if (mSuppl->enableNetwork(mNetid, enabled))
        return -1;

+5 −4
Original line number Diff line number Diff line
@@ -23,10 +23,11 @@

class KeyManagementMask {
public:
    static const uint32_t NONE      = 0;
    static const uint32_t WPA_PSK   = 0x01;
    static const uint32_t WPA_EAP   = 0x02;
    static const uint32_t IEEE8021X = 0x04;
    static const uint32_t UNKNOWN   = 0;
    static const uint32_t NONE      = 0x01;
    static const uint32_t WPA_PSK   = 0x02;
    static const uint32_t WPA_EAP   = 0x04;
    static const uint32_t IEEE8021X = 0x08;
    static const uint32_t ALL       = WPA_PSK | WPA_EAP | IEEE8021X;
};