Commit graph android_packages_modules_Co.../tests/net/java/com/android/server
Message SHA1
Merge "Fix a bug where VPNs start out suspended on cellular" am: bd3a7f994d am: e428a22b07
Change-Id: I368308ded731b221be7fae6ddf1723c587ae4d20

Chalard Jean   authored and   Automerger Merge Worker   commited 2020-05-11 04:59:35 +00:00
9b010a98db
Fix a bug where VPNs start out suspended on cellular
As NetworkAgent is in a transition where all agents need
to include the NOT_SUSPENDED capability as part of their
migration to the system API, ConnectivityService adds it
forcefully to all agents that don't have the CELLULAR
transport. This doesn't include VPNs when VPNs have some
cellular network as their underlying network.

The best way to solve this is to make sure the VPN
capabilities reflect those of the underlying networks as
far as the NOT_SUSPENDED capability is concerned. This
is how they work for other similar capabilities.

This also happens to contain a drive-by fix for an issue
with a spurious capabilities callback is triggered when
a VPN connects and it has any underlying network (which
means almost always, because it will take the default
network if it doesn't declare any). Fixing this was
necessary to have a cogent test of this issue, but it
could be moved to another patch or it could stay unfixed
with some minor ajustment to the tests if judged too
dangerous to include in R at this point.

Test: New tests in this patch. Also manually tested with
      tcpdump as described in b/150570873.
Bug: 150570873
Change-Id: I3e4ff990c0d4825b21c7679be29a482a2d1324ec

Chalard Jean   commited 2020-05-11 10:44:50 +09:00
fbd6a2c012
Merge "Fix a bug where a spurious capabilities callback is sent." am: 0d4995dcb7 am: 4726fe863c
Change-Id: Ied089ed5ca553b206bdb3f7195f9e623aaabfa00

Chalard Jean   authored and   Automerger Merge Worker   commited 2020-05-08 01:33:13 +00:00
5cc55c46d0
Merge "Fix a bug where a spurious capabilities callback is sent."
Chalard Jean   authored and   Gerrit Code Review   commited 2020-05-08 00:49:33 +00:00
0d4995dcb7
Fix a bug where a spurious capabilities callback is sent.
When a VPN connects and it has any underlying network (which
means almost always, because it will take the default network
if it doesn't declare any), it has default capabilities and
will only take the capabilities of its underlying network
as part of an update happening after making the network
available but before the rematch can take place. This in turn
causes the capabilities callback sent as part of the rematch
to be spuriously sent.

Test: FrameworksNetTests. Also tested together with a
      followup that adds tests with drive-by coverage for this.
Bug: 150570873
Change-Id: Id7d8bba486bada1a7ba5b0f152d2aa02e407f249

Chalard Jean   commited 2020-05-07 12:07:03 +09:00
d568791283
[SM10] Adopt helper class to monitor RAT type change per sub
Test: atest NetworkStatsServiceTest
Bug: 146415925
Change-Id: I45c3aa9046b316c8cd0943543d620a22e4afefd1
Merged-In: I45c3aa9046b316c8cd0943543d620a22e4afefd1
(cherry picked from commit 219faff07bdc58c14fe58fc525e86383db1f8167)

junyulai   commited 2020-05-05 18:37:29 +08:00
d33735c952
Merge changes I3525edc3,I6e18915e am: 7752ddf0b7 am: 098a24b8d4
Change-Id: I85b8798fc82873d22c338937bb61092fbde259e6

Chiachang Wang   authored and   Automerger Merge Worker   commited 2020-04-29 09:24:10 +00:00
6c3df199cd
Filter debug entries for each vpn
NetworkStats calculation needs to filter out debug entries to
prevent over counting. While NetworkStatsFactory migrates data
usage over a VPN to the TUN network, NetworkStatsFactory does
not filter out debug entries per vpn which will cause debug
entries left and cause exception.

Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
      and verify no exception
Change-Id: I3525edc385b07858b48c7add2d331c4b5a2e84ad

Chiachang Wang   commited 2020-04-29 15:07:45 +08:00
1d5c290e38
Add test prefix into test cases
Bug: 152678151
Test: atest com.android.server.net.NetworkStatsFactoryTest
Change-Id: I6e18915e383ac20072cb238d0136d7a8e4ceb811

Chiachang Wang   commited 2020-04-29 13:44:50 +08:00
88fa813bd7
Merge "Add tests for Tunnel, Transport mode application with released SPIs" am: 27a2f1dff8 am: aed6b6ff17
Change-Id: I91a4f355cd2a397a9f24c0d5f5381a51523a1fe0

Benedict Wong   authored and   Automerger Merge Worker   commited 2020-04-24 23:27:48 +00:00
9c42a8e601
Merge "Use TransformRecord to get SPI instead of SpiRecord" am: 88c8a19311 am: fc7ba96b15
Change-Id: Ibc3090627699aecb4ab5e183219b5848005d0412

Benedict Wong   authored and   Automerger Merge Worker   commited 2020-04-24 23:27:36 +00:00
25dec3b6e5
Merge "Add tests for Tunnel, Transport mode application with released SPIs"
Benedict Wong   authored and   Gerrit Code Review   commited 2020-04-24 22:32:41 +00:00
27a2f1dff8
Merge "Use TransformRecord to get SPI instead of SpiRecord"
Benedict Wong   authored and   Gerrit Code Review   commited 2020-04-24 22:32:41 +00:00
88c8a19311
Merge "Address comments on NetworkStack AIDL v6" am: 0e93810453 am: e468a26c7a
Change-Id: Id385210ccd8d08bc2d15e964bbca25c452a3cde8

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-04-24 12:19:37 +00:00
6819fe0fc9
Merge "Address comments on NetworkStack AIDL v6"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2020-04-24 11:56:32 +00:00
0e93810453
Address comments on NetworkStack AIDL v6
Address issues found during AIDL review:
 - Rename clientAddr to singleClientAddr
 - Do not use a ParcelableBundle for notifyNetworkTested or
   notifyDataStallSuspected; instead use AIDL parcelables for stronger
   backwards compatibility guarantees.

Test: atest NetworkMonitorTest ConnectivityServiceTest
      ConnectivityServiceIntegrationTest, manual
Bug: 153500847
Change-Id: Id9b71784e5f6294d203230e57737979e063ff0f8

Remi NGUYEN VAN   commited 2020-04-24 18:52:02 +09:00
9b647ca69a
Merge "Set attributionTag for noteOp(WRITE_SETTINGS) calls" am: da8697a48b am: 7b3866f284
Change-Id: I099944752fc3006c1e98750dd46dbebf5e50789f

Philip P. Moltmann   authored and   Automerger Merge Worker   commited 2020-04-22 15:19:14 +00:00
84091e184a
Set attributionTag for noteOp(WRITE_SETTINGS) calls
Test: atest FrameworksNetTests TetheringTests:TetheringServiceTest
Bug: 136595429
Merged-In: I33f787644c44d7b0e5ce17a433820cfcd985cdfb
Change-Id: Ic3d937e7bb5141798234ed5b2852c1f768e97495

Philip P. Moltmann   commited 2020-04-20 18:00:03 -07:00
7bc33dfb89
Merge "Stop prefix discovery if an RA prefix arrives in DISCOVERING" am: c44ca579ad am: d0359ea573
Change-Id: If6dd56d2860611586af3c434af3ddc4b6df76ab3

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-04-20 11:38:11 +00:00
6bb660e9f4
Merge "Make the Nat464Xlat tests more realistic." am: 6ce7a2aeee am: 3da6384b41
Change-Id: Ib8d91c81af3d2e5d03c0fd47f415ff93fee5e2aa

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-04-20 11:37:54 +00:00
9a8f4c8067
Merge "Support learning the NAT64 prefix from two different sources." am: 204b31920f am: a00f03dd61
Change-Id: I0c7e48c0b16fe09269ced98712bd636105f46a5c

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-04-20 11:37:18 +00:00
27bb67c35b
Stop prefix discovery if an RA prefix arrives in DISCOVERING
Currently, if a prefix is learned from an RA while prefix
discovery is running, clatd will be correctly started, but
prefix discovery will be stopped.

In order to fix this, make it possible to call
stopPrefixDiscovery without transitioning to IDLE state (which
is obviously necessary in this case), by moving the assignment of
the next state from that method to its callers. For consistency,
do the same for startPrefixDiscovery.

Bug: 150648313
Test: new test coverage
Change-Id: I3803fa3d9806848b331c35ee8bac256934bd1f21

Lorenzo Colitti   commited 2020-04-20 17:54:20 +09:00
38c6519a90
Make the Nat464Xlat tests more realistic.
464xlat will never be started on a network that is not connected,
or on a network that has no IPv6 address.

This is a no-op test-only change but it is necessary for an
upcoming change that violates some of the invalid assumptions
currently made by this test and causes it to fail.

Bug: 150648313
Test: test-only change
Change-Id: I41766e9adaa7c24454648b371e6e3cc647693be5

Lorenzo Colitti   commited 2020-04-20 17:54:20 +09:00
c6bd5847c9
Support learning the NAT64 prefix from two different sources.
The NAT64 prefix from the RA always takes precedence over the
NAT64 prefix from DNS discovery, because it is detected faster,
and detecting it does not require sending any packets.

Bug: 150648313
Test: new unit test
Change-Id: Ic7452431d2d9aea1ae59b67a9d8383c6cc5b3902

Lorenzo Colitti   commited 2020-04-20 16:50:53 +09:00
e2eade021a
Merge "Add testTransportTypesEqual to dnsmanager test cases" am: 0e97073a4d am: fe5c71b37f
Change-Id: I0ccca97191773aa77d1c85481d73e0adaf1d0b7a

Bruce Chen   authored and   Automerger Merge Worker   commited 2020-04-17 03:38:52 +00:00
2bbce4526c
Merge "Add testTransportTypesEqual to dnsmanager test cases"
Bruce Chen   authored and   Gerrit Code Review   commited 2020-04-17 02:59:15 +00:00
0e97073a4d
Merge "[SP27.3] Rename TestableNetworkStatsProvider"
Junyu Lai   authored and   Gerrit Code Review   commited 2020-04-17 02:24:55 +00:00
9151f7c748
Merge "Support changing the NAT64 prefix without removing it." am: f09bc1734f am: 3813daab0b
Change-Id: I19050527eb41a58c7844972f34e92719d2344c27

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-04-16 16:49:33 +00:00
32dc5cae3c
Merge "Support changing the NAT64 prefix without removing it."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-04-16 16:24:57 +00:00
f09bc1734f
Add testTransportTypesEqual to dnsmanager test cases
A test that ensures that NetworkCapabilities.TRANSPORT_* is eaual
to IDnsResolver.TRANSPORT_* for every possible value of each.

Bug: 153267602
Test: atest FrameworksNetTests
Change-Id: I6b23ccc6ce1659fdfd9573dfcd895f2c20fa9417

chenbruce   commited 2020-04-16 18:04:16 +08:00
01950be123
Support changing the NAT64 prefix without removing it.
This cannot (currently) happen with DNS64 detection, but it can
happen with the PREF64 option.

Bug: 150648313
Test: atest ConnectivityServiceTest Nat464XlatTest --rerun-until-failure 100
Change-Id: I789fe9d46d3ac5d074ae697d23013f24a9e0246d

Lorenzo Colitti   commited 2020-04-16 00:07:30 +09:00
7f3d684631
Merge "[SM10] Adopt helper class to monitor RAT type change per sub" into rvc-dev
Junyu Lai   authored and   Android (Google) Code Review   commited 2020-04-15 11:49:01 +00:00
dd44555083
[SP27.3] Rename TestableNetworkStatsProvider
Currently, TestableNetworkStatsProvider is a subclass of
INetworkStatsProvider. This is not very accurate naming after
API council review feedback since now we have
NetworkStatsProvider as a system api interface.

This is the counter-part change of actual renaming CL in
NetworkStack.

Test: atest FrameworksNetTests TetheringTests
Bug: 150643374
Change-Id: Ifa8175dc4e2fe2b907ec13b3bd2eca12974f5ea7
Merged-In: Ifa8175dc4e2fe2b907ec13b3bd2eca12974f5ea7
(cherry-picked from ag/10976522)

junyulai   commited 2020-04-15 19:01:13 +08:00
d8d7916d95
Merge "[SP27.3] Rename TestableNetworkStatsProvider" into rvc-dev
Junyu Lai   authored and   Android (Google) Code Review   commited 2020-04-15 10:44:23 +00:00
3db3e009be
[SM10] Adopt helper class to monitor RAT type change per sub
Test: atest NetworkStatsServiceTest
Bug: 146415925
Change-Id: I45c3aa9046b316c8cd0943543d620a22e4afefd1
Merged-In: I45c3aa9046b316c8cd0943543d620a22e4afefd1
(cherry picked from commit 219faff07bdc58c14fe58fc525e86383db1f8167)

junyulai   authored and   Junyu Lai   commited 2020-04-15 10:30:49 +00:00
c6081f9c50
Merge "Set transport types to resolver"
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-04-13 07:03:20 +00:00
d275ec139a
Set transport types to resolver
For a given network, resolver doesn't know what transport types are.
Therefore, when a new network is created or transport types are changed
in a give network, transport types will be updated and sent by calling
setResolverConfiguration(). In the same time, if link properties or
transport types are null, setResolverConfiguration() won't be called.
The original behaviors of setResolverConfiguration() aren't changed.
Only increasing one new behavior that when a given network has transport
type change, calling setResolverConfiguration() directly and resolver
updates the transport types for that given network.

Bug: 143732914
Test: atest FrameworksNetTests
      atest FrameworksNetIntegrationTests
Merged-In: I03fc5c62dfd9a51a78a720860531df282fdecc20
Change-Id: I6527cde0e177ba08c886576131b35fc769c2bb53

chenbruce   commited 2020-04-11 23:00:13 +08:00
7b2f898a9a
Set transport types to resolver
For a given network, resolver doesn't know what transport types are.
Therefore, when a new network is created or transport types are changed
in a give network, transport types will be updated and sent by calling
setResolverConfiguration(). In the same time, if link properties or
transport types are null, setResolverConfiguration() won't be called.
The original behaviors of setResolverConfiguration() aren't changed.
Only increasing one new behavior that when a given network has transport
type change, calling setResolverConfiguration() directly and resolver
updates the transport types for that given network.

Bug: 143732914
Test: atest FrameworksNetTests
      atest FrameworksNetIntegrationTests
Change-Id: I6527cde0e177ba08c886576131b35fc769c2bb53

chenbruce   commited 2020-04-11 14:39:59 +08:00
db2aad69ed
[SP27.3] Rename TestableNetworkStatsProvider
Currently, TestableNetworkStatsProvider is a subclass of
INetworkStatsProvider. This is not very accurate naming after
API council review feedback since now we have
NetworkStatsProvider as a system api interface.

This is the counter-part change of actual renaming CL in
NetworkStack.

Test: atest FrameworksNetTests TetheringTests
Bug: 150643374
Change-Id: Ifa8175dc4e2fe2b907ec13b3bd2eca12974f5ea7

junyulai   commited 2020-04-08 17:36:45 +08:00
09d50fe69d
Add gating, logging for PhoneStateListener's limit
Add gating via PlatformCompat and DeviceConfig and logging via
PlatformCompat to the limit instituted on per-process listeners

Fixes: 152074216
Test: atest CtsTelephonyHostCases
Change-Id: I4d6681d90705b68c3349f4124e434a29b50fd3a2
Merged-In: I4d6681d90705b68c3349f4124e434a29b50fd3a2

Hall Liu   commited 2020-04-07 17:13:19 -07:00
a85ea98c7a
Rename the *Nat64Prefix to *Nat64PrefixFromDns.
This just a rename with no functional changes at all. It is
preparation for supporting getting the NAT64 prefix from the
RA.

Bug: 150648313
Test: covered by existing ConnectivityServiceTest and Nat464XlatTest
Merged-In: Ia9a09a708870827b1e4cf068f930fa9542dd116c
Change-Id: Ia9a09a708870827b1e4cf068f930fa9542dd116c

Lorenzo Colitti   commited 2020-04-06 15:45:14 +00:00
6c0cbccf96
Rename the *Nat64Prefix to *Nat64PrefixFromDns.
This just a rename with no functional changes at all. It is
preparation for supporting getting the NAT64 prefix from the
RA.

Bug: 150648313
Test: covered by existing ConnectivityServiceTest and Nat464XlatTest
Change-Id: Ia9a09a708870827b1e4cf068f930fa9542dd116c

Lorenzo Colitti   commited 2020-04-02 22:48:03 +09:00
d523d1416d
Only apply VPN isolation if it's fully routed
VPN is considered fully routed if both IPv4 and IPv6 have
either a default route or a prohibit route.

Bug: 145332510
Test: atest FrameworksNetTests
Merged-In: I59cf48552bca98092d1212e3d718fd420add5458
Change-Id: I59cf48552bca98092d1212e3d718fd420add5458

Lorenzo Colitti   commited 2020-04-02 10:36:19 +00:00
7fb7c3e0bf
Merge changes from topics "api-fix-networkagent", "satisfiedby"
* changes:
  Rename satisfiedBy into canBeSatisfiedBy
  Address further API council comments.

Chalard Jean   authored and   Gerrit Code Review   commited 2020-04-02 05:51:02 +00:00
9122e56202
Merge "Only apply VPN isolation if it's fully routed"
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-04-02 04:10:12 +00:00
5c5d1a1282
Rename satisfiedBy into canBeSatisfiedBy
Test: FrameworksNetTests NetworkStackTests
Bug: 152238712
Change-Id: I076876a6662bde143ef7d315ce3767acafff93c1
Merged-In: I076876a6662bde143ef7d315ce3767acafff93c1

Chalard Jean   authored and   Aaron Huang   commited 2020-04-01 20:38:30 +08:00
c62f9a53d8
Only apply VPN isolation if it's fully routed
VPN is considered fully routed if both IPv4 and IPv6 have
either a default route or a prohibit route.

Bug: 145332510
Test: atest FrameworksNetTests
Change-Id: I59cf48552bca98092d1212e3d718fd420add5458

Rubin Xu   commited 2020-04-01 09:36:29 +01:00
ab8cf306ea
Merge changes I2431a6d2,I9096969a,I748bd9de,Ia5387ca2,I803bdec8, ... into rvc-dev
* changes:
  Update CS helper for clearing NetworkCapabilities UIDs.
  Simplify unregister logic for Connectivity Diagnostics callbacks.
  Clarify comments for Connectivity Diagnostics reports.
  Sort administrator UIDs for NetworkCapabilities.
  Add combine() and equals() for NetworkCapabilities admin UIDs.
  Use IBinder as key for ConnectivityDiagnostics storage in CS.
  Decrement networkRequestPerUid when callbacks are unregistered.
  Invoke onConnectivityReport on registering ConnectivityDiagnostics.

Cody Kesting   authored and   Android (Google) Code Review   commited 2020-04-01 01:13:11 +00:00
bb578182f3
Merge "Use IBinder as key for ConnectivityDiagnostics storage in CS."
Cody Kesting   authored and   Gerrit Code Review   commited 2020-03-31 17:00:03 +00:00
852715df47
Merge "Automatically set IPsec tunnel interface as up" into rvc-dev
Benedict Wong   authored and   Android (Google) Code Review   commited 2020-03-31 16:51:58 +00:00
c0192c1df6