Commit Graph

8639 Commits

Author SHA1 Message Date
Treehugger Robot
a11688cabc Merge "Revert "Move Inet[4]AddressUtils to libs/net"" am: 55d6e27887
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1354443

Change-Id: I472fd717d82304e4362c3075805b460b02a197e0
2020-07-03 00:54:07 +00:00
Chalard Jean
a2706a1710 Revert "Move Inet[4]AddressUtils to libs/net"
This reverts commit 3cb7ccd0cd.

Reason for revert: Breaks the build b/160390899

Merged-In: Icd141a992c46290c74929785e261a1cd57bc001b
Change-Id: Ie10e66f61393602f17fbb61bf17230b176bf1f44
2020-07-02 23:47:35 +00:00
Remi NGUYEN VAN
a37a71537c Merge "Move Inet[4]AddressUtils to libs/net" am: 5bc91ca167
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1324109

Change-Id: I51d32e4efd0d9fc458b02022b6308920f7c812a9
2020-07-02 09:21:23 +00:00
Remi NGUYEN VAN
3cb7ccd0cd Move Inet[4]AddressUtils to libs/net
The classes should not be picked up from frameworks/base, as they are
part of several mainline modules.

Also refine comments in DhcpResults following feedback in previous
change.

(cherry-pick from internal branch skipping wifi classes; no other
conflict)

Bug: 151052811
Test: m; manual: flashed, wifi and telephony working
Test: atest NetworkStackCoverageTests
Merged-In: I7074651c6a2a7a6b11bcf13cc4bb03833d7d655f

Change-Id: I7074651c6a2a7a6b11bcf13cc4bb03833d7d655f
2020-07-02 10:52:31 +09:00
Chalard Jean
36824bfbd5 Merge "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttrib..."" am: 2345894c5a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1353491

Change-Id: I837da6368ab0492c5c65afba4e6cb388d526199d
2020-07-01 05:21:03 +00:00
Chalard Jean
2345894c5a Merge "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttrib..."" 2020-07-01 05:12:40 +00:00
Chalard Jean
24ed491f88 Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttrib..."
Revert "Add new network quirk parcelable in the NetworkAttributes."

Revert submission 1323251-ipv6_prov_loss_quirk_parcelable

Reason for revert: Breaks CtsStrictJavaPackagesTestCases
Reverted Changes:
I18e05c09f:Add new network quirk parcelable in the NetworkAtt...
I8dbff2377:Test IPv6ProvisioningLossParcelable in the Network...

Change-Id: Ie906919b344131cd768fbed787248d3caac2f74d
2020-07-01 01:46:26 +00:00
Xiao Ma
0df54895ad Merge "Test IPv6ProvisioningLossParcelable in the NetworkAttributes." am: 1f6c6479b9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322637

Change-Id: I2f6870d0a6b4e52e484f926d86352f6dcd393cca
2020-06-29 12:04:24 +00:00
Paul Hu
18da2dcce5 Merge "[RFPM01] Merge package added/removed methods" am: fac73070cc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1317236

Change-Id: I0c7f6ab65220eaf0169fb4d88f9aec023ab33228
2020-06-29 12:03:56 +00:00
Xiao Ma
1f6c6479b9 Merge "Test IPv6ProvisioningLossParcelable in the NetworkAttributes." 2020-06-29 11:58:24 +00:00
Xiao Ma
c2e0dc084a Test IPv6ProvisioningLossParcelable in the NetworkAttributes.
Bug: 157534516
Test: atest FrameworksNetTests
Change-Id: I8dbff2377457bb8fd0f447be0a3cda9af952f2a2
2020-06-29 11:57:32 +00:00
Paul Hu
fac73070cc Merge "[RFPM01] Merge package added/removed methods" 2020-06-29 11:50:57 +00:00
Lorenzo Colitti
ad069383bd Merge "Send ConnDiags event before revalidating network in CS." am: a4e39ee58a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1350662

Change-Id: Ie3108f4cc45083523f6f0cda67dad1f13568f296
2020-06-26 07:31:08 +00:00
Lorenzo Colitti
a4e39ee58a Merge "Send ConnDiags event before revalidating network in CS." 2020-06-26 07:13:56 +00:00
Cody Kesting
b0174784bc Send ConnDiags event before revalidating network in CS.
This change updates ConnectivityService to notify the
ConnectivityDiagnosticsHandler of app-reported connectivity before
attempting to revalidate the network. This change forces an ordering on
Connectivity Diagnostics events in the case that the reported
connectivity does not match the known connectivity for the network -
this leads to the network being revalidated and the
ConnectivityDiagnostics event onConnectivityReportAvailable. Passing the
onNetworkConnectivityReported event to the
ConnectivityDiagnosticsHandler first ensures that it is passed to
callbacks before any potential ConnectivityReports are.

Bug: 159718782
Test: android.net.cts.ConnectivityDiagnosticsManagerTest
Change-Id: Ic7bc7138c54c47bbfdf56af5811709fde66f8606
2020-06-25 16:57:18 -07:00
Orion Hodson
1aa51f8eb4 Merge changes from topic "lnh-platform-split" am: 8af442d45e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1348764

Change-Id: Ie34095ddf885fcf57e2a7bcb89817485564e9100
2020-06-25 07:58:17 +00:00
Orion Hodson
8af442d45e Merge changes from topic "lnh-platform-split"
* changes:
  Update to use nativehelper/JNIPlatformHelp.h
  Sync with libnativehelper refactoring
2020-06-25 07:36:05 +00:00
Luke Huang
43e6ff5364 Merge "Disable sockets and DNS if process lacks INTERNET permission." am: 4ce5c9c101
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1348586

Change-Id: I12eb986a95894e41679673830adbbb727d8a8834
2020-06-24 18:52:53 +00:00
Luke Huang
027d039d21 Merge "Move DnsPacket to libs net" am: d295f3e4f4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1348582

Change-Id: I9a5f1d701e5c8f7629df1dfcd0dab44e28945dfc
2020-06-24 18:51:42 +00:00
Luke Huang
4ce5c9c101 Merge "Disable sockets and DNS if process lacks INTERNET permission." 2020-06-24 18:42:08 +00:00
Orion Hodson
208eeeddef Update to use nativehelper/JNIPlatformHelp.h
Reflects refactoring of JNI helper code that depends on private
methods within libnativehelper.

Bug: 151443957
Test: Treehugger
Change-Id: I7af128f42ae89a77a8e3fb113ea533331153c535
Merged-In: I7af128f42ae89a77a8e3fb113ea533331153c535
Exempt-From-Owner-Approval: cherry pick
(cherry picked from commit e7e3e3ea8f)
2020-06-24 14:13:49 +01:00
Luke Huang
836c695840 Disable sockets and DNS if process lacks INTERNET permission.
This is a Client-only solution.
  - Add to NetdClient a per-process std::atomic_boolean
    similar to netIdForProcess and netIdForResolv.
  - The boolean says whether the process should be
    allowed Internet connectivity.
  - Add an @hide method to NetUtils.java to set the boolean;
    call it from the initialization code of the new
    process just after forking from zygote.
  - Make netdClientSocket and dnsOpenProxy check the
    boolean. If the boolean is false, return EPERM from
    socket calls.

Bug: 150028556
Test: atest NetworkUtilsTest
Test: atest CtsAppSecurityHostTestCases:UseProcessTest
(cherry-pick from internal branch, ag/11881939)
Merged-In: If002280fbad493dfc2db3d9d505c0257d49a9056
Change-Id: If002280fbad493dfc2db3d9d505c0257d49a9056
2020-06-24 11:58:57 +00:00
Luke Huang
cf0dc48358 Move DnsPacket to libs net
This class might be used by some mainline modules.

Bug: 151052811
Test: atest DnsPacketTest
Test: atest DnsResolverTest
(clean cherry-pick from internal branch)
Merged-In: I8841d91456952ded5efbf8ea221289aecc7746ad
Change-Id: I8841d91456952ded5efbf8ea221289aecc7746ad
2020-06-24 11:32:26 +00:00
paulhu
e952ccfdf4 [RFPM01] Merge package added/removed methods
There are two methods to handle package added/removed from
two differnt listeners. It can use one of listener to handle the
changes. Thus, keep PackageManagerInternal#PackageListObserver
but remove the listening from ConnectivityService.

Bug: 132784544
Test: atests FrameworksNetTests
Change-Id: Ib2db85e4108f9fda731bf6667d0af0610fc79fea
2020-06-23 16:10:03 +08:00
Paul Hu
0b55f2fac7 Merge "Make PendingIntent immutable and correct Settings package name" am: 8ae6128b05
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1325698

Change-Id: I39f50eb0b88d0f255bea1bd46cf61da010491f20
2020-06-23 04:09:20 +00:00
Paul Hu
8ae6128b05 Merge "Make PendingIntent immutable and correct Settings package name" 2020-06-23 03:55:22 +00:00
paulhu
68426196a5 Make PendingIntent immutable and correct Settings package name
ConnectivityService puts up some notifications with pending
intents, but these pending intents are mutable that content can
be changed by someone. So make these pending intents to be
immutable.

Some OEMs have their own Settings package. Thus, need to get the
current using Settings package name instead of just use default
name "com.android.settings".

Bug: 154928507
Test: atest FrameworksNetTests
Change-Id: I02e3277358623400aa03dc8996af3d7c46a8ce76
Merged-In: I02e3277358623400aa03dc8996af3d7c46a8ce76
2020-06-23 10:05:01 +08:00
Treehugger Robot
4454ba73ff Merge "Update DnsManagerTest for AIDL interface change" am: 9f725d606a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1345375

Change-Id: Ic9836cb0ca7ad9e97b7edb135dbb1f8269f4a0df
2020-06-22 15:50:00 +00:00
Treehugger Robot
9f725d606a Merge "Update DnsManagerTest for AIDL interface change" 2020-06-22 15:31:54 +00:00
Ken Chen
a523111101 Update DnsManagerTest for AIDL interface change
Check one more parameter enforceDnsUid in ResolverOptionsParcel in
DnsManagerTest.

Bug: 159587277
Test: atest
com.android.server.connectivity.DnsManagerTest#testSendDnsConfiguration

Change-Id: Ic53f42b968626294c851dac252a70769846ba427
Merged-In: Ic53f42b968626294c851dac252a70769846ba427
2020-06-22 15:10:12 +00:00
Mike Yu
d7b0b95a3a Merge "Support DNS-over-TLS probes in NetworkDiagnostics" am: 64ffa1762f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1011670

Change-Id: I9e436446179750315be45ddc034cece5afd3c004
2020-06-22 06:45:25 +00:00
Mike Yu
d0e4221f64 Support DNS-over-TLS probes in NetworkDiagnostics
Probe DNS servers to see they support DNS-over-TLS. Use system
CAs to verify whether the certificates sent by DNS servers are
trusted or not. An error is thrown to cause the probe failed if
DNS servers send untrusted certificates.

Unlike the DnsResolver which doesn't verify the certificates
in opportunistic mode, all of the DoT probes from NetworkDiagnostics
check certificates.

DoT probes apply to the DNS servers gotten from LinkProperties
and the DoT servers gotten from PrivateDnsConfig whatever private
DNS mode is.

A common example in DNS strict mode:
.  DNS TLS dst{8.8.8.8} hostname{dns.google} src{192.168.43.2:48436} qtype{1} qname{815149-android-ds.metric.gstatic.com}: SUCCEEDED: 1/1 NOERROR (432ms)
F  DNS TLS dst{192.168.43.144} hostname{}: FAILED: java.net.ConnectException: failed to connect to /192.168.43.144 (port 853) from /192.168.43.2 (port 41770) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused) (172ms)
.  DNS TLS dst{8.8.4.4} hostname{dns.google} src{192.168.43.2:37598} qtype{1} qname{759312-android-ds.metric.gstatic.com}: SUCCEEDED: 1/1 NOERROR (427ms)

An example when the CA is not trusted:
F  DNS TLS dst{8.8.8.8} hostname{dns.google}: FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. (16ms)

An example when TCP/TLS handshake timeout:
F  DNS TLS dst{8.8.8.8} hostname{dns.google}: FAILED: java.net.SocketTimeoutException: failed to connect to /8.8.8.8 (port 853) from /192.168.2.108 (port 45680) after 2500ms (2514ms)

Bug: 132925257
Bug: 118369977
Test: atest FrameworksNetTests
Change-Id: I1b54abed0e931ca4b8a97149459cde54da1c3d6f
2020-06-20 16:22:35 +08:00
Aaron Huang
e2a6e9a49a Merge "Address comments from aosp/1298476" am: 6dc9a28b88
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1340040

Change-Id: I3c7c0ef738b6c6b964dc91c593cbf2b6166e3843
2020-06-18 10:34:10 +00:00
Aaron Huang
6dc9a28b88 Merge "Address comments from aosp/1298476" 2020-06-18 10:18:57 +00:00
Aaron Huang
50f06aca36 Address comments from aosp/1298476
This patch addresses the followings,
- Pass Looper to NetworkStatsSubscriptionsMonitor constructor
- Replace Looper with TestLooper in unit test
- Assert fail if result of condition check is not expected.

Bug: 154080205
Test: atest FrameworksNetTests:com.android.server.net.NetworkStatsServiceTest
      atest FrameworksNetTests:com.android.server.net.NetworkStatsSubscriptionsMonitorTest
Change-Id: Ibcaba2b38af80cc0ec9a4e428a3b3a1538bc4325
2020-06-18 15:05:19 +08:00
Aaron Huang
5410692469 Merge "Dynamically enable/disable watch for RAT type changes" am: 2ad5b1419e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1315574

Change-Id: Id5c4ad325779322bbf4881816235904a6d454583
2020-06-18 04:09:37 +00:00
Aaron Huang
2ad5b1419e Merge "Dynamically enable/disable watch for RAT type changes" 2020-06-18 03:51:51 +00:00
Treehugger Robot
a89e9a29a3 Merge "Treat RouteInfo with different interfaces as different routes" am: 6d4e2d5ec3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1331916

Change-Id: Ibe919ea7c2096094fdb48fc91881d9f19678ac50
2020-06-17 13:07:42 +00:00
Treehugger Robot
6d4e2d5ec3 Merge "Treat RouteInfo with different interfaces as different routes" 2020-06-17 12:51:08 +00:00
Rubin Xu
ad524dec0b Treat RouteInfo with different interfaces as different routes
On Android different interfaces usually use different routing tables.
As a result, a change in interface should not be treated as route
update, but rather a remove and an add.

This change fixes a bug in VPN seamless handover where routes
failed to be updated when a new tunnel interface replaces the existing
one within the same network.

Bug: 158696878
Test: atest com.android.cts.net.HostsideVpnTests
Test: atest NetworkStackTests
Test: atest CtsNetTestCases
Test: atest FrameworksNetTests
Change-Id: I57987233d42a0253eaee2e1ca5f28728c2354620
2020-06-17 12:01:41 +01:00
Aaron Huang
c078fae644 Merge "Add unit test for NetworkStatsSubscriptionsMonitor" am: 4a4540dee6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1298476

Change-Id: I1b191cd4706a7409794d382bda95ef6933b019a1
2020-06-17 09:09:13 +00:00
Aaron Huang
4a4540dee6 Merge "Add unit test for NetworkStatsSubscriptionsMonitor" 2020-06-17 08:52:20 +00:00
Aaron Huang
b412cf8212 Dynamically enable/disable watch for RAT type changes
Add ContentObserver to observe the status of
NETSTATS_COMBINE_SUBTYPE_ENABLED to determine that
NetworkStatsSubscriptionsMonitor start or stop
monitoring data usage per RAT type changes.

Bug: 154080515
Test: atest NetworkStatsServiceTest#testDynamicWatchForNetworkRatTypeChanges
Change-Id: I272d589633c9186b45753228b05aa0b40b7c7b89
2020-06-17 17:09:10 +09:00
Chiachang Wang
8825abb697 Merge "Test extra info sent to NetworkMonitor" am: cd192301a2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1331060

Change-Id: If48de0d3fe326d72170b13ec6a9477dfc8dc48ff
2020-06-16 00:52:01 +00:00
Chiachang Wang
cd192301a2 Merge "Test extra info sent to NetworkMonitor" 2020-06-16 00:38:58 +00:00
Benedict Wong
bc6da9922c Merge "Set correct owner UID for VPN agentConnect()" am: 08447ffcc0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1326493

Change-Id: I04609b41c9e878e1e3ca8f128d86290012d4ede7
2020-06-15 17:18:15 +00:00
Benedict Wong
08447ffcc0 Merge "Set correct owner UID for VPN agentConnect()" 2020-06-15 17:09:46 +00:00
Aaron Huang
791dfcb0f5 Add unit test for NetworkStatsSubscriptionsMonitor
Bug: 154080205
Test: atest FrameworksNetTests:com.android.server.net.NetworkStatsSubscriptionsMonitorTest
(copy from ag/11788484 but getActiveAndHiddenSubscriptionIdList() since it's renamed
in internal)
Change-Id: Ia162f36efe96d90b2f6f70190d9fa855bba34484
Merged-In: I4ef3f1ab2e5ea1322133edd80db3ccd0022e9c91
2020-06-15 07:05:19 +00:00
Chiachang Wang
0f6aeff137 Test extra info sent to NetworkMonitor
Test extra info sent to NetworkMonitor correctly if network
agent is created through new NetworkAgent constructor without
legacy network info taken as parameter.

Bug: 156173829
Test: atest FrameworkNetTests
Change-Id: I4f827664c528bea30cc957a0a617dd37693f4460
2020-06-12 18:13:00 +08:00
Chalard Jean
1baaf76e55 Merge "Document the limitation to a hundred callbacks." am: 665d54db52
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1313813

Change-Id: Id2f70609c46ec6252b7e734c1e5838016314400f
2020-06-11 12:46:15 +00:00