diff options
| author | 2021-03-15 10:57:51 +0800 | |
|---|---|---|
| committer | 2021-03-15 03:29:29 +0000 | |
| commit | 935fef65fb02e469916912a6d821a0fe4a50637f (patch) | |
| tree | d6a20a561d73d474f08d04bbddc2dee5c8648a8a | |
| parent | fe4b43da67341b6a5fc6ee6f0e03b0b3b9f78772 (diff) | |
Call clearCallingIdentity when calling registerNetworkProvider in TNS
The caller to create a TestNetworkService via
ConnectivityManager#startOrGetTestNetworkManager should have
passed the MANAGE_TEST_NETWORKS permission check and the caller
doesn't need to declare the permission to pass the permission
check of registerNetworkProvider. So call clearCallingIdentity
when calling registerNetworkProvider in TestNetworkService.
Bug: 181573283
Test: atest CtsNetTestCases:ConnectivityManagerTest#testRequestBackgroundNetwork
Change-Id: Ia28627dacf933d1937978ed9709b975c9a4660ce
| -rw-r--r-- | services/core/java/com/android/server/TestNetworkService.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/TestNetworkService.java b/services/core/java/com/android/server/TestNetworkService.java index ee610671ff23..f5662772f59f 100644 --- a/services/core/java/com/android/server/TestNetworkService.java +++ b/services/core/java/com/android/server/TestNetworkService.java @@ -90,7 +90,12 @@ class TestNetworkService extends ITestNetworkManager.Stub { mCm = mContext.getSystemService(ConnectivityManager.class); mNetworkProvider = new NetworkProvider(mContext, mHandler.getLooper(), TEST_NETWORK_PROVIDER_NAME); - mCm.registerNetworkProvider(mNetworkProvider); + final long token = Binder.clearCallingIdentity(); + try { + mCm.registerNetworkProvider(mNetworkProvider); + } finally { + Binder.restoreCallingIdentity(token); + } } /** |