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

Commit 6118069b authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Fix WRITE_SECURE_SETTINGS permission issue

The refactor with the new state machine had introduced
a bug with writes to secure settings in public API for
which apps might not have permission.

Bug: 2895750
Change-Id: I7d236253201a47b836996859aa3de2806ad8a800
parent 468c3230
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -405,7 +405,14 @@ public class WifiService extends IWifiManager.Stub {
        }

        mWifiStateMachine.setWifiEnabled(enable);

        /*
         * Caller might not have WRITE_SECURE_SETTINGS,
         * only CHANGE_WIFI_STATE is enforced
         */
        long ident = Binder.clearCallingIdentity();
        persistWifiEnabled(enable);
        Binder.restoreCallingIdentity(ident);

        if (enable) {
            if (!mIsReceiverRegistered) {
@@ -451,7 +458,13 @@ public class WifiService extends IWifiManager.Stub {
                wifiConfig.SSID = mContext.getString(R.string.wifi_tether_configure_ssid_default);
                wifiConfig.allowedKeyManagement.set(KeyMgmt.NONE);
            }
            /*
             * Caller might not have WRITE_SECURE_SETTINGS,
             * only CHANGE_WIFI_STATE is enforced
             */
            long ident = Binder.clearCallingIdentity();
            setWifiApConfiguration(wifiConfig);
            Binder.restoreCallingIdentity(ident);
        }

        mWifiStateMachine.setWifiApEnabled(wifiConfig, enabled);