Commit Graph

10380 Commits

Author SHA1 Message Date
Luke Huang
e707bbc8f2 [automerger skipped] Merge "Disable sockets and DNS if process lacks INTERNET permission." am: 9f5ade331a am: f1d39bbada -s ours
am skip reason: Change-Id If002280fbad493dfc2db3d9d505c0257d49a9056 with SHA-1 5a42a4132f is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1348586

Change-Id: Ib9649cba9bd46a0dc9de42dc89775cc19fff8e57
2020-06-24 19:11:48 +00:00
Luke Huang
d49b94564e [automerger skipped] Merge "Move DnsPacket to libs net" am: d295f3e4f4 am: 353e8ef81c -s ours
am skip reason: Change-Id I8841d91456952ded5efbf8ea221289aecc7746ad with SHA-1 51221efa45 is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1348582

Change-Id: I4bddd1c6f072845f1a62812995a3b4cb4299ccaa
2020-06-24 19:11:24 +00:00
Luke Huang
f1d39bbada Merge "Disable sockets and DNS if process lacks INTERNET permission." am: 9f5ade331a
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
353e8ef81c 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
9f5ade331a Merge "Disable sockets and DNS if process lacks INTERNET permission." 2020-06-24 18:42:08 +00:00
Orion Hodson
1c962a802f 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 329c612e3d5ae440bf13e1f5fc9a4012263524e9)
2020-06-24 14:13:49 +01:00
Orion Hodson
c206662f5b 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 329c612e3d5ae440bf13e1f5fc9a4012263524e9)
2020-06-24 12:46:47 +00:00
Luke Huang
caaee1d0ec 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
ff0dc5cf49 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
aa4620914e [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
c6d90c27a8 [automerger skipped] Merge "Make PendingIntent immutable and correct Settings package name" am: f1140d1a9c am: 64e73a539e -s ours am: d43b76f446 -s ours
am skip reason: Change-Id I02e3277358623400aa03dc8996af3d7c46a8ce76 with SHA-1 f2db66615d is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1325698

Change-Id: I50d2cd385165c00e3b21db4b489d4c3a776d16db
2020-06-23 04:27:56 +00:00
Paul Hu
d43b76f446 [automerger skipped] Merge "Make PendingIntent immutable and correct Settings package name" am: f1140d1a9c am: 64e73a539e -s ours
am skip reason: Change-Id I02e3277358623400aa03dc8996af3d7c46a8ce76 with SHA-1 f2db66615d is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1325698

Change-Id: Ib4f8628ead3b0a39a0d1009cb2fd4c0ef5ea246a
2020-06-23 04:26:59 +00:00
Paul Hu
64e73a539e Merge "Make PendingIntent immutable and correct Settings package name" am: f1140d1a9c
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
f1140d1a9c Merge "Make PendingIntent immutable and correct Settings package name" 2020-06-23 03:55:22 +00:00
paulhu
7746e4ea2d 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
d6d7a378c1 [automerger skipped] Merge "Update DnsManagerTest for AIDL interface change" am: 1ce8850c27 am: b3132b400e -s ours am: ac1eefd5fb -s ours
am skip reason: Change-Id Ic53f42b968626294c851dac252a70769846ba427 with SHA-1 8fb860bfe1 is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1345375

Change-Id: Idcf69400cac750cd32c7f237219f30c3e7d528d7
2020-06-22 17:04:59 +00:00
Treehugger Robot
ac1eefd5fb [automerger skipped] Merge "Update DnsManagerTest for AIDL interface change" am: 1ce8850c27 am: b3132b400e -s ours
am skip reason: Change-Id Ic53f42b968626294c851dac252a70769846ba427 with SHA-1 8fb860bfe1 is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1345375

Change-Id: I89da68283cb71ce1ee25734d481fa24f966f2042
2020-06-22 16:47:23 +00:00
Treehugger Robot
b3132b400e Merge "Update DnsManagerTest for AIDL interface change" am: 1ce8850c27
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
1ce8850c27 Merge "Update DnsManagerTest for AIDL interface change" 2020-06-22 15:31:54 +00:00
TreeHugger Robot
a0c3f1ebe0 Merge "Update DnsManagerTest for AIDL interface change" into rvc-dev am: 6ef23fb8f3 am: bfad35f93d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11954238

Change-Id: I51cac9db3810fe5d799cd83449268ae0fee07ca2
2020-06-22 15:30:31 +00:00
TreeHugger Robot
e742057310 Merge "Update DnsManagerTest for AIDL interface change" into rvc-dev am: 6ef23fb8f3 am: 844bba26ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11954238

Change-Id: Ic78fb4953e71ea754cba33348cdae0a0d62e75d8
2020-06-22 15:19:36 +00:00
TreeHugger Robot
bfad35f93d Merge "Update DnsManagerTest for AIDL interface change" into rvc-dev am: 6ef23fb8f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11954238

Change-Id: I42c1a772b91c72c420a73e83d41f6f7769a1f972
2020-06-22 15:18:54 +00:00
TreeHugger Robot
844bba26ba Merge "Update DnsManagerTest for AIDL interface change" into rvc-dev am: 6ef23fb8f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11954238

Change-Id: I1327794e6b8201d3c47c39838cfa516812cf273d
2020-06-22 15:18:45 +00:00
Ken Chen
fc7dd4c35e 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
TreeHugger Robot
6ef23fb8f3 Merge "Update DnsManagerTest for AIDL interface change" into rvc-dev 2020-06-22 15:09:54 +00:00
TreeHugger Robot
329c62df90 [automerger skipped] Merge "Support DNS-over-TLS probes in NetworkDiagnostics" into rvc-dev am: 56e7d278a8 -s ours am: e64ed5a70e -s ours
am skip reason: Change-Id I1b54abed0e931ca4b8a97149459cde54da1c3d6f with SHA-1 b6b7e0c2be is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11940428

Change-Id: Ifed6a7754342dd88b38832fb188876a77a733af1
2020-06-22 14:41:25 +00:00
TreeHugger Robot
73b0a1639b [automerger skipped] Merge "Support DNS-over-TLS probes in NetworkDiagnostics" into rvc-dev am: 56e7d278a8 am: e6f13e706f -s ours
am skip reason: Change-Id I1b54abed0e931ca4b8a97149459cde54da1c3d6f with SHA-1 6cad4b10db is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11940428

Change-Id: I8c007e82bb1f6c53c98678f2c3667dc615fdb6ac
2020-06-22 14:41:14 +00:00
TreeHugger Robot
e64ed5a70e [automerger skipped] Merge "Support DNS-over-TLS probes in NetworkDiagnostics" into rvc-dev am: 56e7d278a8 -s ours
am skip reason: Change-Id I1b54abed0e931ca4b8a97149459cde54da1c3d6f with SHA-1 6cad4b10db is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11940428

Change-Id: I8c9e94f26b3fd0d72e718fc39d5047604b741868
2020-06-22 14:28:08 +00:00
TreeHugger Robot
e6f13e706f Merge "Support DNS-over-TLS probes in NetworkDiagnostics" into rvc-dev am: 56e7d278a8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11940428

Change-Id: Icb40fc91833cdcfb3c79303e4f08cabd60343242
2020-06-22 14:27:54 +00:00
TreeHugger Robot
56e7d278a8 Merge "Support DNS-over-TLS probes in NetworkDiagnostics" into rvc-dev 2020-06-22 14:15:40 +00:00
Ken Chen
8fb860bfe1 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
2020-06-22 21:44:07 +08:00
Automerger Merge Worker
f07db5fc0f Merge "Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev am: 1b7f9ca7d0 am: 643fbc8e47" into rvc-d1-dev-plus-aosp 2020-06-22 09:31:03 +00:00
Lorenzo Colitti
762d8411e3 Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev am: 1b7f9ca7d0 am: a5b40ffb4d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11881938

Change-Id: If732f439bea2786cd681fd2716f981e9f11175b4
2020-06-22 09:30:53 +00:00
Lorenzo Colitti
eaa4bb0152 Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev am: 1b7f9ca7d0 am: 643fbc8e47
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11881938

Change-Id: I81f54b3251ded57e4c03693e405bf1916a3fdf34
2020-06-22 09:30:49 +00:00
Lorenzo Colitti
a5b40ffb4d Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev am: 1b7f9ca7d0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11881938

Change-Id: I0ce82679bf81e3c58fed12943b7c9ca9d449fb7f
2020-06-22 09:14:15 +00:00
Lorenzo Colitti
643fbc8e47 Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev am: 1b7f9ca7d0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11881938

Change-Id: Ibdf37115a43d5ebbc4e34b5668351916ee5671d1
2020-06-22 09:13:55 +00:00
Lorenzo Colitti
1b7f9ca7d0 Merge "Make PendingIntent immutable and correct Settings package name" into rvc-dev 2020-06-22 09:00:25 +00:00
Mike Yu
b6b7e0c2be 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
Original-Change: https://android-review.googlesource.com/1011670
Merged-In: I1b54abed0e931ca4b8a97149459cde54da1c3d6f
Change-Id: I1b54abed0e931ca4b8a97149459cde54da1c3d6f
2020-06-22 08:57:49 +00:00
paulhu
f2db66615d 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
2020-06-22 15:32:01 +08:00
Mike Yu
015474f4a8 Merge "Support DNS-over-TLS probes in NetworkDiagnostics" am: 64ffa1762f am: 4e04c11379 am: 3efb6bd1ec
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1011670

Change-Id: Ib9a029adad8e0a64cc57b95a902d5dad04cb489a
2020-06-22 07:12:01 +00:00
Mike Yu
3efb6bd1ec Merge "Support DNS-over-TLS probes in NetworkDiagnostics" am: 64ffa1762f am: 4e04c11379
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1011670

Change-Id: I25a06623d87e6971a9dac73bdea82a78fd6124d6
2020-06-22 06:56:39 +00:00
Mike Yu
4e04c11379 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
6cad4b10db 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
Remi NGUYEN VAN
778ae844e9 Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev am: 6e5b6b612d am: 2b7046ac9b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11846903

Change-Id: I2ec211557839533327cc747857a09bd323654ad6
2020-06-19 01:22:47 +00:00
Remi NGUYEN VAN
2800777272 Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev am: 6e5b6b612d am: 7007e35032
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11846903

Change-Id: I17459fc7a4239b10b6b55412d126557719e1bd98
2020-06-19 01:22:28 +00:00
Remi NGUYEN VAN
7007e35032 Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev am: 6e5b6b612d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11846903

Change-Id: Icd141a992c46290c74929785e261a1cd57bc001b
2020-06-19 01:08:48 +00:00
Remi NGUYEN VAN
2b7046ac9b Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev am: 6e5b6b612d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11846903

Change-Id: Ia5028f7dfeadbcf928efb9862b481c82e2849e18
2020-06-19 01:08:47 +00:00
Remi NGUYEN VAN
6e5b6b612d Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev 2020-06-19 00:49:29 +00:00
Lorenzo Colitti
d7e96fe5ae Merge "Move DnsPacket to libs net" into rvc-dev am: 81f0fe48d2 am: 5409cf46b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11862407

Change-Id: I3f1edfe442f3408a19c9a901fb35bde8ef22950b
2020-06-18 15:02:30 +00:00
Lorenzo Colitti
5409cf46b5 Merge "Move DnsPacket to libs net" into rvc-dev am: 81f0fe48d2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11862407

Change-Id: I74cac5c415d8b3447b57cda7cba1caa215e84ea2
2020-06-18 14:58:19 +00:00