Commit Graph

6902 Commits

Author SHA1 Message Date
Paul Hu
e6a0ed54d3 Merge "Add CTS API coverage for APIs which are used by NetworkStack" am: ebf3945e1a
am: 1e6c28a167

Change-Id: Id3f0d1c19a76c7987b69e449203fc50423f5e531
2019-05-01 21:52:29 -07:00
Paul Hu
1e6c28a167 Merge "Add CTS API coverage for APIs which are used by NetworkStack"
am: ebf3945e1a

Change-Id: I33b58b69e906e5b90dfc7f0b512c81edd51b1684
2019-05-01 21:12:55 -07:00
Luke Huang
fbd8ecfe17 Correct buffer size limitation for DnsResolver API
Bug: 131055651
Test: atest DnsResolverTest
Change-Id: I29decd480172eacb452ccb0da524ef1bf2ffadcf
2019-05-02 11:48:54 +08:00
Paul Hu
ebf3945e1a Merge "Add CTS API coverage for APIs which are used by NetworkStack" 2019-05-02 01:37:26 +00:00
Paul Hu
9dd55cd964 [automerger skipped] Merge "Add tests for DhcpErrorEvent" into qt-dev
am: 44bb6d00a7 -s ours
am skip reason: change_id I9b65a2eef94567d2b79a9955619938e64906080d with SHA1 5bc4f002b0 is in history

Change-Id: I05a3e1b581d287022f9843a07f2ba76609fd663c
2019-04-30 18:39:18 -07:00
Paul Hu
9d87fc0022 [automerger skipped] Merge "Add Network, NetworkCapabilities, StaticIpConfiguration common test cases" into qt-dev
am: b418a13a90 -s ours
am skip reason: change_id I49c35541eb21e91f8c36215456df703d2fe70d2c with SHA1 cf54864ccc is in history

Change-Id: Id22f11ec1e377c801ea5b7dd9692c6243907fa9e
2019-04-30 18:35:32 -07:00
Mark Chien
f0824b2b36 [automerger skipped] Merge "Support adding NATT keepalive packet filter" into qt-dev
am: 78bc2fb752 -s ours
am skip reason: change_id Idaa7238a5c9acdae9f6cff13095ee9436c7c92c8 with SHA1 621463a0c0 is in history

Change-Id: I0db6221a54e4aba83fc792561e48c9d448163239
2019-04-30 18:32:05 -07:00
Aaron Huang
a1a4c9d587 [automerger skipped] Merge changes from topic "natt-aidl+aidl-freeze" into qt-dev
am: 65caa406e7 -s ours
am skip reason: change_id I9b9a51dc5dc06c90229fb36c34c24258991c4146 with SHA1 47c7eec480 is in history

Change-Id: Ie1cdb9a928f97681ab4083b68db3fd453b0399e5
2019-04-30 11:24:17 -07:00
Paul Hu
135cfd86f0 [automerger skipped] Merge "Move more network unit tests to common tests" into qt-dev
am: 511a7bf235 -s ours
am skip reason: change_id I9f708a252ab606b782f5f828dce8c1690c3703bf with SHA1 9dc3a9e437 is in history

Change-Id: Ia333cf3cbe2368146ac701bb83e52e131291503c
2019-04-30 09:41:40 -07:00
Lorenzo Colitti
5233025e25 Merge "Make DNS cache lifecycle management explicit" into qt-dev
am: 54429c1b80

Change-Id: I6908953327577c7e79e4bbc8459ca8937b6b5425
2019-04-30 06:55:14 -07:00
TreeHugger Robot
44bb6d00a7 Merge "Add tests for DhcpErrorEvent" into qt-dev 2019-04-30 11:57:59 +00:00
TreeHugger Robot
b418a13a90 Merge "Add Network, NetworkCapabilities, StaticIpConfiguration common test cases" into qt-dev 2019-04-30 11:55:29 +00:00
paulhu
e878a6c64f Add CTS API coverage for APIs which are used by NetworkStack
Change-Id: I4f6c34f3bcfa65e60cf73fc1b7cab2d83c32836a
Bug: 129200003
Bug: 129200292
Bug: 129199996
Bug: 129200261
Bug: 129200513
Bug: 129200316
Bug: 129200589
Bug: 129200181
Bug: 129200669
Bug: 129200504
Bug: 129200478
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases: added tests pass
2019-04-30 17:26:24 +08:00
Mark Chien
5de4520591 Support adding NATT keepalive packet filter
Support adding NATT keepalive packet filter to APF
filter.
Generating APF program will be addressed in another CL.

Bug: 33530442
Test: - atest NetworkStackTests
      - atest FrameworksNetTests

Change-Id: I403cd14ac9aa6b001c4e580abbb33a615931a192
Merged-In: Idaa7238a5c9acdae9f6cff13095ee9436c7c92c8
(cherry picked from commit 038c11d564452c9e08f25119423049339ff93c57)
2019-04-30 11:26:26 +08:00
Paul Hu
193f1686ca Add Network, NetworkCapabilities, StaticIpConfiguration common test cases
Bug: 129200415
Bug: 129200142
Bug: 129200418
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases: added tests pass

Change-Id: I688e200a83301ee62710445fa38292c33985fe1b
Merged-In: I49c35541eb21e91f8c36215456df703d2fe70d2c
Merged-In: I688e200a83301ee62710445fa38292c33985fe1b
(cherry picked from commit 847dc65677b858146b505d4879a44ddd319180e2)
2019-04-30 02:01:32 +00:00
Chiachang Wang
d3bc3e58d3 [automerger skipped] Merge "Update exception type thrown when NetworkStack is missing" into qt-dev
am: 533f3bcdba -s ours
am skip reason: change_id I67005a5384888e8acaf1249af79484e2d5ed6f1f with SHA1 b7f02e19b0 is in history

Change-Id: I0a8d0cb21631db7909daef449dbf14b810a3b9f5
2019-04-29 11:23:12 -07:00
Mark Chien
621463a0c0 Merge "Support adding NATT keepalive packet filter" am: 7a571f5be4
am: 04bd7b864c

Change-Id: Idaa7238a5c9acdae9f6cff13095ee9436c7c92c8
2019-04-29 09:34:37 -07:00
TreeHugger Robot
65caa406e7 Merge changes from topic "natt-aidl+aidl-freeze" into qt-dev
* changes:
  Add AIDL parcelable for NattKeepalivePacketData
  Move NattKeepalivePacketData out of the framework
2019-04-29 16:26:23 +00:00
Mark Chien
04bd7b864c Merge "Support adding NATT keepalive packet filter"
am: 7a571f5be4

Change-Id: I9618b519f4bd4d5f1edbcede3a3bd727110c2a7e
2019-04-29 09:17:46 -07:00
Paul Hu
cf54864ccc Merge "Add Network, NetworkCapabilities, StaticIpConfiguration common test cases" am: c049c59368
am: a88e73d3ae

Change-Id: I49c35541eb21e91f8c36215456df703d2fe70d2c
2019-04-29 09:11:25 -07:00
Mark Chien
7a571f5be4 Merge "Support adding NATT keepalive packet filter" 2019-04-29 15:59:16 +00:00
Paul Hu
a88e73d3ae Merge "Add Network, NetworkCapabilities, StaticIpConfiguration common test cases"
am: c049c59368

Change-Id: Id469ce450ac84d967ee19ecad44dae6905187a59
2019-04-29 08:50:18 -07:00
Paul Hu
c049c59368 Merge "Add Network, NetworkCapabilities, StaticIpConfiguration common test cases" 2019-04-29 15:38:48 +00:00
Aaron Huang
311bac9b68 Add AIDL parcelable for NattKeepalivePacketData
Bug: 33530442
Test: atest FrameworksNetTests

Change-Id: I9b9a51dc5dc06c90229fb36c34c24258991c4146
Merged-In: I9b9a51dc5dc06c90229fb36c34c24258991c4146
(cherry picked from commit 76985bd9a5577fb905e45b20513661ee10c1f44f)
2019-04-29 20:24:42 +08:00
Aaron Huang
8cf997d1c1 Move NattKeepalivePacketData out of the framework
For implementing parcelable interface for NattKeepalivePacketData.
Move this class out of framework.jar and move to services.jar

This class is used in telephony-common.jar and it also loads
service.jar.

Bug: 33530442
Test: - build pass
      - atest NetworkStackTests
      - atest ConnectivityServiceTest

Change-Id: Ie1d02bb7bccb76415cf71824147466cabf6b88b6
Merged-In: Ie1d02bb7bccb76415cf71824147466cabf6b88b6
Merged-In: Idf7c25b6b553d8c0cc4ef2ea8193438480420fb4
(cherry picked from commit 58a1f931eba8716c4a630863f658b070cda623de)
2019-04-29 20:24:24 +08:00
Aaron Huang
df1edb385c Support adding NATT keepalive packet filter
Support adding NATT keepalive packet filter to APF
filter.
Generating APF program will be addressed in another CL.

Bug: 33530442
Test: - atest NetworkStackTests
      - atest FrameworksNetTests

Change-Id: I4961d5da343d8700600269632787c28112f0f9f1
2019-04-29 19:33:45 +08:00
Mark Chien
dfdbc304a4 Merge "Add AIDL parcelable for NattKeepalivePacketData" am: 781e7d163f
am: 0718febadc

Change-Id: Iae8d866230dfd8aa2de1b69891d8494812886aac
2019-04-29 04:00:13 -07:00
Mark Chien
0718febadc Merge "Add AIDL parcelable for NattKeepalivePacketData"
am: 781e7d163f

Change-Id: Idd5ff9d4d52064dbfe5df1e4677c41bcccd9c09a
2019-04-29 03:49:03 -07:00
Mark Chien
781e7d163f Merge "Add AIDL parcelable for NattKeepalivePacketData" 2019-04-29 10:26:35 +00:00
paulhu
89d49e7bd4 Add Network, NetworkCapabilities, StaticIpConfiguration common test cases
Bug: 129200415
Bug: 129200142
Bug: 129200418
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases: added tests pass
Change-Id: I568d516e1ffc9e32061ca6860224c102bdfd7445
2019-04-29 18:13:00 +08:00
Paul Hu
5e05934c54 Add tests for DhcpErrorEvent
The tests are run both in unit and CTS tests.
Test: atest FrameworksNetTests NetworkStackTestCases
Bug: 129200175

Change-Id: I78d78dd421cc3ffea774ff5eaa6aa758debc9cf2
Merged-In: I9b65a2eef94567d2b79a9955619938e64906080d
Merged-In: I78d78dd421cc3ffea774ff5eaa6aa758debc9cf2
(cherry picked from commit 9e046d509a37c6f37b4757f1681846cee60cfd5c)
2019-04-29 01:49:17 +00:00
Paul Hu
511a7bf235 Merge "Move more network unit tests to common tests" into qt-dev 2019-04-29 01:36:42 +00:00
Lorenzo Colitti
d44040df36 Make DNS cache lifecycle management explicit
1. ConnectivityService calls netd binder to create/destroy network directly.
2. Call dnsresolver binder to create/destroy cache after create/destroy network.
3. Remove unused network create/destroy methods in NetworkManagementService.

Bug: 129453995
Test: atest FrameworksNetTests

Merged-In: I388e208143c38b89bcbb0589de393250024d59aa
(cherry picked from commit 204ca13e63f063f044ac4ad3b96f08b473fe59df)

Change-Id: I4d3dfd9305b60a724aa2dc38448948d8e710c932
2019-04-26 02:13:59 +00:00
Lorenzo Colitti
e38c9c05d0 Merge "Make DNS cache lifecycle management explicit" am: 0ce35a9447
am: f8247f0911

Change-Id: I51cf1b7cfd49d4731d922578e8512a1326ebec63
2019-04-25 17:50:05 -07:00
Lorenzo Colitti
f8247f0911 Merge "Make DNS cache lifecycle management explicit"
am: 0ce35a9447

Change-Id: Ie97fe453c89476915f3b362b6486c7d4608da2a9
2019-04-25 17:38:23 -07:00
Lorenzo Colitti
0ce35a9447 Merge "Make DNS cache lifecycle management explicit" 2019-04-26 00:23:22 +00:00
Paul Hu
9ede7e9399 Move more network unit tests to common tests
This adds the moved tests to CTS as well.
The moved unit tests are appropriate for CTS as they test data holder
classes that need to function properly for apps to work.

Test: atest FrameworksNetTests
Test: atest CtsNetTestCases: added tests pass
Bug: 129199900

Change-Id: I895d2b57da658d5bed28ebe128611d5d15835742
Merged-In: I9f708a252ab606b782f5f828dce8c1690c3703bf
Merged-In: I895d2b57da658d5bed28ebe128611d5d15835742
(cherry picked from commit cc21fbd483138771dae04f4d86ab411e2e88e575)
2019-04-25 23:16:13 +08:00
Chiachang Wang
72d5c3fc4e Update exception type thrown when NetworkStack is missing
rethrowFromSystemServer is throwing DeadSystemException which
is different from the original log message. Thus, update the
way to rethrow the same RemoteException.

Bug: 130028724
Test: atest FrameworksNetTest
Test: Kill NetworkStack and check the log message
Change-Id: I60862e276dd4e2d143278b272a9ba54219acce26
Merged-In: Ic1766e839f8f06b539d5f6cfecd29547021fd1d9
Merged-In: I67005a5384888e8acaf1249af79484e2d5ed6f1f
(cherry picked from commit 7f581219e1a4706ea2b4438322a299986847b1c2)
2019-04-25 07:05:48 +00:00
Lorenzo Colitti
0def675765 [automerger skipped] Merge changes from topic "niap-vpn" into qt-dev
am: f3420c999f -s ours
am skip reason: change_id Ic2faef44831575b2d03bc00ef2553d5c549adc95 with SHA1 f8905980dc is in history

Change-Id: I4775263c2f422a9738812b02be61e2af95e9c472
2019-04-24 23:02:31 -07:00
Chiachang Wang
b7f02e19b0 Merge "Update exception type thrown when NetworkStack is missing" am: 7f310e20e3
am: 5496b6be68

Change-Id: I67005a5384888e8acaf1249af79484e2d5ed6f1f
2019-04-24 21:31:21 -07:00
Lorenzo Colitti
f3420c999f Merge changes from topic "niap-vpn" into qt-dev
* changes:
  Reinstate new VPN uid filtering unit tests
  Revert new tests and PackageManager mock
  Block incoming non-VPN packets to apps under fully-routed VPN
2019-04-25 04:23:01 +00:00
Chiachang Wang
5496b6be68 Merge "Update exception type thrown when NetworkStack is missing"
am: 7f310e20e3

Change-Id: Icbf7db83d73a1912573e71c71f694f2d37d788af
2019-04-24 21:19:45 -07:00
Chiachang Wang
7f310e20e3 Merge "Update exception type thrown when NetworkStack is missing" 2019-04-25 03:48:52 +00:00
Wayne Ma
f93c79666f [automerger skipped] Merge "Backwards-incompatible resolv module API change for making setResolverConfiguration take a parcelable." into qt-dev
am: cce8a9da85 -s ours
am skip reason: change_id I6dc9029af0df0d3b391210bd315516bdf1b5e4c9 with SHA1 89ddc90b91 is in history

Change-Id: Ie9bfef68a5c78272d4c7b31e9427ba2f5c57d056
2019-04-24 13:14:17 -07:00
Wayne Ma
1f71bd90d3 [automerger skipped] Backwards-incompatible resolv module API change for making setResolverConfiguration take a parcelable.
am: cd616ebc95 -s ours
am skip reason: change_id I6dc9029af0df0d3b391210bd315516bdf1b5e4c9 with SHA1 89ddc90b91 is in history

Change-Id: Ic26258dd1ef7a0f3c7c802d764f83a272c3d519f
2019-04-24 09:21:29 -07:00
Rubin Xu
0ac2d0bd62 Reinstate new VPN uid filtering unit tests
Mock out PackageManager and returns correct information corresponding
to the test app package itself.

Test: atest --generate-new-metrics 10 com.android.server.ConnectivityServiceTest
Bug: 114231106
Bug: 130397860

Merged-In: Ic2faef44831575b2d03bc00ef2553d5c549adc95
Change-Id: Ic2faef44831575b2d03bc00ef2553d5c549adc95
(cherry picked from commit 4469b1d8a543613d91a58a88488fd2022a0696b9)
2019-04-24 14:10:21 +00:00
Chiachang Wang
8c778c9115 Update exception type thrown when NetworkStack is missing
rethrowFromSystemServer is throwing DeadSystemException which
is different from the original log message. Thus, update the
way to rethrow the same RemoteException.

Bug: 130028724
Test: atest FrameworksNetTest
Test: Kill NetworkStack and check the log message
Change-Id: I60862e276dd4e2d143278b272a9ba54219acce26
2019-04-24 13:59:50 +00:00
Wayne Ma
cce8a9da85 Merge "Backwards-incompatible resolv module API change for making setResolverConfiguration take a parcelable." into qt-dev 2019-04-24 13:05:59 +00:00
Lorenzo Colitti
a484cc95d6 Revert new tests and PackageManager mock
A mocked PackageManager caused test failures in existing tests.
Revert that for now to make tests pass again.

Bug: 114231106
Bug: 130397860
Test: atest FrameworksNetTests

Merged-In: Ib59e211d4329f885108de9ea0a74669ffb144e17
(cherry picked from commit 8574c9bf350ca60e2b21c759aa75bc3843ffde17)

Change-Id: I603a0b0dfb67a942679a668c182aa650774c80b2
2019-04-24 13:55:48 +01:00
Rubin Xu
dc587d75e1 Block incoming non-VPN packets to apps under fully-routed VPN
When a fully-routed VPN is running, we want to prevent normal apps
under the VPN from receiving packets originating from any local non-VPN
interfaces. This is achieved by using eBPF to create a per-UID input
interface whitelist and populate the whitelist such that all
non-bypassable apps under a VPN can only receive packets from the VPN's
TUN interface (and loopback implicitly)

This is the framework part of the change that build the whitelist.
The whitelist needs to be updated in the following cases:
* When a VPN is connected and disconnected
    This will cover the change to allowBypass bit, since that can't be
    changed without reconnecting.
* When a VPN's NetworkCapabilites is changed (whitelist/blacklist app changes)
* When a new app is installed
* When an existing app is removed
* When a VPN becomes fully-routed or is no longer fully-routed

New user/profile creation will automatically result in a whitelist app change
transition so it doesn't need to be handled specially here.

Due to the limitation of the kernel IPSec interacting with eBPF (sk_buf->ifindex
does not point to the virtual tunnel interface for kernel IPSec), the whitelist
will only apply to app VPNs but not legacy VPN connections, to prevent breaking
connectivity with kernel IPSec entirely.

Test: atest PermissionMonitorTest
Test: atest android.net.RouteInfoTest
Test: atest com.android.server.ConnectivityServiceTest
Test: atest HostsideVpnTests
Bug: 114231106

Merged-In: I5af81bc80dadd086261ba4b1eb706cc873bb7cfa
Change-Id: I5af81bc80dadd086261ba4b1eb706cc873bb7cfa
(cherry picked from commit 65968ea16bf49f678d4a43c220e1d67393170459)
2019-04-24 11:56:46 +01:00