Commit Graph

271 Commits

Author SHA1 Message Date
Erik Kline
45cb5e37b0 Merge "Notify WifiManager of interface state changes" am: 8e97274186 am: 241a7f15f2
am: 2439781719

Change-Id: I5b3f640f4dd5cfac7555ddf1f6ae752899caddb0
2017-04-28 08:16:11 +00:00
Erik Kline
241a7f15f2 Merge "Notify WifiManager of interface state changes"
am: 8e97274186

Change-Id: I6e9594805f9f55da53cf29e322829b1d2ff2f058
2017-04-28 08:04:31 +00:00
Erik Kline
216af6d3fe Notify WifiManager of interface state changes
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
      (except for an unrelated IpConnectivityMetricsTest error)
Bug: 31466854
Bug: 32163131
Change-Id: I702ea79eb2c02604761e4e1ebcd5f9e445178efb
2017-04-28 13:46:41 +09:00
Hugo Benichi
12ced26813 Merge "NsdManager: unit tests for argument validation" am: 3cff7deecb am: d97e358f7a
am: 48947de481

Change-Id: I8a51ff51071adc60fe9f4d99ec629edabbed353d
2017-04-27 13:09:02 +00:00
Hugo Benichi
d640465c5d Merge "NsdService: disentangle NativeDaemonConnector from ctor" am: fa97f11b20 am: 47748b754c
am: 5d0bd13538

Change-Id: Ic8ddf92c7c64d4214a75bea6d6e5083f4612a76a
2017-04-27 13:06:59 +00:00
Hugo Benichi
d97e358f7a Merge "NsdManager: unit tests for argument validation"
am: 3cff7deecb

Change-Id: I24d3bda00236fe8c49df0ea7f53109625b3b4f9d
2017-04-27 12:44:35 +00:00
Hugo Benichi
47748b754c Merge "NsdService: disentangle NativeDaemonConnector from ctor"
am: fa97f11b20

Change-Id: I4e5dc9df1f4de256b34c0140ea5ae7ec1bb6fce6
2017-04-27 12:39:00 +00:00
Hugo Benichi
52d9e733ae NsdManager: unit tests for argument validation
Test: new tests pass.
Bug: 37013369, 33298084
Change-Id: Ia514d2bbd967d46fed54e379f319b572ade22c62
2017-04-27 16:35:48 +09:00
Hugo Benichi
1fac3191c7 NsdService: disentangle NativeDaemonConnector from ctor
This patch disentangles the creation of NativeDaemonConnector from the
creation of NsdService by introducing a wrapper type DaemonConnection.

This allows to mock this dependency in unit tests.

Test: enhanced previously introduced new tests.
Bug: 37013369, 33298084
Change-Id: I894b7cddfc509f86d0134d214c88c063b81b5e0a
2017-04-27 16:35:30 +09:00
Hugo Benichi
e2377c88e3 Merge "NsdService: bootstrap unit tests" am: 7ca060aa95 am: dd53c962b2
am: d29ce6ae8c

Change-Id: Iaf0679790e934baaaf48bcb04098aa18deca4d60
2017-04-27 05:49:47 +00:00
Hugo Benichi
dd53c962b2 Merge "NsdService: bootstrap unit tests"
am: 7ca060aa95

Change-Id: I3ce2d85afb5e085c8c49731f3d18a96d17542271
2017-04-27 05:34:05 +00:00
Hugo Benichi
7ca060aa95 Merge "NsdService: bootstrap unit tests" 2017-04-27 05:22:54 +00:00
Etan Cohen
79d9e99632 Merge "[AWARE] Add UID checking to WifiAwareNetworkSpecifier" am: 2fd19ffa06 am: 3c6305cc55
am: 887fd90742

Change-Id: I8480ac43d89dc85b541e6255c3cdc597393896cf
2017-04-25 13:40:42 +00:00
Etan Cohen
3c6305cc55 Merge "[AWARE] Add UID checking to WifiAwareNetworkSpecifier"
am: 2fd19ffa06

Change-Id: I8e4a38b113d6e8f81bc382715dda5c279771e454
2017-04-25 13:27:22 +00:00
Etan Cohen
2fd19ffa06 Merge "[AWARE] Add UID checking to WifiAwareNetworkSpecifier" 2017-04-25 13:21:36 +00:00
Hugo Benichi
cbb13672bc NsdService: bootstrap unit tests
Test: new tests part of $ runtest frameworks-net
Bug: 37013369, 33298084
Change-Id: Ief45f838268380b4b2a128390fbf34d55a3b922b
2017-04-25 10:42:58 +09:00
Hugo Benichi
7a0191b355 Merge "Move byte logics from ApfFilter into BitsUtil" am: 21b9b3a8ff am: 12c1074c8b
am: a80bb82b4e

Change-Id: I5f13b006b57cc8a3ab0560626077d003ce4fe8c8
2017-04-24 19:07:37 +00:00
Hugo Benichi
12c1074c8b Merge "Move byte logics from ApfFilter into BitsUtil"
am: 21b9b3a8ff

Change-Id: I9234b9dcb527de8a67bebab8cebc35e5b96aa986
2017-04-24 18:45:23 +00:00
Hugo Benichi
495a17b332 Move byte logics from ApfFilter into BitsUtil
This patch extracts into BitUtils byte manipulation helper methods
and unsigned type manipulation helper methods from ApfFilter into
an independent and reusable structure.

Test: $ runtest frameworks-net
Change-Id: I0f33af10457a63dbde5983f14353a79b8cd877d9
2017-04-22 10:07:03 +09:00
Hugo Benichi
658f2e5cd7 Merge "NsdManager: add unit tests" am: dc54ad7fc3 am: 40ab8401b2
am: d2181235b9

Change-Id: I7a5202be0e6a6274f3bd11737f30fee0ef947235
2017-04-22 00:57:48 +00:00
Hugo Benichi
40ab8401b2 Merge "NsdManager: add unit tests"
am: dc54ad7fc3

Change-Id: I928f19e359b7423d43d792c413de4195a64141a7
2017-04-22 00:40:56 +00:00
Hugo Benichi
dc54ad7fc3 Merge "NsdManager: add unit tests" 2017-04-22 00:31:28 +00:00
Robert Greenwalt
1778682242 Merge "Mark Restricted APN connections as restricted."
am: b90b2015d3

Change-Id: Icd54c671035da752663d9ec125f999298aa1d8e7
2017-04-21 23:23:17 +00:00
Treehugger Robot
b90b2015d3 Merge "Mark Restricted APN connections as restricted." 2017-04-21 23:12:52 +00:00
Robin Lee
5d30d86372 Merge "Use Vpn rules (not firewall) for always-on VPN" am: e4f56a7e44 am: cd8557d15a
am: 4de3794c26

Change-Id: Ic1e96eac68ddc8a713b3c71b5c126cb8b99c59f5
2017-04-21 22:17:15 +00:00
Robin Lee
cd8557d15a Merge "Use Vpn rules (not firewall) for always-on VPN"
am: e4f56a7e44

Change-Id: I80b3607fd1c61875be8354439e09db56a0bd391d
2017-04-21 22:05:33 +00:00
Robert Greenwalt
a7e148a874 Mark Restricted APN connections as restricted.
If anything unrestricted is bundled in the whole thing has to be
unrestricted (we can't restrict based on destination or intent)
but the NOT_METERED flag wasn't taken into account.

This wasn't a problem before because telephony set that statically
and late, but a change caused it to be marked NOT_METERED earlier
which exposed this bug.

bug: 37208956
Merged-In: I7b7a1c38621ce0ecde8cf041e82b1ebb7a9c6f15
Test: new NetworkCapabilitiesTest.  Fails without fix, works with.
Change-Id: I86c1b2854413a94662aa53e697d32380695ab9ac
2017-04-21 22:00:17 +00:00
Treehugger Robot
e4f56a7e44 Merge "Use Vpn rules (not firewall) for always-on VPN" 2017-04-21 21:53:15 +00:00
Etan Cohen
859748f08c [AWARE] Add UID checking to WifiAwareNetworkSpecifier
Wifi Aware networks are per app - i.e. a requestor gets
a dedicated network. Change verifies that the only the
original requestor matches the created network (using UID).

Bug: 36053921
Test: Integration (sl4a) tests
Change-Id: I4ff3994731dd7ccb88e2bea333d1e6905b136f02
2017-04-21 18:47:35 +00:00
Erik Kline
09d1588183 Merge "Clarify IControlsTethering LOCAL_ONLY state name" am: 649c459858 am: f7c93bcd45
am: 6305795287

Change-Id: Idf256ced2c3403f9672b29c10ec02adb44a0ab7c
2017-04-21 09:18:50 +00:00
Erik Kline
f7c93bcd45 Merge "Clarify IControlsTethering LOCAL_ONLY state name"
am: 649c459858

Change-Id: Ia856b08ced4e26e32e107faac37e1c245caaf910
2017-04-21 09:07:46 +00:00
Hugo Benichi
db8adb7983 NsdManager: add unit tests
This prepares some refactoring and the addition of a timeout to
resolveService.

Test: new tests pass
Bug: 37013369, 33298084
Change-Id: Ie8277bd5983278507bfa70495b4ce7d13895b24b
2017-04-21 05:16:37 +00:00
Erik Kline
ca41be796a Clarify IControlsTethering LOCAL_ONLY state name
Test: as follows
    - build
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - manually starting tethering shows Settings and icon updates
Bug: 31466854
Bug: 32163131

Change-Id: I1f45511f00aca37480f894be4a9a004f1a3b35d7
2017-04-21 11:12:24 +09:00
Erik Kline
dc7e445bc7 Merge "Switch to WifiManager.{start,stop}SoftAp()" am: 275edcb940 am: 11fdd1769b
am: 7d321645a2

Change-Id: I40e72d9b8f99c52089a8c73c8ca20d1efd10c68d
2017-04-20 16:02:06 +00:00
Erik Kline
11fdd1769b Merge "Switch to WifiManager.{start,stop}SoftAp()"
am: 275edcb940

Change-Id: I697bf530da9786da4ed1405ac8b44b7bc4d097a6
2017-04-20 15:50:19 +00:00
Treehugger Robot
275edcb940 Merge "Switch to WifiManager.{start,stop}SoftAp()" 2017-04-20 15:37:31 +00:00
Erik Kline
c9ee35581c Merge "Add local-only hotspot info into tether state change broadcast" am: 4c7a999d79 am: 6af3dd0fc3
am: 3fa8908370

Change-Id: If3851c3f15314e3c0d357e154049aaa2b8b5c8e7
2017-04-20 14:02:24 +00:00
Erik Kline
6af3dd0fc3 Merge "Add local-only hotspot info into tether state change broadcast"
am: 4c7a999d79

Change-Id: I911be691b15604a63aa02bf4db607ae1cd701cfe
2017-04-20 12:55:48 +00:00
Erik Kline
8351faa900 Add local-only hotspot info into tether state change broadcast
Test: as follows
    - build
    - flashed
    - booted
    - "runtest frameworks-net" passes
    - manually starting tethering shows Settings and icon updates
Bug: 31466854
Bug: 32163131

Change-Id: I938074587dfeec221c5cdb43a392802ad3fc3589
2017-04-20 19:44:01 +09:00
Robert Greenwalt
695d2c6df1 Merge commit 'd6c9efa3323f3f5ae44abe312ae5a1e6ef3816ce' into manual_merge_d6c9efa3323f
Change-Id: I86d5e87cc3884d8fc3eb326a92b8871ef0926aa6
2017-04-19 11:24:03 -07:00
Robert Greenwalt
1eeec7880d Mark Restricted APN connections as restricted.
If anything unrestricted is bundled in the whole thing has to be
unrestricted (we can't restrict based on destination or intent)
but the NOT_METERED flag wasn't taken into account.

This wasn't a problem before because telephony set that statically
and late, but a change caused it to be marked NOT_METERED earlier
which exposed this bug.

bug: 37208956
Test: new NetworkCapabilitiesTest.  Fails without fix, works with.
Change-Id: I7b7a1c38621ce0ecde8cf041e82b1ebb7a9c6f15
2017-04-18 11:29:20 -07:00
Erik Kline
ceb54c63dc Switch to WifiManager.{start,stop}SoftAp()
Test: as follows
    - built
    - flashed
    - booted
    - "runtest frameworks-net" passes
Bug: 31466854

Change-Id: I730d029128a14b936c111ae159b9708d935f4656
2017-04-18 15:22:49 +09:00
TreeHugger Robot
7eb8260236 Merge changes I76ae853c,If94102c7 into oc-dev
* changes:
  Ignore potential SystemProperties errors when setting net.dns
  Make ConnectivityServiceTest pass on wifi-only devices.
2017-04-17 05:11:21 +00:00
Hugo Benichi
9b7453f3c6 Merge "ConnectivityManager: release all requests mapping to a callback." am: 1a8f04b1b2 am: 4d80366762
am: e505b37ec5

Change-Id: I99267e14ab04ce62c5c2385f24f5865e791a24a0
2017-04-14 15:36:10 +00:00
Hugo Benichi
4d80366762 Merge "ConnectivityManager: release all requests mapping to a callback."
am: 1a8f04b1b2

Change-Id: I30d3790822430d250d6005cc165e7fa10f56649e
2017-04-14 15:22:39 +00:00
Hugo Benichi
dafed3d008 ConnectivityManager: release all requests mapping to a callback.
This patch changes how callback unregistration works in order to be
consistent with undocumented use cases currently de-facto supported
by the API (although in a buggy way):
  - callback recycling: releasing then reregistering a callback again.
  - multiple request registrations with the same callback.

The second use case is not desirable but needs to be taken into account
for now for the purpose of correctly releasing NetworkRequests
registered in ConnectivityService.

In order to support request release in both use cases with minimal
amount of complexity for the time being the following changes are done:
  - request to callback unmapping is done synchronously at callback
    release time.
  - all requests associated to a callback are unmapped at callback
    release time.

This fixes the following issues:
  - a callback stops being triggered as soon as it is released.
    Otherwise when recycling the callback immediately, it is possible
    the previous request associated with it triggers it, confusing the
    app.
  - when a callback is registered multiple times, the requests are not
    leaked.
  - when a callback is registered multiple times and then released, the
    N-1 first registrations do not trigger the callback anymore.

In the future it would be desirable to enforce the intended 1:1 mapping
between callbacks and requests at registration time.

Bug: 35921499, 35955593, 20701525
Test: - added new tests in ConnectivityManagerTest to test releasing,
      recycling, and a disabled test for no multiple regristration.
      - new tests catch regression causing b/35921499, b/35955593.
Change-Id: Ia0917ac322fc049f76adb4743bc745989fed6d26
2017-04-14 22:17:21 +09:00
Etan Cohen
29fe0c9930 Make the NetworkSpecifier a class instead of a string.
Bug: 27533960
Bug: 36053921
Bug: 36275276
Test: connectivity, wifi, telephony unit tests
Change-Id: Idd9b10a8418c53c8cf386d9ff8252226b076bbf9
Merged-In: I7535495681da8f168c46d6d95e13925cffecc99b
Merged-In: I6500639ae839ee9ad5af34d1292d1539c943e2ad
2017-04-14 18:22:10 +09:00
Lorenzo Colitti
677999af11 Add test coverage for NetworkSpecifiers.
Tests various combinations of empty / non-empty NetworkSpecifiers
and changing specifiers on the fly.

Test: ConnectivityServiceTest passes
Bug: 27533960
Bug: 36053921
Change-Id: Ibd6b4efc861dc51689e46f3882ba859223411bf0
Merged-In: Ia7d36096f0e3f0b203d1d838043c03fcd1cea829
Merged-In: Ia71b72cc10dba6bac7c8fbe1ab3c5f40bc5506ff
2017-04-14 18:20:59 +09:00
Hugo Benichi
ed1e91e4f4 Merge changes Id0d536ff,I4fcd0ad7 into oc-dev
am: 0e8090b10e

Change-Id: I0b432e9d7aa5654a0aeac1d3d0a09e624bcbc9bc
2017-04-14 04:32:17 +00:00
Hugo Benichi
5eb9053c4e Connectivity metrics: add transports to connect stats
This patch groups connect() events per netId. It adds netid and
transport information to serialized ConnectStatistics events.

Test: updated NetdEventListenerServiceTest
      updated IpConnectivityMetricsTest
      $ runtest frameworks-net passes
Bug: 34901696
Change-Id: Id0d536ff723ded5c26eafe0bb138ba75ba2856c5
Merged-In: I4769496383943e714a1d350c298e093c2ed57477

(cherry picked from commit dfc2cc5857)
2017-04-14 01:44:52 +00:00