Commit Graph

2810 Commits

Author SHA1 Message Date
Hugo Benichi
359f2215eb Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev
am: 6e269ec6fe

Change-Id: I165a8bbe8362100f1e2bb909459fb45b1c68d5ae
2017-07-28 23:54:05 +00:00
Hugo Benichi
683ea489d3 Logging improvements when NetworkCapabilities change
This patch improves the wtf() logging in updateCapabilities to
better distinguish between the cases of a changed specifiers, changed
transports, or changed capabilities. The case of NOT_METERED being added
or removed is ignored.

Bug: 63326103
Test: runtest frameworks-net, runtest frameworks-wifi
Change-Id: I05c6e78891e1eac658f1cf883223af520a9a4f8f
2017-07-28 15:25:54 +09:00
ludi
59c5732585 Merge "Add dump info to IpSecService" am: ec5fc4872e am: 3f3c4f6da4
am: c628b22fe5

Change-Id: I1a5d4c424a3c9e1638d86d177cbf98f0d1bce05d
2017-07-25 03:26:23 +00:00
ludi
c628b22fe5 Merge "Add dump info to IpSecService" am: ec5fc4872e
am: 3f3c4f6da4

Change-Id: Iaa81bf94573f06dc2dbd00e30df283c0ce7a7a76
2017-07-25 03:17:24 +00:00
ludi
3f3c4f6da4 Merge "Add dump info to IpSecService"
am: ec5fc4872e

Change-Id: Idd4c051e4536d32504718fdfd201c7effdeb62e3
2017-07-25 03:07:00 +00:00
ludi
b0c95b19ab Add dump info to IpSecService
Bug:38350824

Test: runtest frameworks-net

Change-Id: Ifa11d55e9d337016ad865baada627db3aa8c2db3
2017-07-24 16:03:33 -07:00
Di Lu
636033782b Merge "Add unit test for IpSecService" am: 9e3f886dca am: 3182454f28
am: 345db82674

Change-Id: Ia4d85bcf5c42774d7b48cb1cd648754b6dd16b69
2017-07-20 07:50:21 +00:00
Di Lu
345db82674 Merge "Add unit test for IpSecService" am: 9e3f886dca
am: 3182454f28

Change-Id: Iee7cc50b7f4715d9c6797356be5cac705407d4bc
2017-07-20 07:43:12 +00:00
Di Lu
3182454f28 Merge "Add unit test for IpSecService"
am: 9e3f886dca

Change-Id: I16fb89239e641ac39a8a7adeafd72b7fe03935ed
2017-07-20 07:36:19 +00:00
ludi
1a06aa75e5 Add unit test for IpSecService
Test: runtest frameworks-net

Bug:38259578
Change-Id: I4a049d5fdec79e36692e3b12306bd0758c19ad75
2017-07-20 04:26:24 +00:00
Robert Quattlebaum
4b90b5f884 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" am: 777c408a22 am: 6b0e6946c3
am: dbc78509ae

Change-Id: I017036f8c63ea1e9c1934daad55ef087b3a83012
2017-07-18 23:51:04 +00:00
Robert Quattlebaum
dbc78509ae Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" am: 777c408a22
am: 6b0e6946c3

Change-Id: Ia6ceafa40c73589d516ca0d50168ba217b6af2c8
2017-07-18 23:43:46 +00:00
Lorenzo Colitti
6a5fe34edf resolve merge conflicts of a1d67fb38e to stage-aosp-master
am: 8228eb3446

Change-Id: Ic9ba31da8e5281c9dbc8fa7ff56a63956a495b72
2017-07-18 23:37:57 +00:00
Robert Quattlebaum
6b0e6946c3 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN"
am: 777c408a22

Change-Id: I3ae9566ca52b9dae87cace18b1e97897eb8de0ad
2017-07-18 23:33:08 +00:00
Treehugger Robot
777c408a22 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" 2017-07-18 23:09:58 +00:00
Lorenzo Colitti
8228eb3446 resolve merge conflicts of a1d67fb38e to stage-aosp-master
Test: make -j64 services
Change-Id: I3955b01189993f3051c608bc5d07a87e4e3b5f0b
Merged-In: Ic1e799c17b4bb0272cf85e03d5ad14981a55defa
2017-07-19 07:35:31 +09:00
Lorenzo Colitti
07f1304cfe Allow more than one source of tethering statistics.
Currently, netd is the only source of tethering statistics.
In order to support multiple sources, define a new
ITetheringStatsProvider interface that can be registered with
NetworkManagmentService. Convert the existing code into the
first ITetheringStatsProvider.

(cherry picked from commit ef7b2a13ce)

Bug: 29337859
Bug: 32163131
Test: builds, boots
Test: tethering stats continue to be collected
Change-Id: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4
Merged-In: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4
2017-07-19 00:54:54 +09:00
Benjamin Miller
105c3b1df4 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev am: ca007e525b
am: 3082216de2

Change-Id: Id9720c51f6192831ede99fd0af0451b43026e663
2017-07-17 14:32:30 +00:00
Benjamin Miller
2ecc198877 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev
am: ca007e525b

Change-Id: If2a06d8e8e5fe2034e22c86dabf68bf7d3f79bb0
2017-07-17 14:23:25 +00:00
Benjamin Miller
3082216de2 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev
am: ca007e525b

Change-Id: Ife96d44a6c8687be49616562f1834c1e2cc17b7d
2017-07-17 14:22:24 +00:00
Benjamin Miller
28a3e85903 Docs: VPNs under Android O should promote to the foreground
Add note for VPN developers that VPN apps started in the background must transition to the foreground in Android O to avoid the system stopping them.

Staged at: go/dac-stage/reference/android/net/VpnService.html

Test: make ds-docs
Bug: 38023983
Change-Id: I33c7ca1717c332ffab495eb51c4c6b9c5c304cef
2017-07-14 17:22:47 +02:00
Lorenzo Colitti
041111ff7e Merge changes Icc5aa605,If744f2e0,Ie1b5a5e4 into oc-dr1-dev
am: 3756636ad6

Change-Id: Ic1e799c17b4bb0272cf85e03d5ad14981a55defa
2017-07-14 01:01:29 +00:00
Hugo Benichi
a30cb89dfa resolve merge conflicts of 4f2a0fe213 to stage-aosp-master am: a428392c1d
am: 164ff8a2ed

Change-Id: I08195e119f866acc9fe1795b892fe45cea3c7f47
2017-07-14 00:46:49 +00:00
Hugo Benichi
a428392c1d resolve merge conflicts of 4f2a0fe213 to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I61cfb2d4798350f28f1bb36aed67ee8f18895031
2017-07-14 07:25:51 +09:00
Hugo Benichi
fd31b9d46e IpManager: define InitialConfiguration
This patch adds a InitialConfiguration class to IpManager for specifying
IP information in IpManager ProvisioningConfiguration at IpManager
startup.

At the moment this InitialConfiguration is not used, but is validated in
startProvsiioning if ProvisioningConfiguration includes one. It will be
integrated into IpManager IP provisioning logic in follow-up patches.

This patch also includes an example of data driven unit tests using a
table of test case. The highlights of this methodology are:
  1) easy extensibility for new test case,
  2) rich and informative error messages,
Unfortunately Java support for inlined data structure literals is poor
and some companion static methods for data generation are required for
enabling this methodology.

Bug: 62988545
Test: added new test in FrameworksNetTests,
      $ runtest frameworks-net
      $ runtest frameworks-wifi
Merged-In: I060b02603af7d73a6407df89344bf0c000574af2

(cherry pick of commit 2757fcf3a1)

Change-Id: I48dbf89232d7758f1b07ed4d76ce93281e5c6b53
2017-07-14 04:26:42 +09:00
Lorenzo Colitti
ef7b2a13ce Allow more than one source of tethering statistics.
Currently, netd is the only source of tethering statistics.
In order to support multiple sources, define a new
ITetheringStatsProvider interface that can be registered with
NetworkManagmentService. Convert the existing code into the
first ITetheringStatsProvider.

Bug: 29337859
Bug: 32163131
Test: builds, boots
Test: tethering stats continue to be collected
Change-Id: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4
2017-07-13 23:34:25 +09:00
Hugo Benichi
5185c1ce92 Merge "Add first OWNERS files for core networking" am: 4066930a36 am: 531cae76fd
am: 59de81533d

Change-Id: Id149a16336fd5adfe8b247bb4b116db1ee357653
2017-07-12 04:07:18 +00:00
Hugo Benichi
531cae76fd Merge "Add first OWNERS files for core networking"
am: 4066930a36

Change-Id: Ib8e1b85be03ad5e75a89a7951a59b9bc2a04d112
2017-07-12 03:54:57 +00:00
Robert Quattlebaum
d95f73c338 NetworkCapabilities: Unhide TRANSPORT_LOWPAN
This commit simply unhides the constant `TRANSPORT_LOWPAN` in the class
`android.net.NetworkCapabilities`, adding it to the public API.

Bug: b/63600204
Change-Id: I794635814c0bd3891cd22fcc1e31614e4d6ac654
2017-07-11 18:16:09 -07:00
Hugo Benichi
357b58cdab Add first OWNERS files for core networking
Covering
  core/java/android/net/
  core/java/com/android/server/net/
  packages/CaptivePortalLogin/
  services/core/java/com/android/server/
    ConnectivityService.java
    NsdServic.java
    NetworkManagementService.java
  services/core/java/com/android/server/connectivity/
  services/net/
  tests/net/

Android core networking files not covered:
  services/core/jni/com_android_server_connectivity_tethering_OffloadHardwareInterface.cpp
  services/core/proto/ipconnectivity.proto (path unique to aosp)

Bug: 63408147
Test: builds
Change-Id: Ifbb923d5ffdcada83864b5e0eb07911682d66efa
2017-07-12 09:25:15 +09:00
Robert Quattlebaum
eadb452d72 NetworkCapabilities: Added support for TRANSPORT_LOWPAN
This change simply adds a new constant, `TRANSPORT_LOWPAN`, for
identifying low-power wireless networks like Thread.

Bug: b/33073713
Test: builds
Change-Id: I50d9b8df1a0270e06c28f001adf6c52a142a85af
Merged-In: Ie4aa77496f8ff466fa1a5fbc556e9c029457a689

(cherry pick from commit 557e0c38b9)
2017-07-11 15:52:37 +09:00
Hugo Benichi
f060ecf1e8 Merge "ConnectivityManager: allow usage of TYPE_NONE" am: 279f32ded5 am: 0537f16516
am: 0278aa4b70

Change-Id: I1707e39308b0cf425b75e1e3f85323743c252c2f
2017-07-05 14:47:56 +00:00
Hugo Benichi
0537f16516 Merge "ConnectivityManager: allow usage of TYPE_NONE"
am: 279f32ded5

Change-Id: I72dbd17db63bd7b8637e82f5cdcfec3bf1482962
2017-07-05 14:33:35 +00:00
Hugo Benichi
16f0a9436a ConnectivityManager: allow usage of TYPE_NONE
This patch allows to use TYPE_NONE for the legacy network type variable
of NetworkInfo. This usage is "safe" with respect to legacy APIs using
network types as most of them already returns null or do nothing for
TYPE_NONE.

Of the existing APIs in ConnectivityManager that accept a network type
argument, those which were already returning null or doing nothing for
TYPE_NONE are:
  getNetworkInfo(int)
  getNetworkForType(int)
  stopUsingNetworkFeature(int, String)
  networkCapabilitiesForType(int)
  requestRouteToHostAddress(int, InetAddress)
  reportInetCondition(int, int)
  isNetworkSupported(int)
  getLinkProperties(int)

Only setProvisioningNotificationVisible needs an additional guard
against TYPE_NONE.

Bug: 30088447
Bug: 62844794
Test: runtest frameworks-net
Change-Id: I112596fcd03d3c2cd42a2a84d265adb38e3944bb
2017-07-05 21:30:52 +09:00
Roland Levillain
6a5016df21 Merge "Revert "ConnectivityManager: allow usage of TYPE_NONE"" am: 10c314e19a am: d3f26b6731
am: bdcebe39e6

Change-Id: I428cb473221a403e3c78cbc5d1224d46747ec315
2017-07-04 11:46:56 +00:00
Roland Levillain
d3f26b6731 Merge "Revert "ConnectivityManager: allow usage of TYPE_NONE""
am: 10c314e19a

Change-Id: I49221522c1a9a6e7d4ae72529c1a47b736e26a39
2017-07-04 11:31:30 +00:00
Roland Levillain
afd69a0d57 Revert "ConnectivityManager: allow usage of TYPE_NONE"
This CL is breaking some internal builds.

This reverts commit 726931ebf4.

Change-Id: Ie79214808d84c73f54a525f515b4c90a3fb23542
2017-07-04 11:14:03 +00:00
Hugo Benichi
ad0e98f881 Merge changes I90c211dc,I4455f272 am: a0ff4efc8b am: 2c856480a0
am: d0e5f1d280

Change-Id: Ia79936c51ec8236d5c92c19a8d2a3dff34f0e1a1
2017-07-04 09:49:06 +00:00
Hugo Benichi
2c856480a0 Merge changes I90c211dc,I4455f272
am: a0ff4efc8b

Change-Id: I502d978ff636a00979d2083c39381bf600d3d6da
2017-07-04 09:35:51 +00:00
Hugo Benichi
726931ebf4 ConnectivityManager: allow usage of TYPE_NONE
This patch allows to use TYPE_NONE for the legacy network type variable
of NetworkInfo. This usage is "safe" with respect to legacy APIs using
network types as most of them already returns null or do nothing for
TYPE_NONE.

Of the existing APIs in ConnectivityManager that accept a network type
argument, those which were already returning null or doing nothing for
TYPE_NONE are:
  getNetworkInfo(int)
  getNetworkForType(int)
  stopUsingNetworkFeature(int, String)
  networkCapabilitiesForType(int)
  requestRouteToHostAddress(int, InetAddress)
  reportInetCondition(int, int)
  isNetworkSupported(int)
  getLinkProperties(int)

Only setProvisioningNotificationVisible needs an additional guard
against TYPE_NONE.

Bug: 30088447
Bug: 62844794
Test: runtest frameworks-net
Change-Id: I4455f2726d06406047086368628c1f253d854d8d
2017-07-04 16:22:59 +09:00
Tobias Thierer
c20c2ea28e Revert "Track updates to Conscrypt". DO NOT MERGE ANYWHERE.
Tracks the revert of the corresponding conscrypt CL.

This reverts commit 7fdce769c3.

This is a clean revert. The upload hook to fix lint errors was not run
(this CL was uploaded with --no-verify).

Test: Treehugger
Test: make droid cts
Bug: 62424503

Change-Id: I5b8728575c4c02de10fff227ba40ec6ddc7ffa46
2017-06-26 20:38:15 +01:00
Robert Quattlebaum
5f9157651e NetworkCapabilities: Added support for TRANSPORT_LOWPAN
This change simply adds a new constant, `TRANSPORT_LOWPAN`, for
identifying low-power wireless networks like Thread.

Bug: b/33073713
Merged-In: Ie4aa77496f8ff466fa1a5fbc556e9c029457a689

(cherry pick from commit 557e0c38b9)

Change-Id: I21f9b41b8b31c63ceeb1bc9c965f6da2614c356a

Test: runtest frameworks-net (not in original commit message)
2017-06-23 16:08:45 +09:00
Hugo Benichi
6a9bb8e84a Connectivity metrics: serialize networkId, transports, ifname
This patch adds translation from ConnectivityMetricsEvent to
IpConnectivityEvent of recently added fields:
 - top-level network id
 - top-level ifname
 - transports

Also adds inference of link layer from transports or ifname.

At the moment these new fields are not populated in
ConnectivityMetricsEvent. Follow-up patches will fill this gap for
the events of the android.net.metrics package.

Test: new unit tests, $ runtest frameworks-net passes
Bug: 34901696
Merged-In: I563a6a3183470bdfaabb7c781a1beaf6b1058bf0

(partial cherry pick from commit 73fd4d1faf)

Change-Id: I6a00270e73a1bd07f23c367f2394d90a43ced47a

Test: runtest frameworks-net (not in original commit message)
2017-06-23 16:07:38 +09:00
Hugo Benichi
2a3992248a Merge "ConnectivityManager: fix style issue" am: e74f3adba5 am: ec54a40339
am: ec7447b291

Change-Id: Iecf5399d77ae742cc66ac7a3cab4570464c4e95f
2017-06-22 19:46:28 +00:00
Hugo Benichi
ec7447b291 Merge "ConnectivityManager: fix style issue" am: e74f3adba5
am: ec54a40339

Change-Id: I5a420534268a0daec19f1f0677dcfe7abd8faf73
2017-06-22 08:03:46 +00:00
Hugo Benichi
6210be1000 Merge "Better errors from unregisterNetworkCallback" am: 04e89ad631 am: ca6ebb0f39
am: 6531ea25cd

Change-Id: Ia959388c875c22e56f5f2867f33a7329ce4b3535
2017-06-20 05:26:40 +00:00
Hugo Benichi
6531ea25cd Merge "Better errors from unregisterNetworkCallback" am: 04e89ad631
am: ca6ebb0f39

Change-Id: Ib380ee7c3fc85db353682ee7abfe97842eaeeb29
2017-06-20 05:19:46 +00:00
Hugo Benichi
a5c1f7f63a ConnectivityManager: fix style issue
Simple style fix flagged by linter.

Test: no functional change.
Change-Id: I2cb19912cba149eeaffdd157616d210259d42959
2017-06-20 14:11:57 +09:00
Hugo Benichi
9c2acc1760 Better errors from unregisterNetworkCallback
This patch changes the validation of unregisterNetworkCallback in
ConnectivityManager so that the caller can better distinguish the case
of a callback that was never registered from the case of a callback that
has already been unregistered.

Bug: 62497809
Test: runtest frameworks-net passes
Merged-In: I58eda22725dd4e67dc4b64207e38cf482032df10

(cherry picked from commit 605b295011)

Change-Id: I4d2be5d9037cfec03218b702d707f50808ee0694
2017-06-20 10:06:44 +09:00
Hugo Benichi
31c176d910 Better errors from unregisterNetworkCallback
This patch changes the validation of unregisterNetworkCallback in
ConnectivityManager so that the caller can better distinguish the case
of a callback that was never registered from the case of a callback that
has already been unregistered.

Bug: 62497809
Test: runtest frameworks-net passes
Change-Id: I58eda22725dd4e67dc4b64207e38cf482032df10
2017-06-19 22:11:50 +09:00