Commit Graph

1430 Commits

Author SHA1 Message Date
Aaron Huang
5a916810c6 Add keepalive related methods and fields to system APIs
Add KeepalivePacketData to system API for mainline support.
Also, remove InvalidPacketException class from SocketKeepalive
and create a new InvalidPacketException class in android.net

Bug: 139268426
Bug: 135998869
Bug: 138306002
Test: atest FrameworksNetTests
      atest NetworkStackTests
      atest FrameworksTelephonyTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
      atest android.net.cts
      atest android.net.wifi.cts
      atest android.telephony.cts

Change-Id: I2d982e8abb5cb6b4c74a20483550b18cf814320d
2019-12-13 23:05:37 +08:00
Automerger Merge Worker
515f11f5d8 Merge changes Ie756b9aa,I38110f3a am: e38a525a05 am: 08c816b3f0
Change-Id: I884650a0a0fbf1a96f81ca927886eb2a563f4e28
2019-12-04 19:56:21 +00:00
Paul Hu
032c3c3e30 Merge "Replace the permission of internal connectivity checks" 2019-12-04 05:59:59 +00:00
Paul Hu
f9ed2de1dd Merge "Replace the permission of internal connectivity checks" 2019-12-04 05:52:01 +00:00
paulhu
e031948c1a Replace the permission of internal connectivity checks
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permission
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
all CONNECTIVITY_INTERNAL to other proper permissions.

Bug: 32963470
Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I8f2dd1cd0609056494eaf612d39820e273ae093f
2019-12-04 11:45:51 +08:00
paulhu
8e96a75543 Replace the permission of internal connectivity checks
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permission
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
all CONNECTIVITY_INTERNAL to other proper permissions.

Bug: 32963470
Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I8f2dd1cd0609056494eaf612d39820e273ae093f
Merged-In: I8f2dd1cd0609056494eaf612d39820e273ae093f
2019-12-04 11:44:45 +08:00
Treehugger Robot
e38a525a05 Merge changes Ie756b9aa,I38110f3a
* changes:
  [NS A19] Inline updateCapabilities in rematch.
  [NS A18] Reverse listens and request-availables
2019-12-04 02:07:45 +00:00
Automerger Merge Worker
9029839020 Merge "Disable a flaky test" am: 932dda858a am: c8ce461f68
Change-Id: Ia3596b558fb09600e7d9a16f0dce03d4402ee653
2019-12-03 16:51:32 +00:00
Chalard Jean
54ef9299c7 Disable a flaky test
Bug: 145513323
Test: FrameworkNetTests
Change-Id: I66e02fdaab2969b77db4a0f0e6fb8b1a981d9350
2019-12-03 16:13:22 +09:00
Chalard Jean
9127f03a5c [NS A18] Reverse listens and request-availables
This is a long standing bug that happens to now be trivial
to fix, and also be beneficial for refactoring

Test: FrameworksNetTests NetworkStackTests
Change-Id: I38110f3a4a75936ea755788e7f9fee67863e14be
2019-12-02 18:44:10 +09:00
Chalard Jean
a5b0d0bbab Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be am: a1a975e149 am: 0d6211b065
am: fece8eceef

Change-Id: I4540ad08fbb1ccabf0a19f73bc36611194ef8bfa
2019-12-01 21:37:03 -08:00
Chalard Jean
a1a975e149 Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be
* changes:
  [NS A14] Move code notifying battery stats in its right place
  [NS A13] Move legacy broadcast handling after rematch.
  [NS A12] Move some legacy type tracker handling to a function
  Add tests for ConnectivityService → BatteryStats messages
2019-12-02 05:17:39 +00:00
Chalard Jean
9589e72241 [NS A14] Move code notifying battery stats in its right place
This should be done once every time an interface comes online.
Doing this in updateLinkProperties guarantees this happens every
time a new interface comes online, but it doesn't do it more
often than needed.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I0613c23f44192944266d76107308da8d1c541d1c
2019-12-02 13:02:38 +09:00
Mark Chien
783ba3e0bd Merge changes from topic "tether_migrate"
* changes:
  [Tether10]Remove UserManagerInternal usage in Tethering
  [Tether07] Migrate Tethering into module
  [Tether07] Clean up build rule for libtetheroffloadjni
2019-11-30 12:17:47 +00:00
markchien
5e86665079 [Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
2019-11-30 10:03:08 +00:00
Chalard Jean
0a2a20054d Add tests for ConnectivityService → BatteryStats messages
Test: ConnectivityServiceTest
Bug: 113554781
Change-Id: I7d3a16be76f606872f8edb84647b9ef94f36cba1
2019-11-29 16:59:30 +09:00
markchien
c70070914f [Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
2019-11-29 07:05:21 +00:00
Hugo Benichi
3d23d352ca Merge "BitUtils: support packing/unpacking negative long values" am: cd46b46d51 am: c9b854f5be
am: af06575aef

Change-Id: Iaa8c4084f0754781ea3e6a0a9202d9e102d5f074
2019-11-27 07:58:33 -08:00
Treehugger Robot
cd46b46d51 Merge "BitUtils: support packing/unpacking negative long values" 2019-11-27 15:34:46 +00:00
Hugo Benichi
31270734a2 BitUtils: support packing/unpacking negative long values
Bug: None
Test: Compiled. New unit tests.
Change-Id: Ia543285e206b0bbc7d64458da10e68a951f9eec1
2019-11-27 11:00:32 +09:00
Chiachang Wang
ac0bc78aed Merge "Refactor based on new NetworkMonitor" am: 4a41fe8072 am: 02bec631c5
am: 4a30d55644

Change-Id: I7b5bb41d2e5d99a81565506a4274a38156e3afc2
2019-11-26 04:15:47 -08:00
Chiachang Wang
4a41fe8072 Merge "Refactor based on new NetworkMonitor" 2019-11-26 10:52:33 +00:00
Chiachang Wang
bfb1ab4b02 Refactor based on new NetworkMonitor
Bug: 130325409
Test: atest NetworkStackIntegrationTests
Change-Id: I4426be339cb9990c05b3f4fb5666bd70bcd0f78e
2019-11-26 09:10:45 +08:00
Paul Hu
f988293d3c Merge "Fix hasUseBackgroundNetworksPermission issue." am: 0a6f03873a am: d47085c444
am: 36872f15f5

Change-Id: I8a1575dedd6e3b7a8b60ee2ffd475d790aec55c4
2019-11-25 10:35:55 -08:00
Lucas Lin
b0450caf3f Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN" am: fc8c834040 am: 22ba258b99
am: 61fcd4126f

Change-Id: I9539e73842040e3a38a64c4b4863adfe32c893e9
2019-11-25 10:33:04 -08:00
Paul Hu
0a6f03873a Merge "Fix hasUseBackgroundNetworksPermission issue." 2019-11-25 08:41:05 +00:00
Lucas Lin
fc8c834040 Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN" 2019-11-25 08:14:09 +00:00
paulhu
9b2c01a7f0 Fix hasUseBackgroundNetworksPermission issue.
PermissionMonitor#hasUseBackgroundNetworksPermission only uses
the first package name of the uid for checking permission.
This is incorrect since each package declared different
permissions. So using the mApps which already checked both
network and using restricted network permissions. If uid is in
the mApps list that means uid has one of permission at least.

Bug: 135897744
Test: atest FrameworksNetTests
Change-Id: I3500a03ce06b5b822311ad0c67b606ce4039216a
2019-11-24 22:27:32 +08:00
lucaslin
784ca66669 Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN
NetworkNotificationManager will only get the first transport
type from the NetworkCapabilities of network, and if the device
connects to a VPN and its underlying network is wifi, then the
first finding transport type will be TRANSPORT_WIFI. So, if the
private DNS is broken when device connected to VPN,
NetworkNotificationManager will try to get the SSID for the
title of notification but failed. For this kind of case, the
title of PRIVATE_DNS_BROKEN notification will show
"null has no internet access".

Bug: 143340533
Test: 1. Build pass.
      2. Connect to VPN and let private DNS to be broken, check
      title of PRIVATE_DNS_BROKEN notification.
      3. atest FrameworksNetTests

Change-Id: I1ed018cc8774d4fce4b94854f8e8703a28818463
2019-11-22 12:46:32 +08:00
Chalard Jean
798cb4d8b9 Merge "Rename waitForConnectivityBroadcast" am: eb6a236187 am: 0f6c70e0f8
am: 6307e13292

Change-Id: I9c3197407c99bb209700364686ee64d6ccb07a06
2019-11-20 06:21:12 -08:00
Chalard Jean
8ab4698397 Merge "Add tests for the legacy broadcast" am: 48127ba387 am: 48c6b7f68c
am: dc7feb216c

Change-Id: Ifc56e73f7eeaa22d8f16fcd50083f0b0fa37dc95
2019-11-19 19:43:42 -08:00
Chalard Jean
7c10ed5e9b Rename waitForConnectivityBroadcast
This doesn't wait, so it was ill-named.
Test: ConnectivityServiceTest

Change-Id: I15e5083f961e415b1d2d870e49c177fc84f0312c
2019-11-19 22:41:09 +09:00
Chalard Jean
48127ba387 Merge "Add tests for the legacy broadcast" 2019-11-19 13:32:17 +00:00
Chalard Jean
4aa9d9d859 Add tests for the legacy broadcast
Test: this
Change-Id: I0777bf443f65d894eaab9b800db40c1caf6520fe
2019-11-19 21:08:44 +09:00
Jayachandran Chinnakkannu
368ede6dbf Merge "Remove usage of Telephonymanager getDefault() and from() hidden APIs" am: 73e22ad21d am: 01586c399e
am: 0049091605

Change-Id: Ief1f090f3664d583565f291c89357bfbac58fe17
2019-11-18 01:09:40 -08:00
Jayachandran C
2092850198 Remove usage of Telephonymanager getDefault() and from() hidden APIs
This CL replaces with getSystemService(TelephonyManager.class)

Bug: 140768340
Test: atest frameworks/base/tests/net
Change-Id: I0f14cc5440fa85c81ab90f3199e9e91c1b00f5e1
2019-11-15 19:26:33 -08:00
Remi NGUYEN VAN
36ca7d7f50 Merge "Add permissions to NetIntegrationTests manifest" am: 732d7f96f3 am: 29eb83b289
am: 652709eb7f

Change-Id: I33f628f9845d672edce17807f32819e31549eefd
2019-11-11 21:54:17 -08:00
Remi NGUYEN VAN
732d7f96f3 Merge "Add permissions to NetIntegrationTests manifest" 2019-11-12 05:31:19 +00:00
Lucas Lin
288c248dfd Merge "[NS01] Create NetworkScore" am: bd692519f4 am: 10c6d68c49
am: 95d990daef

Change-Id: Ic093e655b1ff7e44db57d7add6b0818a06700962
2019-11-07 17:05:20 -08:00
Lucas Lin
bd692519f4 Merge "[NS01] Create NetworkScore" 2019-11-08 00:47:22 +00:00
lucaslin
17e9c67315 [NS01] Create NetworkScore
It's the first patch for refounding network selection. The new
network selection will try to compare the networks by more
factors, and will try to choose the best network after doing
the evaluation of trade-off.
Create the object that will serve to represent network quality
for more comprehensive ranking.

Bug: 143676287
Test: 1. Build pass.
      2. atest FrameworksNetTests

Change-Id: I4b6071d14365aa84d06be9802516fedf527e70f7
2019-11-07 16:47:56 +08:00
Remi NGUYEN VAN
c598529450 Add permissions to NetIntegrationTests manifest
As the TestNetworkStack target is updated not to use the complete
NetworkStackManifest to avoid including priv-app permissions and actual
service names, the missing permissions must be added to the
FrameworksNetIntegrationTests manifest.

Add the permissions and attributes that are necessary for the test, and
used to be merged from the TestNetworkStack library manifest.

Test: atest FrameworksNetIntegrationTests
Change-Id: I8b434e67f3a6c9141da71c6dfab1be77aa0f8411
2019-10-30 18:30:03 +09:00
Jeongik Cha
122535bedc Change AIDL module name
Naming rule for aidl module is changed to make using unstable AIDL module more explicit
So, to use unstable version AIDL module, use "-unstable" suffix version
And also, module name without any suffix means latest frozen version.

But wrt modules for C++ and NDK, module name with latest frozen version
is not available for now.

In b/139280289, more background is explained

Test: m
Bug: 139280289
Change-Id: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
Merged-In: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
2019-10-29 16:01:18 +09:00
Jeongik Cha
fbfa7d09ff Change AIDL module name
Naming rule for aidl module is changed to make using unstable AIDL module more explicit
So, to use unstable version AIDL module, use "-unstable" suffix version
And also, module name without any suffix means latest frozen version.

But wrt modules for C++ and NDK, module name with latest frozen version
is not available for now.

In b/139280289, more background is explained

Test: m
Bug: 139280289
Change-Id: Ib38e2cb114cc373ef50652f421ddaff9b4fbe5b9
2019-10-26 00:38:46 +09:00
Mark Chien
570bb5574c Merge "[Tether02] Migrate TetheringConfiguration into module" am: adef7395e8 am: 68e38feeda am: efd1966341
am: 4f9e0501d4

Change-Id: Ia361893223c5d08e7ca0193c38f9b1b88a330320
2019-10-24 07:14:21 -07:00
Mark Chien
adef7395e8 Merge "[Tether02] Migrate TetheringConfiguration into module" 2019-10-24 13:10:24 +00:00
markchien
e5593f3381 [Tether02] Migrate TetheringConfiguration into module
TetheringConfiguration is a utility class to encapsulate the various
configuration elements.

Bug: 136040414
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: I9434ab213bc5e0fca59f14a6c8cea554abefc3a4
2019-10-24 14:00:05 +08:00
Lucas Lin
665edc1896 Merge "Better notification to user when DNS-over-TLS is broken" am: f42f3830ec am: 6a78c78996 am: e2bb0da748
am: d72606c43d

Change-Id: Iffbdc181d8249f26b3c370474583673aaa1c5032
2019-10-23 03:27:05 -07:00
Lucas Lin
f42f3830ec Merge "Better notification to user when DNS-over-TLS is broken" 2019-10-23 09:20:09 +00:00
lucaslin
e117e2e8d7 Better notification to user when DNS-over-TLS is broken
Provide a specifc notification to let users know that device
has no internet is because it really doesn't have internet access
or it's caused by private DNS resolution failed.

Bug: 113242081
Test: atest FrameworksNetTests
Change-Id: I710c88a4742f5fd56c39fc797d7fa3ad36dba553
2019-10-22 18:27:33 +08:00