Commit Graph

4854 Commits

Author SHA1 Message Date
Automerger Merge Worker
360c24f950 Merge "Add missing RequiresPermission to EthernetManager" am: b3d7fe48ad
Change-Id: I4263c0f0d315c6252eea921641c00fcd8d0e66cf
2020-03-09 08:12:48 +00:00
Remi NGUYEN VAN
b3d7fe48ad Merge "Add missing RequiresPermission to EthernetManager" 2020-03-09 07:42:25 +00:00
Remi NGUYEN VAN
bb5104fa13 Add missing RequiresPermission to EthernetManager
The method requires NETWORK_STACK or MAINLINE_NETWORK_STACK permissions,
but the annotation was missing.

Test: m
Fixes: 150877670
Change-Id: I2af74cbcfa642f05f5e7bf85b2a8e8c38595f6ca
2020-03-09 14:18:55 +09:00
Automerger Merge Worker
709ec7c707 Merge "Remove the NetworkScore class." am: d1edb37ac7
Change-Id: Ieb78467dac3aca48eea9d049b83a74f9ff41eec7
2020-03-08 05:11:03 +00:00
Treehugger Robot
d1edb37ac7 Merge "Remove the NetworkScore class." 2020-03-08 04:52:26 +00:00
Aaron Huang
aa078c03c4 Merge "Remove framework code that has moved to frameworks/libs/net" into stage-aosp-master 2020-03-06 05:53:20 +00:00
Chalard Jean
36b29acbc5 Remove the NetworkScore class.
This class is useless at this point and introduces overhead.

Bug: 113554781
Test: FrameworksNetTests
Change-Id: Ib6da6c1c7f2a0b97c847d2e64e5ce16dd821e1e7
2020-03-06 11:57:53 +09:00
Amos Bianchi
7ced7df125 Merge "Remove polling of TetheringManager in ConnectivityManager." 2020-03-05 18:34:59 +00:00
Amos Bianchi
b118c9b72b Remove polling of TetheringManager in ConnectivityManager.
Test: manual

Bug: 144742179

Change-Id: I196b320788be96c120f771d2fcdf032a73e26b5f
2020-03-05 18:34:14 +00:00
Aaron Huang
04b394d07b Remove framework code that has moved to frameworks/libs/net
Add srcs to framework and change import path.
Remove the codes which are moved to frameworks/libs/net.

Bug: 139268426
Bug: 135998869
Bug: 138306002
Bug: 143925787
Test: atest FrameworksNetTests
      atest FrameworksTelephonyTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I44e0a8361637c2d43be2e5d033d405b22e1a149c
Merged-In: I067cdc404e5a63947c19cb75069a39ae42faa3c8
Merged-In: Ieb8927f9af7f87a5ae038bd6c7daeb3d70117fef
2020-03-05 13:53:39 +08:00
Automerger Merge Worker
21f010984f Merge "Accept MAINLINE_NETWORK_STACK permission on register/unregister network provider" am: 63e5bd6b4b
Change-Id: I1ab6d47c17992f8630d9aba892bcef29dcb66bfa
2020-03-04 10:32:09 +00:00
Paul Hu
63e5bd6b4b Merge "Accept MAINLINE_NETWORK_STACK permission on register/unregister network provider" 2020-03-04 10:15:41 +00:00
Automerger Merge Worker
465199b9a0 Merge "Move DnsSdTxtRecord to net common static library" am: 8d6a6e0d4b
Change-Id: I1101a06ab084e1ff61a785f78b1ae5ac50bfbcd8
2020-03-04 05:56:55 +00:00
Aaron Huang
8d6a6e0d4b Merge "Move DnsSdTxtRecord to net common static library" 2020-03-04 05:33:30 +00:00
paulhu
b7817e287c Accept MAINLINE_NETWORK_STACK permission on register/unregister network provider
Registering/Unregistering network provider needs NETWORK_FACTORY
which is signature only permission. But mainline modules can't
grant this permission because it's not signed with platform key.
Hence, these APIs should also accept MAINLINE_NETWORK_STACK
permission that allow mainline module to register/unregister
network provider.

Bug: 150733435
Test: atest FrameworksNetTests
Change-Id: Id22113aa0db01244817b4b008f5573c5e7b317f0
2020-03-04 09:43:41 +08:00
Automerger Merge Worker
ed139f5d9f Merge "Update NetworkInfo public API." am: 9dbdb7a01e
Change-Id: I6658d79bd9bda22ed6b8acac90ba94c9ef18c488
2020-03-03 09:40:07 +00:00
Aaron Huang
9dbdb7a01e Merge "Update NetworkInfo public API." 2020-03-03 09:16:55 +00:00
Automerger Merge Worker
3060c3cd98 Merge changes from topic "del-factory-and-networkagent-wifi" am: 97cc9b621a
Change-Id: I8b8e4add020ec8011bc1d41fc6537f750c309754
2020-03-03 03:54:02 +00:00
Automerger Merge Worker
1cb0560dc2 New NetworkAgentConfig API to replace NetworkInfo WiFi stuff. am: 490e292a76
Change-Id: I94e3b25aa202e75338115f82c6db0dd0e41deb48
2020-03-03 03:53:58 +00:00
Automerger Merge Worker
73e201927e Merge "Move NetworkAgent#register to a new method." am: 9309eea2fe
Change-Id: I4ca48f4232ad4733da5ce7f265fc911f5ff1a713
2020-03-03 03:52:17 +00:00
Aaron Huang
97cc9b621a Merge changes from topic "del-factory-and-networkagent-wifi"
* changes:
  Delete NetworkFactory from frameworks/base/core.
  New NetworkAgentConfig API to replace NetworkInfo WiFi stuff.
2020-03-03 03:47:31 +00:00
Aaron Huang
9309eea2fe Merge "Move NetworkAgent#register to a new method." 2020-03-03 03:37:07 +00:00
Aaron Huang
1752fcf3c8 Move DnsSdTxtRecord to net common static library
DnsSdTxtRecord is moved to frameworks/libs/net for mainline
support. Also change the import path using this class.

Bug: 139268426
Bug: 135998869
Test: atest FrameworksNetTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I6118b313ce668707d598aa2eab9baee2f7622dbc
Merged-In: I6118b313ce668707d598aa2eab9baee2f7622dbc
2020-03-02 08:21:26 +00:00
Aaron Huang
7cadca43f2 Merge "Remove framework code that has moved to frameworks/libs/net" 2020-03-02 06:23:44 +00:00
Automerger Merge Worker
4be9a47a39 Merge "Always set NetworkInfo objects to available." am: ac916d6e2b
Change-Id: I89b53d1a254ca43566286b1309ce88b8a1518c4a
2020-03-02 05:10:35 +00:00
Aaron Huang
ac916d6e2b Merge "Always set NetworkInfo objects to available." 2020-03-02 04:53:10 +00:00
Automerger Merge Worker
d74f557cbf Merge "Fix crash and duplicated ethernet tethering request" am: 41c82c99df
Change-Id: Idd4eca225909f88ef6d57fd8952ae497ec82115b
2020-02-28 02:49:58 +00:00
Lorenzo Colitti
41c82c99df Merge "Fix crash and duplicated ethernet tethering request" 2020-02-28 02:37:45 +00:00
markchien
d2d8d45b89 Fix crash and duplicated ethernet tethering request
This change fix two things:
1. Handle ethernet callback in internal thread to avoid crash. IpServer
should be created from tethering thread, otherwise mIpNeighborMonitor of
IpServer would throw
   IllegalStateException("start() called from off-thread")
2. Ethernet tethering request may be duplicated if multiple
startTethering is called but no stopTethering

Bug: 130840861
Bug: 148824036
Test: ON/OFF ethernet tehtering manually
      atest TetheringTests

Change-Id: I7c5127e96d80d077735010d2e62c7227805ccb10
2020-02-27 14:50:16 +08:00
Automerger Merge Worker
33086f9d78 Merge "Add methods to send connected/disconnected state." am: bdb86ff8ab
Change-Id: If69bd650e129dc9f058e47832d48651b9243a3bb
2020-02-27 03:23:48 +00:00
Chalard Jean
48413166fb Update NetworkInfo public API.
Wifi needs to create these objects so it can include them
in the broadcasts.

Bug: 135998869
Test: FrameworksWifiTests
Change-Id: Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc
Merged-In: Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc
2020-02-24 21:07:08 +08:00
Lorenzo Colitti
e81ef45b29 Delete NetworkFactory from frameworks/base/core.
It is being moved to frameworks/libs/net.

Test: builds
Test: atest FrameworksNetTests
Test: atest FrameworksWifiTests
Test: atest FrameworksTelephonyTests
Bug: 138306002
Bug: 139268426
Change-Id: I4eec40bed93679a029a20d38c114b1dbc80aa12e
Merged-In: I4eec40bed93679a029a20d38c114b1dbc80aa12e
2020-02-21 16:20:54 +08:00
Chalard Jean
490e292a76 New NetworkAgentConfig API to replace NetworkInfo WiFi stuff.
Bug: 139268426
Test: FrameworkWifiTests
Change-Id: Id13fcf41e05fd1eb26c86717e2684c724b94e401
Merged-In: Id13fcf41e05fd1eb26c86717e2684c724b94e401
2020-02-21 16:08:17 +08:00
Chalard Jean
e668251eee Move NetworkAgent#register to a new method.
Calling IPC in a constructor is unusual and confusing, and can be
considered bad form. There are multiple reasons for this :
• Users can't obtain an instance of the class without calling the
  constructor, but they can't always afford an IPC where they need
  this, forcing them to know about the implementation detail and
  sometimes design around it.
• On a related but generalized note, constructors should usually
  be fast for the same range of reasons.
• Having a separate method to register the agent simply gives more
  flexibility to the app.
• It's also a lot easier to test.
But also we can't fix it without an update to the API, so here it is.

Another reason for doing this is consistency with the NetworkProvider
API.

Bug: 138306002
Bug: 139268426
Test: atest FrameworksNetTests FrameworksWifiTests FrameworksTelephonyTests
Change-Id: I1ee5c7b1353d581e487c8a8a159009bebd781643
Merged-In: I1ee5c7b1353d581e487c8a8a159009bebd781643
(clean cherry-pick from internal branch)
2020-02-21 14:54:18 +08:00
Chalard Jean
d0eb17eb76 Add methods to send connected/disconnected state.
Also add methods to set the legacy subtype and the APN name.
These have to be added together because they have to be used
together.

Bug: 138306002
Bug: 139268426
Test: atest FrameworksNetTests FrameworksWifiTests FrameworksTelephonyTests
Change-Id: Ie90b8d290eab490061d5cb066744b67d597b9469
Merged-In: Ie90b8d290eab490061d5cb066744b67d597b9469
(clean cherry-pick from internal branch)
2020-02-20 19:37:16 +08:00
Automerger Merge Worker
8b18b53599 Merge "Sanitize owner UID iff owning app does not have location permissions." am: 239908298e
Change-Id: Ie5876d063d7440aacc57d48cb4573798303910ea
2020-02-20 05:30:20 +00:00
Qingxi Li
239908298e Merge "Sanitize owner UID iff owning app does not have location permissions." 2020-02-20 05:20:27 +00:00
Qingxi Li
9c5d8b963c Sanitize owner UID iff owning app does not have location permissions.
This change adds permission checking to ensure that the following
conditions are enforced in order for apps to receive the owner UID:
1. The app must be the owner of the network
2. The app must hold the FINE_LOCATION permission/appop
3. The user must have their location toggle enabled.

Bug: 142072839
Test: atest FrameworksNetTests
Change-Id: I7a981a82f1219828ee89c8c96eb9d2efd153377f
2020-02-20 01:02:42 +00:00
Roshan Pius
b2e49ac48b DO NOT MERGE: RELAND: NetworkRequest: Embed requestor uid & packageName
Add the requestorUid & requestorPackageName fields to
NetworkCapabilities. This is populated by CS when
a new network request is received.
These 2 requestor fields are also optionally used for network
matching. All of the regular app initiated requests will have the
requestor uid and package name set by connectivity service. Network
agents can optionally set the requestorUid and requestorPackageName
to restrict the network created only to the app that requested the network.

This will help removing the necessity for the various specifiers to embed
the uid & package name info in the specifier for network matching.

Note: NetworkSpecifier.assertValidFromUid() is deprecated & removed in
favor of setting the uid/package name on the agent to restrict the
network to a certain app (useful for wifi peer to peer API & wifi aware).

Bug: 144102365
Test: Verified that wifi network request related CTS verifier tests
pass.
Test: Device boots up and connects to wifi networks
Merged-In: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529

Change-Id: I58775e82aa7725aac5aa27ca9d2b5ee8f0be4242
2020-02-19 23:12:32 +00:00
Lorenzo Colitti
bb2bdb87a8 Always set NetworkInfo objects to available.
For all networks, NetworkInfo.isAvailble has basically always
been true for all connected networks. The new NetworkAgent API
sets it to false, and this causes application breakage. Always
set it to true.

Bug: 148126438
Test: builds, boots, searching in maps works again
Change-Id: Ia9876b0ce7f02120bd05cab526346cad22cf62b3
Merged-In: Ia9876b0ce7f02120bd05cab526346cad22cf62b3
(clean cherry-pick from internal branch)
2020-02-19 12:23:49 +00:00
Automerger Merge Worker
101b4e2bb5 Merge "Use framework-tethering-stub instead of framework-tethering" am: 3e4ab5c2b5
Change-Id: I2caaa5f804a510bcc18822b784c129e9b058ea03
2020-02-19 09:54:51 +00:00
Mark Chien
3e4ab5c2b5 Merge "Use framework-tethering-stub instead of framework-tethering" 2020-02-19 09:46:24 +00:00
Automerger Merge Worker
ff39b8ba90 Merge changes from topic "settings-vpn" am: 70f90282ef
Change-Id: If7e8310306889b38527bfab65316a50807814372
2020-02-19 07:51:20 +00:00
Automerger Merge Worker
7deb069d3d Add always-on VPN support for platform VPNs am: 522f3c932d
Change-Id: I9f600a9ea2002bf9a1ee88137e3a29b2c90b22ac
2020-02-19 07:51:14 +00:00
markchien
8cf2a5588b Use framework-tethering-stub instead of framework-tethering
The non-updatable part of the platform now is built with
framework-tethering-stub, which is a stub library of
framework-tethering.

Bug: 147200698
Test: m
Change-Id: I97ef83f7f9b4c1376f373713036f5256318f1050
Merged-In: I97ef83f7f9b4c1376f373713036f5256318f1050
2020-02-19 15:10:44 +08:00
Benedict Wong
24a2be8275 Add support for starting IKEv2/IPsec VPNs from settings
This commit allows the startLegacyVpn() call to start Platform VPN
profiles, allowing Settings to use the IKEv2/IPsec VPN options

When using an aliased private key, the
Ikev2VpnProfile.KEYSTORE_ALIAS_PREFIX must be prepended to the front of
the alias. This will in turn result in the fromVpnProfile() function to
pull the key from the KeyStore, as opposed to the inline-key that the
VpnManager API uses.

Bug: 148991741
Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested
Change-Id: Icbca695c353b2e12e99305676404dbf1a4495949
2020-02-19 02:44:34 +00:00
Benedict Wong
522f3c932d Add always-on VPN support for platform VPNs
This commit allows Platform VPNs to be started as part of always-on
mode.

Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested.
Change-Id: I5eda88e5b406a0e425eb7424665cf702e0979324
Merged-In: I5eda88e5b406a0e425eb7424665cf702e0979324
2020-02-18 22:13:31 +00:00
Aaron Huang
9537e110e3 Remove framework code that has moved to frameworks/libs/net
Add srcs to framework and change import path.
Remove the codes which are moved to frameworks/libs/net.

Bug: 139268426
Bug: 135998869
Bug: 138306002
Bug: 143925787
Test: atest FrameworksNetTests
      atest FrameworksTelephonyTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I44e0a8361637c2d43be2e5d033d405b22e1a149c
Merged-In: I067cdc404e5a63947c19cb75069a39ae42faa3c8
Merged-In: Ieb8927f9af7f87a5ae038bd6c7daeb3d70117fef
2020-02-18 13:52:35 +00:00
Benedict Wong
eb43144549 Merge changes Ide9daebc,Id47ada57 am: 88ec62afa9
Change-Id: Ied52fed05566a0d75e82007170210205db7832a8
2020-02-17 22:01:24 +00:00
Benedict Wong
88ec62afa9 Merge changes Ide9daebc,Id47ada57
* changes:
  Ensure all VPN runners clean up state when exiting
  Enforce restricted user, getConnectionOwnerUid checks
2020-02-17 21:30:35 +00:00