diff options
| author | Irfan Sheriff <isheriff@google.com> | 2010-08-18 16:07:39 -0700 |
|---|---|---|
| committer | Irfan Sheriff <isheriff@google.com> | 2010-08-18 16:07:39 -0700 |
| commit | 6118069b1dc4c487d02d3df5b883e756dc42b605 (patch) | |
| tree | 743618f56c53914696a2ef381e2569e1827695c1 /services | |
| parent | 468c3230dafc2d131bdeded7b5a6825988166244 (diff) | |
| download | frameworks_base-6118069b1dc4c487d02d3df5b883e756dc42b605.zip frameworks_base-6118069b1dc4c487d02d3df5b883e756dc42b605.tar.gz frameworks_base-6118069b1dc4c487d02d3df5b883e756dc42b605.tar.bz2 | |
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
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/WifiService.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index 064d47f..59846b9 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -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); |
