Move back networking policy logic into NetworkPolicyManagerService
This patch removes from ConnectivityService the logic involved in deciding if a uid has access to networking based on networking policies. This logic is moved into NetworkPolicyManagerService which is the source of truth with regards to the state of networking policie, both for existing networks and uids. Instead ConnectivityService directly queries NetworkPolicyManagerService in a synchronous fashion for a specific uid or a (uid, network) pair. This eliminates the need to keep a copy of the uid policy rules inside ConnectivityService and ensures that ConnectivityService takes networking decisions based on the correct state of networking policies, and therefore eliminates certain data races in ConnectivityManager API that applications are exposed to. Test: $ runtest frameworks-net $ runtest -x frameworks/base/services/tests/../NetworkPolicyManagerServiceTest.java $ runtest -c com.android.server.net.ConnOnActivityStartTest frameworks-services Bug: 32069544, 30919851 Change-Id: Ic75d4f7a8853e6be20e51262c4b59805ec35093a
Loading
Please register or sign in to comment