Commit Graph

4206 Commits

Author SHA1 Message Date
Hugo Benichi
c9fbb64bca Merge "LinkProperties: fix some indentation issues" am: 33b0693c06 am: a24f8d84e9
am: a63788076a

Change-Id: Ife901fd1c9c30b3864ddce61326f2d5caacd0bae
2017-10-10 14:31:48 +00:00
Hugo Benichi
a24f8d84e9 Merge "LinkProperties: fix some indentation issues"
am: 33b0693c06

Change-Id: If9bc7cf980aa14880dbf6cc43bc86cc269d306cb
2017-10-10 14:13:45 +00:00
Treehugger Robot
33b0693c06 Merge "LinkProperties: fix some indentation issues" 2017-10-10 14:02:35 +00:00
Hugo Benichi
b1799fc69b LinkProperties: fix some indentation issues
Test: no functional change
Change-Id: I469bba154feb382156e56043d83f066a5bd658aa
2017-10-10 18:25:50 +09:00
Chalard Jean
8b1c95df43 Merge "Add some useful helpers and constants." am: ed8d236319 am: e992e16ffb
am: 06d401ae73

Change-Id: Iaf611b8e39080d677c9cfe7edb124c11bbdf8a81
2017-10-06 10:11:04 +00:00
Chalard Jean
e992e16ffb Merge "Add some useful helpers and constants."
am: ed8d236319

Change-Id: I3a934e19ece91bf5957e4c5fa289bbc1a6242915
2017-10-06 09:48:32 +00:00
Chalard Jean
3b71316a55 Add some useful helpers and constants.
Test: Pulled out of a client app ; the client app is behaving
Test: identically to how it was behaving before. Wrote unit
Test: tests in frameworks-net.

Change-Id: I397137748a95c65cee2e1e1b243a1a260e83a6f7
2017-10-06 13:38:46 +09:00
nharold
7a094452fa Merge changes from topic "ipsec-svc-cleanup" am: 9778c7884f am: 10b5cc50d7
am: 4e793fd0b5

Change-Id: Ib7eae5c9e223493281524e862979e16d25984dde
2017-10-04 20:53:04 +00:00
nharold
10b5cc50d7 Merge changes from topic "ipsec-svc-cleanup"
am: 9778c7884f

Change-Id: Ide81ae76bd05ba3a2cc7c06c072306d30a489057
2017-10-04 20:24:10 +00:00
Nathan Harold
81ad618eef Split IpSecServiceTest to add IPv6 Tests
-Split IpSecServiceTest into parameterized
 and single tests.
-Add IPv6 parameters

Bug: 66954381
Test: this
Change-Id: Ib98c112560014f73bccc3d2842c31d297c7a07ef
2017-10-03 19:45:59 -07:00
Nathan Harold
8ebb268e42 Add equals() for IpSecAlgorithm and IpSecConfig
Add equality testing methods to support tests
for parceling and un-parceling IpSecConfig.

Bug: 38397094
Test: runtest -x IpSecConfigTest.java
Change-Id: I31e318334d39ed6e9daf5ec8f3be7dcec75e12ad
2017-10-03 19:45:58 -07:00
Nathan Harold
25acd5d0e3 Input Validation for IpSecService
All of the input to IpSecService over the Binder
interface needs to be validated both for sanity
and for safety.

-Sanity check all the parameters coming from binder.
-Added setters for IpSecConfig to decouple the test
 from the IpSecManager. This was needed because the
 input validation caused the tests to fail due to a
 null parameter that was previously un-tested.
-Added the mode flag to the IpSecConfig bundle this
 oversight was found during testing.
-Expose the getResourceId() methods for testing in
 UdpEncapsulationSocket, SecurityParameterIndex, and
 IpSecTransform classes.
-Remove the unneeded getIpSecConfig() from
 IpSecTransform: unneeded now that we can synthesize
 configs.

Bug: 38397094
Test: runtest frameworks-net
Change-Id: I5241fc7fbfa9816d54219acd8d81a9f7eef10dd4
2017-10-03 19:45:55 -07:00
Hugo Benichi
e92daec343 Merge "DO NOT MERGE Ignore DUN in describeImmutableDifferences" into oc-mr1-dev
am: 9be39b390d

Change-Id: I0236132b8b497af5b1c26aa44e6494fe0510cb6d
2017-10-02 11:10:37 +00:00
Hugo Benichi
9be39b390d Merge "DO NOT MERGE Ignore DUN in describeImmutableDifferences" into oc-mr1-dev 2017-10-02 10:57:01 +00:00
Hugo Benichi
c3d8a47a54 Merge "ConnectivityServiceTest: fix flaky testNetworkRequestMaximum" am: 1211941aa0 am: 50a87f5492
am: eced6cd14a

Change-Id: I53d0d6755c8e0be34db66da56efa483006e538ac
2017-10-02 10:51:21 +00:00
Hugo Benichi
50a87f5492 Merge "ConnectivityServiceTest: fix flaky testNetworkRequestMaximum"
am: 1211941aa0

Change-Id: I169e1d48bffab3326dd61011b7747c1400b9bc74
2017-10-02 10:36:22 +00:00
Hugo Benichi
af17b51ec1 ConnectivityServiceTest: fix flaky testNetworkRequestMaximum
Registered requests are not keyed by PendingIntents in
ConnectivityService, which means that unregistering a request with a
PendingIntent causes a linear search in all registered requests.

testNetworkRequestMaximum was registering too many PendingIntents
simultaneously, causing the unregistration loop to have n^2
complexity and to take a long time to take effect.

To make the unregistering loop less likely to trigger a timeout on
waitForIdle, this patch changes the test to not register MAX_REQUEST
number of PendingIntent, but instead mixes a small number of
PendingIntents with NetworkCallbacks to reach MAX_REQUEST number of
simultaneously registered requests.

When unregistering these requests, callbacks are unregistered first.

Bug: 32561414
Test: runtest frameworks-net
Change-Id: I48b882c884abe20b388190b7f28baee293446f37
2017-10-02 17:37:57 +09:00
Hugo Benichi
0c6016e655 DO NOT MERGE Ignore DUN in describeImmutableDifferences
This patch changes describeImmutableDifferences in NetworkCapabilities
to ignore differences in NET_CAPABILITY_DUN, so that updateCapabilities
in ConnectivityService to not report wtf errors when a NetworkAgent
degrades its NetworkCapabilities object by removing NET_CAPABILITY_DUN.

Bug: 65257223
Test: runtest frameworks-net
Change-Id: I115ed1b366da01a3f8c3c6e97e0db8ce995fd377
2017-10-02 15:03:57 +09:00
Hugo Benichi
07ff2cd04f Merge "Fix NPE in NsdServiceTest" am: 2240c54b87 am: b0c566c477
am: a5d620ae92

Change-Id: Ieb299771438fe55566b76271815e52d02da799c8
2017-09-28 12:35:03 +00:00
Hugo Benichi
b0c566c477 Merge "Fix NPE in NsdServiceTest"
am: 2240c54b87

Change-Id: Ic9b7aaec14066d18247cc1efbdc06be1e6a79f29
2017-09-28 12:22:34 +00:00
Hugo Benichi
2240c54b87 Merge "Fix NPE in NsdServiceTest" 2017-09-28 12:13:18 +00:00
Jean Chalard
1a93f93710 Merge "Do not throw on call to isTetheringSupported w/o permission" am: 455fed6eb9 am: 7ce5df66c9
am: f4c8a84039

Change-Id: I076cb752b5d48a2a16abec72a47fe61690e90227
2017-09-28 07:58:59 +00:00
Jean Chalard
7ce5df66c9 Merge "Do not throw on call to isTetheringSupported w/o permission"
am: 455fed6eb9

Change-Id: Ie2ed67525e719104cef1537568f944b77d5f5e4e
2017-09-28 07:47:30 +00:00
Jean Chalard
455fed6eb9 Merge "Do not throw on call to isTetheringSupported w/o permission" 2017-09-28 07:39:14 +00:00
Chalard Jean
df6ddc9f6a Do not throw on call to isTetheringSupported w/o permission
...just return false instead.

Test: Made an app to test this. Made sure it doesn't have
Test: the required permission. Checked it crashes with
Test: SecurityException without this change. Checked that it
Test: doesn't with it.

Merged-In: Ib5b17a7f68c1327f47fe1f54c0454c51f4226907
Change-Id: Id20d3c240ec5d70d085e0366b92ab3a514f3e7c8
(cherry picked from commit 4e1bb72e61)
2017-09-28 16:34:39 +09:00
Hugo Benichi
8d6846b3ad Fix NPE in NsdServiceTest
Continuous test dashboards report that quit() can crash sometimes
due to mThread being null.

This patch adds a null guard in tearDown().

Bug: 32561414
Test: runtest frameworks-net
Change-Id: If66fb47e31e77d25b4741a786f12eb78f0b9102e
2017-09-28 15:22:13 +09:00
Lorenzo Colitti
71356eb355 Declare support for Ethernet if the service is running.
am: b8b5afea89

Change-Id: I5df25cfc5e5dfe5b04f206842b284011d0d4f8d5
2017-09-27 11:20:50 +00:00
Lorenzo Colitti
54fd815ced Merge "Delete the legacy framework code for manipulating ND offload." am: 90f8fada03 am: 41f36738bf
am: bb21618a86

Change-Id: I07d9753e214af311d3dcab6f8016442f60388700
2017-09-27 11:05:29 +00:00
Jean Chalard
ea422d9b07 Merge "Adds necessary permissions to system apis" am: eea8c4fbc9 am: 7ef3014cad
am: 19fc73f8dc  -s ours

Change-Id: If082278ab91e01852155afc1748474a937d7faae
2017-09-27 10:54:58 +00:00
Lorenzo Colitti
41f36738bf Merge "Delete the legacy framework code for manipulating ND offload."
am: 90f8fada03

Change-Id: I060bd7632b809d89224d250c697ac9d2e89d5c2d
2017-09-27 10:53:05 +00:00
Lorenzo Colitti
90f8fada03 Merge "Delete the legacy framework code for manipulating ND offload." 2017-09-27 10:46:36 +00:00
Jean Chalard
7ef3014cad Merge "Adds necessary permissions to system apis"
am: eea8c4fbc9

Change-Id: Ifa5d94cdd883c3e1b983c985c0c17fe61e864352
2017-09-27 09:58:51 +00:00
Jean Chalard
eea8c4fbc9 Merge "Adds necessary permissions to system apis" 2017-09-27 09:50:42 +00:00
Lorenzo Colitti
640e28df16 Merge "Declare support for Ethernet if the service is running." am: e7a82bbaf3 am: dae0a11792
am: a6648cc90b

Change-Id: Iafd9807ab76ce4e4ab1fd506d7b0e2b2b7017751
2017-09-27 08:51:51 +00:00
Lorenzo Colitti
b8b5afea89 Declare support for Ethernet if the service is running.
On some devices, support for TYPE_ETHERNET is not specified in
the networkAttributes config resource, even though the device is
capable of supporting Ethernet (e.g., via USB host adapters).
This leads to Ethernet working but various connectivity APIs
behaving as if it was not - for example, no CONNECTIVITY_ACTION
broadcasts will be issues when it connects or disconnects.

Ensure that ConnectivityService always treats Ethernet as
available if the service is running. Currently the service is
started if the device supports FEATURE_ETHERNET or
FEATURE_USB_HOST.

(cherry picked from commit 4c535bcc03)

Bug: 37359230
Test: bullhead builds, boots
Test: ConnectivityServiceTest passes
Test: Ethernet is available even if removed from networkAttributes resource
Test: ConnectivityManagerTest CTS test passes
Change-Id: I9b6db4edeaf966ee6715011dd92770b9d25dd938
Merged-In: I9b6db4edeaf966ee6715011dd92770b9d25dd938
2017-09-27 17:35:06 +09:00
Lorenzo Colitti
dae0a11792 Merge "Declare support for Ethernet if the service is running."
am: e7a82bbaf3

Change-Id: Ie0a0190da53571c6f4b466840b7878eb54b5e136
2017-09-27 08:32:43 +00:00
Treehugger Robot
e7a82bbaf3 Merge "Declare support for Ethernet if the service is running." 2017-09-27 08:23:34 +00:00
Lorenzo Colitti
6c4ad77737 Delete the legacy framework code for manipulating ND offload.
This only worked on broadcom devices, and was superseded in
M by a wifi HAL call made by IpManager.

Test: bullhead builds, boots
Change-Id: I711cae7dafe171c2c8b4e84a229adbcad27f3d14
2017-09-27 16:47:36 +09:00
Lorenzo Colitti
4c535bcc03 Declare support for Ethernet if the service is running.
On some devices, support for TYPE_ETHERNET is not specified in
the networkAttributes config resource, even though the device is
capable of supporting Ethernet (e.g., via USB host adapters).
This leads to Ethernet working but various connectivity APIs
behaving as if it was not - for example, no CONNECTIVITY_ACTION
broadcasts will be issues when it connects or disconnects.

Ensure that ConnectivityService always treats Ethernet as
available if the service is running. Currently the service is
started if the device supports FEATURE_ETHERNET or
FEATURE_USB_HOST.

Bug: 37359230
Test: bullhead builds, boots
Test: ConnectivityServiceTest passes
Test: Ethernet is available even if removed from networkAttributes resource
Test: ConnectivityManagerTest CTS test passes
Change-Id: I58801bf4f0bbdc3ff6345ec6bfdc911ce045c8ab
2017-09-27 13:03:10 +09:00
Udam Saini
168ad5cb13 Adds necessary permissions to system apis
adds privileged permission for getCaptivePortalServerUrl
adds tether privileged permission for
startTethering,isTetheringSupported

bug:62348162

Test: make and manual testing
Change-Id: I8eb8e3c9dcd7201abe9ea303ee57fe99073d67eb
2017-09-27 12:14:37 +09:00
Chalard Jean
4bfafba9dc Merge "Do not throw on call to isTetheringSupported w/o permission" into oc-mr1-dev
am: e545f00e10

Change-Id: Ib5b17a7f68c1327f47fe1f54c0454c51f4226907
2017-09-27 02:12:24 +00:00
Hugo Benichi
f0145debdc Merge changes Ia47e566b,Ib94d79a9 am: 1c05049a5b am: 6094886f51
am: b91bd88c5e

Change-Id: Ied2b31c9d1219b8aebf5fec085ab598b77bede6e
2017-09-26 13:05:41 +00:00
Hugo Benichi
6094886f51 Merge changes Ia47e566b,Ib94d79a9
am: 1c05049a5b

Change-Id: I0cac456f778db78d76d2225b79ce42526a6d2d19
2017-09-26 11:46:30 +00:00
Chalard Jean
4e1bb72e61 Do not throw on call to isTetheringSupported w/o permission
...just return false instead. This will change in P.

Test: Made an app to test this. Made sure it doesn't have
Test: the required permission. Checked it crashes with
Test: SecurityException without this change. Checked it
Test: doesn't with it.

Bug: 65404184

Change-Id: Id20d3c240ec5d70d085e0366b92ab3a514f3e7c8
2017-09-26 19:25:48 +09:00
Hugo Benichi
1c05049a5b Merge changes Ia47e566b,Ib94d79a9
* changes:
  Separate connectivity event buffer for bug reports
  Extract RingBuffer class from NetdEventListenerService
2017-09-26 09:48:10 +00:00
Hugo Benichi
accf6091e8 Extract RingBuffer class from NetdEventListenerService
This patch takes out the ring buffer array added for NFLOG wakeup packet
events logging and extract it into its own class for reuse. This new
RingBuffer class has the two minimal useful functions append() and
toArray().

Bug: 65164242
Bug: 65700460
Test: runtest frameworks-net, with new unit test
Change-Id: Ib94d79a93f4e99661b7d0fac67117b91d57af980
2017-09-26 14:14:16 +09:00
Hugo Benichi
11d98b54a9 Merge "Implement ConnectivityService TODO and fix many race conditions" into oc-mr1-dev
am: b80fcf5ed9

Change-Id: I5729967b3009cb541e586df8117fca3cee860feb
2017-09-22 01:07:33 +00:00
Hugo Benichi
b80fcf5ed9 Merge "Implement ConnectivityService TODO and fix many race conditions" into oc-mr1-dev 2017-09-22 00:50:39 +00:00
Hugo Benichi
09f406e0f6 Merge "Implement ConnectivityService TODO and fix many race conditions" am: d66ad08192 am: 55cda75f0d
am: 287c334379

Change-Id: Ia59d45f4e95a536d7982f61ac9c9a1bfc5e8ebb8
2017-09-21 12:21:04 +00:00
Hugo Benichi
0ce0eecbbb Implement ConnectivityService TODO and fix many race conditions
This patch implements an outstanding TODO in ConnectivityService to add
synchronization over the map of network request ids to network agent
info objects.

This structure is accessed from multiple threads:
 - Binder thread on public aidl methods, most notably via
   getDefaultNetwork().
 - Internal handler.

This leads to many race conditions that can crash the system server and
reboot the phone if getDefaultNetwork() is called on a Binder thread to
service a public ConnectivityManager api while the default network state
is being updated on the internal handler after losing the default
network.

Bug: 65911184
Test: runtest frameworks-net
Merged-In: I86c830ebd559e31d4576a7606705a056afb064ac
Merged-In: I2011e23c9f894c079ab66cd7cc5c14af572a956d
Merged-In: Ic70901a6aa22a03e97f494e793920ab07a0fd612
Merged-In: I4a7658e1fa6946063ab86a251269413903841ee8
Merged-In: Ia59d45f4e95a536d7982f61ac9c9a1bfc5e8ebb8

(cherry picked from commit 28c8414e09)

Change-Id: I2e26bef9eddd342f51c02b991632c7ea04fe7e66
2017-09-21 21:15:01 +09:00