OSDN Git Service
Lorenzo Colitti [Fri, 9 Dec 2016 10:18:11 +0000 (10:18 +0000)]
Merge changes from topic 'framework-net-aosp' am:
ab4c79bd96
am:
1a2fa0f372
Change-Id: I746ee7fd37946df2ba31ca8aee928fa3ef04591c
Hugo Benichi [Fri, 9 Dec 2016 10:08:43 +0000 (10:08 +0000)]
DO NOT MERGE: frameworks-test: adding missing @SmallTest am:
cfcc1cb7bf -s ours
am:
9f65f04157 -s ours
Change-Id: I717dbbd4d3ed657fec9ed9f45a5ae6f3e2a04b3e
Hugo Benichi [Fri, 9 Dec 2016 10:07:51 +0000 (10:07 +0000)]
DO NOT MERGE: Netd events: record connect() success/errno am:
5d0f28c7fd -s ours
am:
d84f932680 -s ours
Change-Id: I2e11ad15c3327a1d57453295ebc904dcf68ec3e0
Lorenzo Colitti [Fri, 9 Dec 2016 10:07:01 +0000 (10:07 +0000)]
DO NOT MERGE: Add missing dependency. am:
744b02069d -s ours
am:
50c77cb9c0 -s ours
Change-Id: I1f15f964fcabefc50a7f05c5406f26e884130053
Tony Mak [Fri, 9 Dec 2016 10:05:30 +0000 (10:05 +0000)]
DO NOT MERGE: Show notification for always-on app VPN am:
de7f7d195e -s ours
am:
118071a481 -s ours
Change-Id: I35f5107f9984284379136fd86c57432317066e68
Stephen Chen [Fri, 9 Dec 2016 10:04:41 +0000 (10:04 +0000)]
DO NOT MERGE: Implement metered tracking for NetworkStats summary queries. am:
963e8ddf6d -s ours
am:
3f5785260e -s ours
Change-Id: Ib6f4a4af04c3f4e26028604c66f6cc4f1720a801
Hugo Benichi [Fri, 9 Dec 2016 10:03:53 +0000 (10:03 +0000)]
DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe am:
2a43b208cc -s ours
am:
a452f24e30 -s ours
Change-Id: I4b18e3cc8c2faebbe26298db916380549eaa97aa
Hugo Benichi [Fri, 9 Dec 2016 10:03:00 +0000 (10:03 +0000)]
DO NOT MERGE: NetworkMonitor metrics: add first validation information am:
21680fd25d -s ours
am:
9908c161ca -s ours
Change-Id: Icb20731455e4d694c92d4350a3be9184bb655d82
Hugo Benichi [Fri, 9 Dec 2016 10:02:08 +0000 (10:02 +0000)]
DO NOT MERGE: APF: also drop any ICMPv6 RSs am:
02428988ad -s ours
am:
0d95fc9552 -s ours
Change-Id: Ib2d95353455be50dc26b3aacfca8bc804dfc447d
Hugo Benichi [Fri, 9 Dec 2016 10:00:41 +0000 (10:00 +0000)]
DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings am:
53d83d5142 -s ours
am:
a30ae5542b -s ours
Change-Id: If1fe794f87060443d721f0f269f519046a9ee321
Hugo Benichi [Fri, 9 Dec 2016 09:59:49 +0000 (09:59 +0000)]
DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark am:
cbf8ff83a8 -s ours
am:
0bef352535 -s ours
Change-Id: I92e3730002c11f3c2d5ea9c324f61237190f44bc
Jeff Sharkey [Fri, 9 Dec 2016 09:58:59 +0000 (09:58 +0000)]
DO NOT MERGE: Switch over to new "time.android.com" NTP pool. am:
dda938a698 -s ours
am:
7c670da7ac -s ours
Change-Id: Ia2dec60bc75123495fe1c5e41bd545c51e07c610
Stephen Chen [Fri, 9 Dec 2016 09:58:05 +0000 (09:58 +0000)]
DO NOT MERGE: Define API for metering network stats buckets. am:
dadf6caf9f -s ours
am:
419a061017 -s ours
Change-Id: Ide68c11828a6473e330715bb4efe4d0ade9a46a2
Felipe Leme [Fri, 9 Dec 2016 09:57:16 +0000 (09:57 +0000)]
DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock. am:
e4c029918f -s ours
am:
fbbaf25665 -s ours
Change-Id: I66000b3cd40a8494ad144610436f6ee953821a06
Felipe Leme [Fri, 9 Dec 2016 09:55:47 +0000 (09:55 +0000)]
DO NOT MERGE: Use @Ignore to explicitly disable a @Test method. am:
2026ca147b -s ours
am:
b296948b3b -s ours
Change-Id: I43b77614b0ccdd573cf8b29b08ef518bad617aff
Felipe Leme [Fri, 9 Dec 2016 09:54:55 +0000 (09:54 +0000)]
DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4. am:
77cba4bdf6 -s ours
am:
82393f7b98 -s ours
Change-Id: I175601094ae486700c8a6886470abb3147b6ef4e
Jeremy Joslin [Fri, 9 Dec 2016 09:54:07 +0000 (09:54 +0000)]
DO NOT MERGE: VPN network stat accounting changes. am:
ffe5a46b3e -s ours
am:
12bb3f057b -s ours
Change-Id: Id9d26bf1b9512a85cd9b6a3253b86b77a6f62e77
Hugo Benichi [Fri, 9 Dec 2016 09:53:16 +0000 (09:53 +0000)]
DO NOT MERGE: ConnectivityThread: use lazy holder idiom am:
ce765b7a51 -s ours
am:
f6cb43ae32 -s ours
Change-Id: I08a03dd249d30bc474a5d16472883737d12fec37
Hugo Benichi [Fri, 9 Dec 2016 09:52:26 +0000 (09:52 +0000)]
DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper am:
1853f78d76 -s ours
am:
7337239702 -s ours
Change-Id: Ida0d76b540e800db215569717a1c5d26e0f583b0
Hugo Benichi [Fri, 9 Dec 2016 09:50:57 +0000 (09:50 +0000)]
DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler am:
4983e55853 -s ours
am:
ef148edaa2 -s ours
Change-Id: Ie8ebf41835e62b64ceb22e552208c77482d96c73
Philip P. Moltmann [Fri, 9 Dec 2016 09:50:04 +0000 (09:50 +0000)]
DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service. am:
29154b000f -s ours
am:
6e8a33a583 -s ours
Change-Id: I95d1b3e8b676572dd3fb78aa750731e4c4c6a31f
Lorenzo Colitti [Fri, 9 Dec 2016 09:48:51 +0000 (09:48 +0000)]
Merge changes from topic 'framework-net-aosp'
am:
ab4c79bd96
Change-Id: I286110dc7db8424187d50d07fa3f059903cdea03
Jeremy Klein [Fri, 9 Dec 2016 09:48:50 +0000 (09:48 +0000)]
DO NOT MERGE: Add a null check for the OnStartTetheringCallback. am:
c8e4cc8e99 -s ours
am:
3cd1ae2261 -s ours
Change-Id: I3c471a8971c21cdbf1ebf7e1302524b038b20375
Hugo Benichi [Fri, 9 Dec 2016 09:36:16 +0000 (09:36 +0000)]
DO NOT MERGE: frameworks-test: adding missing @SmallTest
am:
cfcc1cb7bf -s ours
Change-Id: Idc0806748704f86b65dfbe760e7b55c2f61436d0
Hugo Benichi [Fri, 9 Dec 2016 09:34:51 +0000 (09:34 +0000)]
DO NOT MERGE: Netd events: record connect() success/errno
am:
5d0f28c7fd -s ours
Change-Id: I833ea69c0a8cb79bcaf9280bd617d0ce7924764c
Lorenzo Colitti [Fri, 9 Dec 2016 09:34:11 +0000 (09:34 +0000)]
DO NOT MERGE: Add missing dependency.
am:
744b02069d -s ours
Change-Id: I2bcc3e7eb9d55c4063cdbf6945baa4ce5ce9ba88
Tony Mak [Fri, 9 Dec 2016 09:33:28 +0000 (09:33 +0000)]
DO NOT MERGE: Show notification for always-on app VPN
am:
de7f7d195e -s ours
Change-Id: Icb50333e9ca623f40a8a48c25d28c404748310c2
Stephen Chen [Fri, 9 Dec 2016 09:32:43 +0000 (09:32 +0000)]
DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
am:
963e8ddf6d -s ours
Change-Id: Idfaf31ca77450618391cf2b010ec7fc0961b6dc2
Hugo Benichi [Fri, 9 Dec 2016 09:31:59 +0000 (09:31 +0000)]
DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe
am:
2a43b208cc -s ours
Change-Id: Ic6806b65b46c0e7f68a796db534b319126235129
Hugo Benichi [Fri, 9 Dec 2016 09:31:16 +0000 (09:31 +0000)]
DO NOT MERGE: NetworkMonitor metrics: add first validation information
am:
21680fd25d -s ours
Change-Id: Ida088560e94946bc0fa57f59f56007753a197068
Hugo Benichi [Fri, 9 Dec 2016 09:30:09 +0000 (09:30 +0000)]
DO NOT MERGE: APF: also drop any ICMPv6 RSs
am:
02428988ad -s ours
Change-Id: Iaf8442b9536e8c465fd4336a7706e8fd00933266
Hugo Benichi [Fri, 9 Dec 2016 09:29:11 +0000 (09:29 +0000)]
DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings
am:
53d83d5142 -s ours
Change-Id: I07650e028dbe5be6d04761ae0cbb9e9512d31d53
Hugo Benichi [Fri, 9 Dec 2016 09:28:32 +0000 (09:28 +0000)]
DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark
am:
cbf8ff83a8 -s ours
Change-Id: I6af5dd9e2bf31346578d5fca4a635ba3af2f2099
Jeff Sharkey [Fri, 9 Dec 2016 09:27:54 +0000 (09:27 +0000)]
DO NOT MERGE: Switch over to new "time.android.com" NTP pool.
am:
dda938a698 -s ours
Change-Id: I2b1825f00459952d6f3430c99661aafc907e6c37
Stephen Chen [Fri, 9 Dec 2016 09:27:11 +0000 (09:27 +0000)]
DO NOT MERGE: Define API for metering network stats buckets.
am:
dadf6caf9f -s ours
Change-Id: I3dcf9d32deeb09d08364b135714b84e685767dee
Felipe Leme [Fri, 9 Dec 2016 09:26:31 +0000 (09:26 +0000)]
DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
am:
e4c029918f -s ours
Change-Id: Ieeea6db94be1d402fe8129f02bea2586346dcf76
Felipe Leme [Fri, 9 Dec 2016 09:25:12 +0000 (09:25 +0000)]
DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
am:
2026ca147b -s ours
Change-Id: I17818101fa8f47d285cf772a0f67373c1dda5e30
Felipe Leme [Fri, 9 Dec 2016 09:24:24 +0000 (09:24 +0000)]
DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
am:
77cba4bdf6 -s ours
Change-Id: I907010456f9bb9674748222fd5e82b8b64dce46f
Jeremy Joslin [Fri, 9 Dec 2016 09:23:37 +0000 (09:23 +0000)]
DO NOT MERGE: VPN network stat accounting changes.
am:
ffe5a46b3e -s ours
Change-Id: Ic42723be04158feafd268b3859f0e938d3e36d01
Hugo Benichi [Fri, 9 Dec 2016 09:22:57 +0000 (09:22 +0000)]
DO NOT MERGE: ConnectivityThread: use lazy holder idiom
am:
ce765b7a51 -s ours
Change-Id: I0625013f14e4a2c24a238677a3de50961d114619
Hugo Benichi [Fri, 9 Dec 2016 09:22:16 +0000 (09:22 +0000)]
DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
am:
1853f78d76 -s ours
Change-Id: Ia41bae1435c94e042358e8b88b42f83cd5359a6e
Hugo Benichi [Fri, 9 Dec 2016 09:21:22 +0000 (09:21 +0000)]
DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
am:
4983e55853 -s ours
Change-Id: I806d5d79994785357390707d77760af3af725477
Philip P. Moltmann [Fri, 9 Dec 2016 09:20:02 +0000 (09:20 +0000)]
DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
am:
29154b000f -s ours
Change-Id: I5c7c11dc4f8112f0ca89b482c2ba10a6a94abfba
Jeremy Klein [Fri, 9 Dec 2016 09:19:21 +0000 (09:19 +0000)]
DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
am:
c8e4cc8e99 -s ours
Change-Id: I3290e0f17c8d29f7e7216687f85b7487a3b85ac5
Lorenzo Colitti [Fri, 9 Dec 2016 09:11:21 +0000 (09:11 +0000)]
Merge changes from topic 'framework-net-aosp'
* changes:
DO NOT MERGE: frameworks-test: adding missing @SmallTest
DO NOT MERGE: Netd events: record connect() success/errno
DO NOT MERGE: Add missing dependency.
DO NOT MERGE: Show notification for always-on app VPN
DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe
DO NOT MERGE: NetworkMonitor metrics: add first validation information
DO NOT MERGE: APF: also drop any ICMPv6 RSs
DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings
DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark
DO NOT MERGE: Switch over to new "time.android.com" NTP pool.
DO NOT MERGE: Define API for metering network stats buckets.
DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
DO NOT MERGE: VPN network stat accounting changes.
DO NOT MERGE: ConnectivityThread: use lazy holder idiom
DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
Hugo Benichi [Fri, 4 Nov 2016 07:06:34 +0000 (16:06 +0900)]
DO NOT MERGE: frameworks-test: adding missing @SmallTest
This activates all frameworks-test tests in runs of the continuous
platform tests.
Test: $ runtest frameworks-net passes (expect Tether
Bug:
32561414
(cherry picked from commit
fa8a6f6220d1a0027ba7969c2d3f72690ddc6495)
Change-Id: I7b0706a7e3368f971d508388e8ad4afc5de9d646
Hugo Benichi [Mon, 31 Oct 2016 06:04:37 +0000 (15:04 +0900)]
DO NOT MERGE: Netd events: record connect() success/errno
Test: $ runtest frameworks-net pass
Bug:
32198976
(cherry picked from commit
8b06bcdfd24100302818ae0e11ee751dd813d5cf)
Lorenzo Colitti [Fri, 9 Dec 2016 05:19:57 +0000 (14:19 +0900)]
DO NOT MERGE: Add missing dependency.
Change-Id: I5deb8e03eb368ab7003f9376f7b4459d2ef5e934
Tony Mak [Thu, 30 Jun 2016 10:19:20 +0000 (11:19 +0100)]
DO NOT MERGE: Show notification for always-on app VPN
This is the same notification as the one shown during legacy lockdown
mode, sans the 'reset' button.
The notification is only shown during times when VPN has not yet
established or has failed, for example during boot or after a crash.
Bug:
29123115
(cherry picked from commit
1a405fe300950d6ceae2166fd074b596d8110dbe)
Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
Stephen Chen [Fri, 21 Oct 2016 19:44:26 +0000 (12:44 -0700)]
DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.
Dependent on ag/
1550196 where API is defined.
Bug:
31015360
Bug:
26545374
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,
other test classes.
(cherry picked from commit
25147878974f82f875062e99cdee85dd33f3f078)
Change-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a
Hugo Benichi [Wed, 16 Nov 2016 09:18:08 +0000 (18:18 +0900)]
DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe
This patch changes sligthly the two web probes mechanism for captive
portal detection and network validation so that DNS resolution is always
done for both probes.
In general the target web servers of the two parallel HTTP and HTTPS probes
are now different. This introduces a bias in the latency measurement of
th HTTPS probe since this latency will also include DNS resolution in
general.
Test: manual verification + $ runtest frameworks-net
Bug:
32198726
(cherry picked from commit
ab61e7c324b24e46829495bc2597e42ea907c53d)
Change-Id: I3b32ae451f2241849fffe24956758a9f571b1ef1
Hugo Benichi [Tue, 15 Nov 2016 14:23:24 +0000 (23:23 +0900)]
DO NOT MERGE: NetworkMonitor metrics: add first validation information
This patch adds first validation information to:
- ValidationProbeEvent, by extending the probe_type int field of to
also include a bit indicating if the probe was part of a first
validation attempt or not.
- NetworkMonitorEvent, by defining new contants for the event_type
field.
Test: $ runtest frameworks-net
+ manually generating events and inspecting the
output of $ adb shell dumpsys connmetrics list
Bug: b/
32198726
(cherry picked from commit
147aa6d53bc1e9f8a3632553abcf936023806e1d)
Change-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c
Hugo Benichi [Fri, 2 Dec 2016 17:41:05 +0000 (02:41 +0900)]
DO NOT MERGE: APF: also drop any ICMPv6 RSs
Test: new unit test + $ runtest franeworks-net
Bug:
32833400
(cherry picked from commit
f98182ef5e80ede5de7f2c2a5f40fc92a46c9704)
Change-Id: Ifaf6e778c811c7d865c790a293b1fce3f43cad1c
Hugo Benichi [Tue, 15 Nov 2016 04:42:34 +0000 (13:42 +0900)]
DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings
This patch introduces an assertEventuallyThat helper function in
ConnectivityServiceTest which given a boolean function retries until the
function returns true or until a maximum retry time is reached.
This function is used to fix flakyness of testAvoidBadWifiSetting where
the Message posted by reevaluate() could reach the Handler's
MessageQueue after waitForIdle takes effect, resulting in the test to
fail.
Instead of fixing the flakyness by introdcing hard sleep times,
assertEventuallyThat is used to reduce the overall test time.
With this change the test has been observed to pass with 100% success
rate over 50000 invocations.
Test: $ runtest frameworks-net
Bug:
32561414
(cherry picked from commit
99c8294ef0c7a720364abb5884063e0a9d1bb5fe)
Change-Id: If41a24989d5f65aeb439f68741f511b5eb53b18d
Hugo Benichi [Tue, 15 Nov 2016 02:25:52 +0000 (11:25 +0900)]
DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark
This patch fixes flakyness of testRequestBenchmark by adjusting time
limit for callback registration from 100ms to 180ms, and time limits for
onAvailable and onLost triggers from 30ms to 40ms.
With these timeouts the test succeeds 100% over 5000 iterations.
When using 150ms for registration timeout, running the test 5000 times
fails 2 times.
When using 30ms for onLost timeout, running the test 5000 times fails
1 times.
In addition, this patch also cleans testRequestBenchmark and uses the
more stable SystemClock.elapsedRealtime() for duration measurements.
Test: $ runtest frameworks-net
Bug:
32561414
(cherry picked from commit
38be57b438a0c1754091f045317db2049304e16f)
Change-Id: I196ab9ef7f5abe456a783eed65db09279d2ecb8c
Jeff Sharkey [Fri, 2 Dec 2016 19:17:21 +0000 (12:17 -0700)]
DO NOT MERGE: Switch over to new "time.android.com" NTP pool.
Also add logging to measure success/failure details.
Test: builds, boots, and NTP fix obtained
Bug:
32969463
(cherry picked from commit
d3f689bf14a05de735b5cc92dcf20e7226c78690)
Change-Id: I7da416099ae903fd92beb516251ef4e51673eecf
Stephen Chen [Tue, 18 Oct 2016 23:41:47 +0000 (16:41 -0700)]
DO NOT MERGE: Define API for metering network stats buckets.
This is a continuation of b/
26545374, since now we can also set the
metered bit with NetworkScorer. The tracking of metered state changes
will be implemented in a seperate CL.
Bug:
31015360
Bug:
26545374
Test: N/A
(cherry picked from commit
9ac251d1169639c7b955d63b21e80cbc5c394090)
Change-Id: I6a2fcc8577d62daa8823dff9e0128a5cf39ede7b
Felipe Leme [Thu, 18 Aug 2016 23:20:01 +0000 (16:20 -0700)]
DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.
Test: m -j32 FrameworksServicesTests && adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk && adb shell am instrument -e class "com.android.server.net.NetworkStatsServiceTest" -w "com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner"
BUG:
30943463
(cherry picked from commit
b8f946dc4b24998f14e28573e452ab13ed533347)
Change-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa
Felipe Leme [Mon, 22 Aug 2016 15:50:43 +0000 (08:50 -0700)]
DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.
BUG:
30839080
BUG:
31007021
(cherry picked from commit
fc7d7a359f800d7320d29055ef3b4b75157aaf13)
Change-Id: I35942e60493adebb22871541a34240368c691ee7
Felipe Leme [Thu, 18 Aug 2016 22:31:45 +0000 (15:31 -0700)]
DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.
Most tests were failing because due to a null NetworkCapabilities.
Example:
1) testNetworkStatsWifi(com.android.server.net.NetworkStatsServiceTest)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.net.NetworkCapabilities.hasCapability(int)' on a null object reference
at
com.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:983)
BUG:
30839080
(cherry picked from commit
574f370c6da52eeffe747248d68ef044617c7bcf)
Change-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3
Jeremy Joslin [Mon, 8 Aug 2016 23:07:37 +0000 (16:07 -0700)]
DO NOT MERGE: VPN network stat accounting changes.
Properly account for VPN apps that make heavy use of the tun
interface. Prior to this change a VPN app could be incorrectly charged
for more data than it actually used if it sent more traffic through
the tun interface than the underlying interface.
This change excludes VPN app traffic on the tun interface from the
adjustment pool and doesn't redistribute traffic to the VPN app.
Instead all of the redistributed traffic is deducted from the VPN app
which effectively represents any overhead incurred by the VPN app.
BUG:
30557871
(cherry picked from commit
8b436d865c9f287e9ae491e5278cd8874f4a865b)
Change-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de
Hugo Benichi [Thu, 13 Oct 2016 07:48:42 +0000 (16:48 +0900)]
DO NOT MERGE: ConnectivityThread: use lazy holder idiom
This patch changes the way that the ConnectivityThread is lazily
instantiated by using the "lazy initialization holder class idiom".
The first code point that tries to obtain a reference to the unique
ConnectivityThread instance will trigger the creation of the Singleton
class, which will guarantee a thread-safe initialization of the static
INSTANCE field inside Singleton according to the language specs.
This is the Item #71 of Effective Java.
The unique static instance of ConnectivityThread is not stored directly
inside ConnectivityThread class but is stored in a static nested class.
This is to avoid triggering the creation of that unique instance when
Zygote does class preloading at phone startup. Otherwise this would lead
to Zygote creating a new OS thread during preloading, which is a fatal
error.
Test: frameworks-wifi tests pass
Bug:
26749700
Bug:
28537383
Bug:
32130437
(cherry picked from commit
c4fe5d373caa9f53686e4d58e61394dd40558957)
Change-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc
Hugo Benichi [Thu, 7 Jul 2016 01:15:56 +0000 (10:15 +0900)]
DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper
This patch removes the static singleton looper used by
ConnectivityManager and instead uses the common ConnectivityThread.
This allows to removes the static atomic counter used to track
the number of registered NetworkCallback in ConnectivityManager, because
the looper is not turned off anymore when no callbacks are registered.
Also an overloaded version of sendRequestForNetwork is added taking as a
new parameter a Handler. This will allow to overload various callback
and request related API calls with user provided Handlers.
Test: ConnectivityServiceTest passes
Bug:
26749700
Bug:
28537383
Bug:
32130437
(cherry picked from commit
7724cdd8b90006c852644d06cf6c8a28450c71c6)
Change-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1
Hugo Benichi [Wed, 6 Jul 2016 13:53:17 +0000 (22:53 +0900)]
DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler
This patch simplifies CallbackHandler in the following way:
- CallbackHandler directly uses the static references to
sNetworkCallback and sCallbackRefCount. This allows to remove
instance fields in CallbackHandler.
- CallbackHandler does not have a reference to ConnectivityManager
anymore
- CallbackHandler.getObject() is now generic in a type-safe way.
Test: ConnectivityServiceTest passes
Bug:
28537383
Bug:
32130437
(cherry picked from commit
d42650faaa33ec6274278c65a6042228555ddd4f)
Change-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034
Philip P. Moltmann [Mon, 18 Apr 2016 23:23:06 +0000 (16:23 -0700)]
DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.
Fixes:
28530428
(cherry picked from commit
7d5da4b044183826ac8388c8bdb94ac979a81797)
Change-Id: If2bfc06589adb361f11b89cd5923cb5c255cb680
Jeremy Klein [Sun, 13 Mar 2016 00:29:54 +0000 (16:29 -0800)]
DO NOT MERGE: Add a null check for the OnStartTetheringCallback.
This avoids a NullPointerException when trying to call the callback
and gives a more readable error message.
(cherry picked from commit
5f277e1667b49976a77c9fa79b9a04d775f3b49e)
Change-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070
Hugo Benichi [Fri, 9 Dec 2016 03:47:48 +0000 (03:47 +0000)]
Merge changes from topic 'framework-net-aosp' am:
25afce88a6
am:
5910f412bd
Change-Id: I919fd8d8075c89aa9eb42b505017c075f61824ff
Hugo Benichi [Fri, 9 Dec 2016 03:46:50 +0000 (03:46 +0000)]
DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents am:
f99a33a1b4 -s ours
am:
6765bc08d0 -s ours
Change-Id: I9e3ca112a654018d9d0b72ba1b0963e7fb678cf0
Hugo Benichi [Fri, 9 Dec 2016 03:45:57 +0000 (03:45 +0000)]
DO NOT MERGE: TokenBucket for rate-limiting and throttling am:
05ad47add8 -s ours
am:
c50e9972dd -s ours
Change-Id: Iaaf4c3b0b335bf741452eb5bcd05c03f45d419fc
Hugo Benichi [Fri, 9 Dec 2016 03:45:08 +0000 (03:45 +0000)]
DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings am:
8c9e4b68f0 -s ours
am:
f3b4c26453 -s ours
Change-Id: I7f2eee043702be1a8878851793b9b17bdb89766b
Lorenzo Colitti [Fri, 9 Dec 2016 03:43:42 +0000 (03:43 +0000)]
DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility. am:
b55bf38351 -s ours
am:
d1c92f25b3 -s ours
Change-Id: I441369366958f6bc55776a4f449715103ed61cc0
Hugo Benichi [Fri, 9 Dec 2016 03:42:53 +0000 (03:42 +0000)]
DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports am:
5635c270a1 -s ours
am:
a67ede1e15 -s ours
Change-Id: I5b363f1f5a3b4dae5de156ea9014d9d259219bcd
Hugo Benichi [Fri, 9 Dec 2016 03:41:57 +0000 (03:41 +0000)]
DO NOT MERGE: IpConnectivity metrics: add version number am:
9df2ae138b -s ours
am:
0e67ef7d3f -s ours
Change-Id: I05ffe76ca4f266bd341fc298cbc03da62991e4bb
Hugo Benichi [Fri, 9 Dec 2016 03:31:44 +0000 (03:31 +0000)]
Merge changes from topic 'framework-net-aosp'
am:
25afce88a6
Change-Id: I04262e6b654c8ce0fd44139d5568783d75ccbe7b
Hugo Benichi [Fri, 9 Dec 2016 03:31:37 +0000 (03:31 +0000)]
DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents
am:
f99a33a1b4 -s ours
Change-Id: Iedfe60899226b6007963b0852f87ecebb5bc987e
Hugo Benichi [Fri, 9 Dec 2016 03:30:56 +0000 (03:30 +0000)]
DO NOT MERGE: TokenBucket for rate-limiting and throttling
am:
05ad47add8 -s ours
Change-Id: I7f5a7a47d7e430fc503612bfd0a844b5ffe1bde9
Hugo Benichi [Fri, 9 Dec 2016 03:29:58 +0000 (03:29 +0000)]
DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings
am:
8c9e4b68f0 -s ours
Change-Id: Ie3265557cacf2014ace63fcd73f1334330558631
Lorenzo Colitti [Fri, 9 Dec 2016 03:28:51 +0000 (03:28 +0000)]
DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.
am:
b55bf38351 -s ours
Change-Id: Ia5ca5f84367fd92848aa03446617bb296d4c93b3
Hugo Benichi [Fri, 9 Dec 2016 03:28:06 +0000 (03:28 +0000)]
DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports
am:
5635c270a1 -s ours
Change-Id: Ia9b6e6887fd80211ff054584127ec9141a22fd57
Hugo Benichi [Fri, 9 Dec 2016 03:27:23 +0000 (03:27 +0000)]
DO NOT MERGE: IpConnectivity metrics: add version number
am:
9df2ae138b -s ours
Change-Id: If27714f6dc3475030da891cd25a0f8e174ea83e3
Treehugger Robot [Fri, 9 Dec 2016 03:19:13 +0000 (03:19 +0000)]
Merge changes from topic 'framework-net-aosp'
* changes:
DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents
DO NOT MERGE: TokenBucket for rate-limiting and throttling
DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings
DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.
DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports
DO NOT MERGE: IpConnectivity metrics: add version number
Hugo Benichi [Tue, 18 Oct 2016 01:36:33 +0000 (10:36 +0900)]
DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents
This patch uses the previously introduced TokenBucket to rate limit
ApfProgramEvents, still allowing for burst of ApfProgramEvents when a
new interface is set up (due to ipv4 provisioning, multicast lock, ipv6 RAs
triggering new APF program events in short amounts of time).
Test: new test in IpConnectivityMetricsTest
Bug:
1550402
(cherry picked from commit
e1c173d2240a8eedf7685c9371087dc047a6931f)
Change-Id: Idb640dec13ba64180985544b9709a586af66eb6e
Hugo Benichi [Mon, 17 Oct 2016 23:43:30 +0000 (08:43 +0900)]
DO NOT MERGE: TokenBucket for rate-limiting and throttling
This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.
Test: comes with unit tests.
Bug:
32198637
(cherry picked from commit
998493f0ee39ae0e9ffdea27f48f1b11b0807fcb)
Change-Id: I4012ae6d02f7004bceee9a2ba03914f2a2506031
Hugo Benichi [Wed, 19 Oct 2016 02:17:28 +0000 (11:17 +0900)]
DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings
Test: IpConnectivityMetricsTest passes. Also manually changed the new
setting and verified the buffer size is as expected after flushing the
buffer.
Bug:
32198637
(cherry picked from commit
05686dbb6b965eb1a54591d2ed2334337886c6ee)
Change-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d
Lorenzo Colitti [Fri, 21 Oct 2016 09:41:25 +0000 (18:41 +0900)]
DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.
This makes the policy for mixed HTTP/HTTPS content match Chrome.
This allows us to display login pages where unimportant
subresources are HTTP.
Bug:
32171569
(cherry picked from commit
625166377b2d7c5f09d1e7617b3eac3a464fba53)
Change-Id: Ia82958192d978280715442e182c34f9da5c88c66
Hugo Benichi [Wed, 19 Oct 2016 04:48:40 +0000 (13:48 +0900)]
DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports
Test: manually created a bug report and inspected content.
(cherry picked from commit
51d14cb60793a9a073b8a29ff7875bb518cd7d54)
Change-Id: I9649cc2f9bb7a1975e60baaae55fcdb2a48c3b93
Hugo Benichi [Thu, 13 Oct 2016 04:16:16 +0000 (13:16 +0900)]
DO NOT MERGE: IpConnectivity metrics: add version number
This patch adds a version field to ipconnectivity.proto and populates it
to 2, which is the logical version number for NYC-MR2.
Test: IpConnectivity{EventBuilder,Metrics}Test pass
Bug:
32127906
(cherry picked from commit
d680d4c856f54bea0c60dea74ba4204822391e49)
Change-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52
Svetoslav Ganov [Fri, 9 Dec 2016 01:52:56 +0000 (01:52 +0000)]
Fix vulnerability in MemoryIntArray am:
1181f448c1 am:
d08cf2b071
am:
385277305e
Change-Id: I3d7222359d095d5e53f3e6fbfeda10352fa43f76
Svetoslav Ganov [Fri, 9 Dec 2016 01:48:16 +0000 (01:48 +0000)]
Fix vulnerability in MemoryIntArray am:
1181f448c1
am:
d08cf2b071
Change-Id: I436a09f1e49626fa45a7f6cc6bff92b2e5486a97
Svetoslav Ganov [Fri, 9 Dec 2016 01:43:52 +0000 (01:43 +0000)]
Fix vulnerability in MemoryIntArray
am:
1181f448c1
Change-Id: I4217066be49bb9525e945f110c22eb864ec6c212
Svetoslav Ganov [Thu, 8 Dec 2016 23:58:02 +0000 (23:58 +0000)]
Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.
Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.
Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.
Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.
Tests: Updated the tests and they pass.
bug:
33039926
bug:
33042690
Change-Id: Ibf56827209a9b791aa83ae679219baf829ffc2ac
Bill Napier [Thu, 8 Dec 2016 22:40:09 +0000 (22:40 +0000)]
Revert "Fix vulnerability in MemoryIntArray am:
a97171ec49" am:
43966dafb3 am:
498547ec6c
am:
ef435f6780
Change-Id: I6b879ca7e2c7c48885dcdbf791afcd914869df24
Bill Napier [Thu, 8 Dec 2016 22:34:34 +0000 (22:34 +0000)]
Revert "Fix vulnerability in MemoryIntArray am:
a97171ec49" am:
43966dafb3
am:
498547ec6c
Change-Id: I8874250d553a7271305efc3f027c933e4aad3b1d
Bill Napier [Thu, 8 Dec 2016 22:30:02 +0000 (22:30 +0000)]
Revert "Fix vulnerability in MemoryIntArray am:
a97171ec49"
am:
43966dafb3
Change-Id: I01bc83edd411dc39cb696e64ea35b5d4a8497fbf
Bill Napier [Thu, 8 Dec 2016 22:22:38 +0000 (22:22 +0000)]
Revert "Fix vulnerability in MemoryIntArray am:
a97171ec49"
This reverts commit
fb12dd509f8e106d034f67c2e404845128128994.
Change-Id: I9e1b22b8df0e754095541a758096cba279a81ab1
Svetoslav Ganov [Thu, 8 Dec 2016 21:51:05 +0000 (21:51 +0000)]
Fix vulnerability in MemoryIntArray am:
a97171ec49 am:
fb12dd509f am:
a5ee109029
am:
5250d90637
Change-Id: I20c20bee05321d722e83ee47ad6d13e308178e02
Svetoslav Ganov [Thu, 8 Dec 2016 21:46:34 +0000 (21:46 +0000)]
Fix vulnerability in MemoryIntArray am:
a97171ec49 am:
fb12dd509f
am:
a5ee109029
Change-Id: If1b852faa812b0bcb7419ae0f75a3e2349926de0
Svetoslav Ganov [Thu, 8 Dec 2016 21:42:05 +0000 (21:42 +0000)]
Fix vulnerability in MemoryIntArray am:
a97171ec49
am:
fb12dd509f
Change-Id: I269ec7d61ebdc9f485d759d1398d5fa4eacf868f
Svetoslav Ganov [Thu, 8 Dec 2016 21:37:33 +0000 (21:37 +0000)]
Fix vulnerability in MemoryIntArray
am:
a97171ec49
Change-Id: Ifa2221a9b8ca705ef0239d61772938ac11761ce2
Yoshinori Hirano [Thu, 8 Dec 2016 21:13:10 +0000 (21:13 +0000)]
Merge "Don't include front most excluded task in Multi-Window mode" am:
a8c2c229d7
am:
435db7e690
Change-Id: Iedb0b93fd599170132ddd545490a3564e575cdc0