Commit Graph

6728 Commits

Author SHA1 Message Date
Lorenzo Colitti
260569a028 Merge "Make DNS cache lifecycle management explicit" am: 0ce35a9447 am: f8247f0911
am: e38c9c05d0

Change-Id: I388e208143c38b89bcbb0589de393250024d59aa
2019-04-25 18:06:28 -07: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
Lorenzo Colitti
1bd72d9a73 [automerger skipped] Merge changes from topic "niap-vpn" into qt-dev am: f3420c999f -s ours
am: 0def675765 -s ours
am skip reason: change_id Ic2faef44831575b2d03bc00ef2553d5c549adc95 with SHA1 f8905980dc is in history

Change-Id: I5ff169bc9e974665a034a0a46c853ee10cfb9d1b
2019-04-24 23:35:58 -07: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
b947991347 Merge "Update exception type thrown when NetworkStack is missing" am: 7f310e20e3 am: 5496b6be68
am: b7f02e19b0

Change-Id: Ic1766e839f8f06b539d5f6cfecd29547021fd1d9
2019-04-24 22:35:58 -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
468e73ae95 [automerger skipped] Merge "Backwards-incompatible resolv module API change for making setResolverConfiguration take a parcelable." into qt-dev am: cce8a9da85 -s ours
am: f93c79666f -s ours
am skip reason: change_id I6dc9029af0df0d3b391210bd315516bdf1b5e4c9 with SHA1 89ddc90b91 is in history

Change-Id: Id15d4dc0e60c8506cd9b7b7a4f91d0d5348dd896
2019-04-24 13:31:59 -07: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
4b9d936736 [automerger skipped] Backwards-incompatible resolv module API change for making setResolverConfiguration take a parcelable. am: cd616ebc95 -s ours
am: 1f71bd90d3 -s ours
am skip reason: change_id I6dc9029af0df0d3b391210bd315516bdf1b5e4c9 with SHA1 89ddc90b91 is in history

Change-Id: Ie9270d639d3faad1efd58fb8190365ca6a128882
2019-04-24 09:39:22 -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
Rubin Xu
8f5b53bb23 Merge "Reinstate new VPN uid filtering unit tests" am: 14ae90a4a6 am: c5f2f8e08d
am: f8905980dc

Change-Id: I327acdf20cb9bad61c9e4c193298edd0f2e69f2f
2019-04-24 03:15:38 -07:00
Rubin Xu
f8905980dc Merge "Reinstate new VPN uid filtering unit tests" am: 14ae90a4a6
am: c5f2f8e08d

Change-Id: Ic2faef44831575b2d03bc00ef2553d5c549adc95
2019-04-24 03:05:12 -07:00
Rubin Xu
c5f2f8e08d Merge "Reinstate new VPN uid filtering unit tests"
am: 14ae90a4a6

Change-Id: Ib76c2cf319377141a374b3bdcf5e6606aaf9c06b
2019-04-24 02:53:44 -07:00
Treehugger Robot
14ae90a4a6 Merge "Reinstate new VPN uid filtering unit tests" 2019-04-24 09:37:49 +00:00
Aaron Huang
c7902418a4 Merge "Move NattKeepalivePacketData out of the framework" am: d3ee38785b am: 382b3d2a63
am: 82184fd8ce

Change-Id: Ie1d02bb7bccb76415cf71824147466cabf6b88b6
2019-04-23 22:48:59 -07:00
Aaron Huang
82184fd8ce Merge "Move NattKeepalivePacketData out of the framework" am: d3ee38785b
am: 382b3d2a63

Change-Id: Idf7c25b6b553d8c0cc4ef2ea8193438480420fb4
2019-04-23 21:26:03 -07:00
Aaron Huang
382b3d2a63 Merge "Move NattKeepalivePacketData out of the framework"
am: d3ee38785b

Change-Id: I3c291d378ed3dc54199708fdc188a908ccb3ee08
2019-04-23 21:17:26 -07:00
Aaron Huang
d3ee38785b Merge "Move NattKeepalivePacketData out of the framework" 2019-04-24 04:00:56 +00:00
Paul Hu
a2d880cc34 Merge "Merge "Add tests for DhcpErrorEvent" am: 8aec50df25 am: 1fe65ae26c" into qt-dev-plus-aosp
am: 2a9ec5525d

Change-Id: I78d78dd421cc3ffea774ff5eaa6aa758debc9cf2
2019-04-23 11:00:58 -07:00
Lorenzo Colitti
96e0813e8f [automerger skipped] Merge "Freeze the networkstack-aidl-interfaces interface" into qt-dev am: c2f1cc8b8e -s ours
am: 7cfad41d70 -s ours
am skip reason: change_id Ideabe73fc93bbefca2d624ee9ca190cf31419424 with SHA1 683df1d39a is in history

Change-Id: I4407d6f86052f0a31615b387d98c1f0df770889a
2019-04-23 10:30:28 -07:00
Rubin Xu
3dc90033a9 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
Change-Id: Ib921700eda417f411d7a2c77c1140fba9ab50bbb
2019-04-23 18:04:14 +01:00
Paul Hu
5bc4f002b0 Merge "Add tests for DhcpErrorEvent" am: 8aec50df25
am: 1fe65ae26c

Change-Id: I9b65a2eef94567d2b79a9955619938e64906080d
2019-04-23 09:50:28 -07:00
Lorenzo Colitti
7cfad41d70 [automerger skipped] Merge "Freeze the networkstack-aidl-interfaces interface" into qt-dev
am: c2f1cc8b8e -s ours
am skip reason: change_id Ideabe73fc93bbefca2d624ee9ca190cf31419424 with SHA1 683df1d39a is in history

Change-Id: I39438b1a3204aa82550ac83117a96f7549d19e42
2019-04-23 09:37:54 -07:00
Paul Hu
1fe65ae26c Merge "Add tests for DhcpErrorEvent"
am: 8aec50df25

Change-Id: I7e6271e9becc974ea38d405914a87859ab700877
2019-04-23 09:12:25 -07:00
Paul Hu
8aec50df25 Merge "Add tests for DhcpErrorEvent" 2019-04-23 11:31:03 +00:00
Lorenzo Colitti
7266129a6c Freeze the networkstack-aidl-interfaces interface
This freezes the interface as of the latest beta build, not the tip of
tree. IIpClient#setL2KeyAndGroupHint is not in the frozen definition in
particular.

Generated with:
m networkstack-aidl-interfaces-freeze-api \
    ipmemorystore-aidl-interfaces-freeze-api

Test: flashed, booted, WiFi and captive portal working
Bug: 128803828
Change-Id: Ideabe73fc93bbefca2d624ee9ca190cf31419424
Merged-In: Ideabe73fc93bbefca2d624ee9ca190cf31419424
(cherry picked from commit 9b89cdaaf401a6b77e160807039c06e537fa600a)
2019-04-23 09:41:44 +00:00
Lorenzo Colitti
932ac91aac Merge "Freeze the networkstack-aidl-interfaces interface" am: fe7f6005c7 am: 93b816a98a
am: aa110c6209

Change-Id: Ide252f5f20da432e35cf85e46f503bcc3fa81260
2019-04-23 02:05:07 -07:00
Lorenzo Colitti
aa110c6209 Merge "Freeze the networkstack-aidl-interfaces interface" am: fe7f6005c7
am: 93b816a98a

Change-Id: I0bc827a6c7995eb7b50b4afeed11317ad8e29666
2019-04-23 01:55:01 -07:00
Lorenzo Colitti
93b816a98a Merge "Freeze the networkstack-aidl-interfaces interface"
am: fe7f6005c7

Change-Id: I32e335756927110e3200f002d32f9e1e8acfd779
2019-04-23 01:45:40 -07:00
Lorenzo Colitti
fe7f6005c7 Merge "Freeze the networkstack-aidl-interfaces interface" 2019-04-23 08:33:41 +00:00
Junyu Lai
1d107caa7a Merge "[KA11] Verify fd ownership and allocate resource for NattKeepalive" am: 91cc5cc467 am: a1ed113552
am: 7e2ba67527

Change-Id: I4ddfe4c8a54b4ad42926aad7e4e02319899b8d51
2019-04-23 01:30:08 -07:00
Junyu Lai
7e2ba67527 Merge "[KA11] Verify fd ownership and allocate resource for NattKeepalive" am: 91cc5cc467
am: a1ed113552

Change-Id: I410acc19ceb13e32c65cbdf3095da9db0802470c
2019-04-23 01:18:54 -07:00
Junyu Lai
a1ed113552 Merge "[KA11] Verify fd ownership and allocate resource for NattKeepalive"
am: 91cc5cc467

Change-Id: I2f5e0e11494866b054668c9224a8732cd8c035f9
2019-04-23 01:08:39 -07:00
Junyu Lai
91cc5cc467 Merge "[KA11] Verify fd ownership and allocate resource for NattKeepalive" 2019-04-23 07:48:08 +00:00
Chalard Jean
78bbc86481 [automerger skipped] Merge "Fix an argument to the legacy broadcast" into qt-dev am: d6222a41c4 -s ours
am: f9360a6b69 -s ours
am skip reason: change_id I0fc408d546ae9d72b7dd9415e502252b484d4329 with SHA1 ac1bcee0b8 is in history

Change-Id: I39ee787e815baef40e84b4e9a09216c1dfcafe99
2019-04-23 00:47:13 -07:00
Chalard Jean
f9360a6b69 [automerger skipped] Merge "Fix an argument to the legacy broadcast" into qt-dev
am: d6222a41c4 -s ours
am skip reason: change_id I0fc408d546ae9d72b7dd9415e502252b484d4329 with SHA1 ac1bcee0b8 is in history

Change-Id: I5ebe636715e8cf1ea5e42d12236c1f5fa07c38d0
2019-04-23 00:27:22 -07:00
Chalard Jean
d6222a41c4 Merge "Fix an argument to the legacy broadcast" into qt-dev 2019-04-23 07:04:26 +00:00
Remi NGUYEN VAN
683df1d39a Freeze the networkstack-aidl-interfaces interface
This freezes the interface as of the latest beta build, not the tip of
tree. IIpClient#setL2KeyAndGroupHint is not in the frozen definition in
particular.

Generated with:
m networkstack-aidl-interfaces-freeze-api \
    ipmemorystore-aidl-interfaces-freeze-api

Test: flashed, booted, WiFi and captive portal working
Bug: 128803828
Change-Id: Ideabe73fc93bbefca2d624ee9ca190cf31419424
2019-04-23 06:49:58 +00:00
junyulai
2bb85a0bc0 [KA11] Verify fd ownership and allocate resource for NattKeepalive
Since socket keepalive APIs for UDP encapsulation sockets are
public to generic app. In order to ensure the given fd is valid,
this change verifies the resource id inside the UDP
encapsulation socket by using methods provided by IpSecService.

Bug: 125517194
Fix: 123968920
Test: 1. atest FrameworksNetTests --generate-new-metrics 10
      2. atestcom.android.server.ConnectivityServiceTest \
         #testNattSocketKeepalives --generate-new-metrics 100
Change-Id: I408aacc19b364683854d15a095c34e72389a6e5b
2019-04-23 10:47:19 +08:00
Chalard Jean
e6a296dca5 Fix an argument to the legacy broadcast
Test: new test for this
Fixes: 62650382
Change-Id: I918b8271d3c3c058553ca888cb54cd36a6efba66
Merged-In: I0fc408d546ae9d72b7dd9415e502252b484d4329
Merged-In: I9282930106d1eee3274d9e5c4e89de60e929a0e6
2019-04-23 02:36:32 +00:00