OSDN Git Service
Pierre Imai [Fri, 27 May 2016 06:51:55 +0000 (15:51 +0900)]
Silence spammy iptables rule at boot.
BUG:
28529315
Change-Id: I4818b3833464502a44d9cdb92e3c59802882397b
Erik Kline [Thu, 26 May 2016 14:40:14 +0000 (14:40 +0000)]
Update wlutil path
am:
bdcba1127a
* commit '
bdcba1127a8709566fdec49bc303234e0e8ee924':
Update wlutil path
Change-Id: Ieb82f51d47c33d10b32400e007322d35dc423b61
Erik Kline [Thu, 26 May 2016 08:00:31 +0000 (17:00 +0900)]
Update wlutil path
The path to wlutil changed to /system/vendor/xbin with ag/893600 .
Bug:
28850734
Change-Id: I101517e7d849c288cbe9877e874b8d7914fbc1e9
Robin Lee [Tue, 17 May 2016 16:26:07 +0000 (16:26 +0000)]
Merge "Drop PROHIBIT_NON_VPN priority 11500 -> 12500" into nyc-dev
am:
5bbe13bdc4
* commit '
5bbe13bdc4470d0af2786fc62ad40a8ba8ff5830':
Drop PROHIBIT_NON_VPN priority 11500 -> 12500
Change-Id: I22e4e178b25d579eabde255da1d5b1a6c954556d
Robin Lee [Tue, 17 May 2016 16:19:40 +0000 (16:19 +0000)]
Merge "Drop PROHIBIT_NON_VPN priority 11500 -> 12500" into nyc-dev
Lorenzo Colitti [Mon, 16 May 2016 14:09:21 +0000 (14:09 +0000)]
Merge changes Ifbd15bf9,I985e6861,I54860c7c into nyc-dev
am:
7ad3c888e2
* commit '
7ad3c888e2781321cf44cb101cdf180a9671ca1e':
Make FirewallController::createChain use replaceUidChain.
Make firewallReplaceUidChain match the behaviour of createChain.
Don't crash the test if expecting more commands than were run.
Change-Id: Ib9dac62413187fc9b4978dfe14b7d29dbf328328
Lorenzo Colitti [Mon, 16 May 2016 14:02:00 +0000 (14:02 +0000)]
Merge changes Ifbd15bf9,I985e6861,I54860c7c into nyc-dev
* changes:
Make FirewallController::createChain use replaceUidChain.
Make firewallReplaceUidChain match the behaviour of createChain.
Don't crash the test if expecting more commands than were run.
Lorenzo Colitti [Fri, 13 May 2016 08:03:42 +0000 (17:03 +0900)]
Make FirewallController::createChain use replaceUidChain.
This has two benefits:
1. It makes the behaviour of setting firewall chains via the
firewallReplaceUidChain RPC match the behaviour of creating
the chains on boot. (As a side effect, it reduces code
duplication between the two.)
2. It makes creating firewall chains on boot use iptables-restore,
which is substantially faster than running iptables commands
one at a time.
This CL will allow the framework to switch to using
firewallReplaceUidChain when the framework starts, providing
substantial speedups over the current behaviour of running two
iptables commands for every app that is whitelisted or idle.
Bug:
26675191
Change-Id: Ifbd15bf9143efd526570dde8f88effc79d164630
Lorenzo Colitti [Fri, 13 May 2016 02:25:54 +0000 (11:25 +0900)]
Make firewallReplaceUidChain match the behaviour of createChain.
The behaviour of the firewallReplaceUidChain was incorrect in
several ways:
1. It was missing the "always allow TCP RST packets" rules which
were added in http://ag/963000 .
2. It included a RETURN statement at the end of blacklist chains,
which is superfluous since all user-defined chains implicitly
return, and became incorrect when http://ag/963000 switched the
behaviour of blacklist chains from inserting new rules at the
beginning to appending them at the end.
3. It was missing the rules to allow the types of ICMPv6 packets
that are critical in maintaining connectivity.
By itself, this change is a no-op since nothing currently calls
firewallReplaceUidRule.
Bug:
26675191
Change-Id: I985e6861812908cbe7eaf0f54ca0ad39c22bbfeb
Lorenzo Colitti [Fri, 13 May 2016 07:57:15 +0000 (16:57 +0900)]
Don't crash the test if expecting more commands than were run.
Bug:
26675191
Change-Id: I54860c7cf7b79bb6ace89c3130467ba7c0473e03
Pierre Imai [Mon, 16 May 2016 09:07:26 +0000 (09:07 +0000)]
Merge "Fix P2TP VPNs by adding an exception for VPN user." into nyc-dev
am:
4f88299120
* commit '
4f88299120b076dc068a67cf0f0343660a2777fa':
Fix P2TP VPNs by adding an exception for VPN user.
Change-Id: Ic8528dd6d589f08324ecbc69a4024086e9054a7f
TreeHugger Robot [Mon, 16 May 2016 09:02:17 +0000 (09:02 +0000)]
Merge "Fix P2TP VPNs by adding an exception for VPN user." into nyc-dev
Pierre Imai [Mon, 16 May 2016 07:32:17 +0000 (16:32 +0900)]
Fix P2TP VPNs by adding an exception for VPN user.
BUG:
27199751
Change-Id: I1144228febba0c4cce1333fb39ea186d2963ed10
Pierre Imai [Fri, 13 May 2016 09:00:58 +0000 (09:00 +0000)]
Increase the DNS TTL to 5s to fix netd_test.
am:
f581017c79
* commit '
f581017c7945ee024a2757925ff82861b34a069c':
Increase the DNS TTL to 5s to fix netd_test.
Change-Id: Iffcb3527816269f1509df4f070d57742ee7a4f92
Pierre Imai [Fri, 13 May 2016 07:28:28 +0000 (16:28 +0900)]
Increase the DNS TTL to 5s to fix netd_test.
Under some rare, but repeatable, conditions, the cache would expire
before the second getaddrinfo() call in the test was executed, thus causing
superfluous queries that made the test fail. Increasing the TTL fixes
this.
BUG:
28252032
Change-Id: I82919c147ca9c1b7a92f963556b27fb72e3d2222
Pierre Imai [Thu, 12 May 2016 07:54:46 +0000 (07:54 +0000)]
Test that changing the DNS search paths works.
am:
ee335ef233
* commit '
ee335ef2333aaa09290ed8cf4a65f8e6e8b21c46':
Test that changing the DNS search paths works.
Change-Id: I4c1bd059f3345e4442463352c178b8d7bd8d0680
Pierre Imai [Fri, 6 May 2016 02:56:45 +0000 (11:56 +0900)]
Test that changing the DNS search paths works.
Add a test to verify that changing the DNS search paths on their own,
without also changing the DNS servers, works as expected.
BUG:
28437641
Change-Id: Ie3b6be119f5d33c7782c250a83d24f26c776825e
(cherry picked from commit
592303cf22e1139ecb32fb7589abdc6bc6d14354)
Robin Lee [Tue, 3 May 2016 12:17:58 +0000 (13:17 +0100)]
Drop PROHIBIT_NON_VPN priority 11500 -> 12500
So that the rule can be kept up 100% of the time instead of dropping
it when VPN comes on.
Bug:
26694104
Change-Id: I1df6b8f588e54d72e34dbcbd15492513e07fac3d
Robin Lee [Mon, 2 May 2016 11:17:30 +0000 (11:17 +0000)]
Restore ACT_UNREACHABLE
am:
c125fe43c1
* commit '
c125fe43c194128167db7a2a82b736b1357945d8':
Restore ACT_UNREACHABLE
Change-Id: Ibdc6df61ba87951cabb278250d9a646b27f42315
Robin Lee [Mon, 2 May 2016 07:53:34 +0000 (08:53 +0100)]
Restore ACT_UNREACHABLE
This got lost in between
I7d9752e86fa1a4564c622152a5be6ce2c1eda150 and
If23df0760c6eb0ad137fc26c5124e48edf23b722.
Which broke creating the UNREACHABLE network, also breaking the dummy
network which should be created after it.
Fix:
28304838
Change-Id: I31c4ca9c3f53d6162b50e5bc46e27cfcd1b6a314
Pierre Imai [Thu, 28 Apr 2016 13:39:12 +0000 (13:39 +0000)]
Add dumpsys support to ResolverController
am:
3a27207
* commit '
3a272070fc318ef1a7a5a04e500483f1a7c629a8':
Add dumpsys support to ResolverController
Change-Id: I61b0352be471f6631cf5b400fdce447cbf1f6526
Pierre Imai [Thu, 28 Apr 2016 13:39:12 +0000 (13:39 +0000)]
Add two Netd binder calls to set/get resolver config.
am:
beedec3
* commit '
beedec3bc42d6f40a2c83a65522e85b5ff046f79':
Add two Netd binder calls to set/get resolver config.
Change-Id: I32c2ee7d27207853a16ee110b712375d0446feb7
Pierre Imai [Tue, 19 Apr 2016 07:17:07 +0000 (16:17 +0900)]
Add dumpsys support to ResolverController
BUG:
25731675
Change-Id: I1c715368b1f2d5e732528cd226b3f69792b75321
Pierre Imai [Tue, 12 Apr 2016 21:44:51 +0000 (06:44 +0900)]
Add two Netd binder calls to set/get resolver config.
setResolverConfiguration() sets the name servers, search domains,
and resolver parameters.
getResolverInfo() returns the configured information and also the
statistics for each server.
Also includes tests for the new functionality.
BUG:
25731675
Change-Id: Idde486f36bb731f9edd240d62dc1795f8e621fe6
Lorenzo Colitti [Tue, 26 Apr 2016 09:01:56 +0000 (09:01 +0000)]
Allow TCP RSTs to make it through firewall rules.
am:
932c44c
* commit '
932c44c9bd875060219df7f2ad78769e65adbaca':
Allow TCP RSTs to make it through firewall rules.
Change-Id: I34b136804e7eb1a4fb27314e51c4967de21da486
Lorenzo Colitti [Tue, 26 Apr 2016 09:01:55 +0000 (09:01 +0000)]
Add a binder IPC to close socket connections.
am:
563d98b
* commit '
563d98b27d02a1d694fc4ed82b5554fd534c9daf':
Add a binder IPC to close socket connections.
Change-Id: Idb7e6cf83e6134d390c3e505973e245c7dc718de
Lorenzo Colitti [Sun, 24 Apr 2016 07:58:02 +0000 (16:58 +0900)]
Allow TCP RSTs to make it through firewall rules.
This allows us to cleanly close apps' TCP connections when we
remove their network connectivity.
Bug:
27824851
Change-Id: I69ae0e860536139d30d14d580a36c82f79dc2f82
Lorenzo Colitti [Sun, 24 Apr 2016 04:13:14 +0000 (13:13 +0900)]
Add a binder IPC to close socket connections.
Bug:
27824851
Bug:
27867653
Change-Id: I2e63ccfb268db763ec732594a73c2908838468b8
Robin Lee [Tue, 19 Apr 2016 19:40:30 +0000 (19:40 +0000)]
Server API to only allow networking by VPN apps
am:
b808736
* commit '
b8087363143050d214d48e5620a330776ca95a69':
Server API to only allow networking by VPN apps
Change-Id: I2dd017089226356eda452d6cc246f6e9b3e3166f
Robin Lee [Tue, 19 Apr 2016 19:40:30 +0000 (19:40 +0000)]
Have modifyIpRule take an explicit action
am:
4ef9464
* commit '
4ef94642636182e68495f606a65c00f8a830aad4':
Have modifyIpRule take an explicit action
Change-Id: I9836350a8042622ca440ffdc057d799de561f71f
Robin Lee [Tue, 19 Apr 2016 19:40:30 +0000 (19:40 +0000)]
Move UidRange aidl to create a native cpp version
am:
9f9aae9
* commit '
9f9aae9102f62f5f96ccec670170ee1fb262ef09':
Move UidRange aidl to create a native cpp version
Change-Id: Idc705f22d3eeeb8de90a1133e42e05c184518e25
Robin Lee [Wed, 30 Mar 2016 17:43:08 +0000 (18:43 +0100)]
Server API to only allow networking by VPN apps
Secure virtual networks already create rules to route all traffic into
theirselves. This depends on the secure network already existing.
API creates an ip rule at a priority level below SECURE_VPN which
can catch traffic before VPN comes up, if it is a requirement that no
traffic ever leaves without first going through VPN.
Bug:
26694104
Bug:
26354134
Change-Id: If23df0760c6eb0ad137fc26c5124e48edf23b722
Robin Lee [Fri, 1 Apr 2016 10:50:49 +0000 (11:50 +0100)]
Have modifyIpRule take an explicit action
Instead of inferring from the priority what the action should be.
Bug:
26694104
Change-Id: I7d9752e86fa1a4564c622152a5be6ce2c1eda150
Robin Lee [Wed, 30 Mar 2016 17:33:07 +0000 (18:33 +0100)]
Move UidRange aidl to create a native cpp version
Moved from:
//frameworks/base/core/java/android/net/
To:
//system/netd/binder
Since frameworks/base depends on netd but not vice versa, it is cleaner
to keep the internal aidl in the same place as the native implementation
in netd.
Bug:
26694104
Change-Id: If21a72978ad5b93f0eed04c75143b55157c1a014
Lorenzo Colitti [Tue, 12 Apr 2016 14:28:50 +0000 (23:28 +0900)]
Netd metrics logging for DNS queries
This CL defines a new IDnsEventListener interface and instruments
DnsProxyListener to send log events to it after every DNS query.
Bug:
28204408
Change-Id: I7ef09d8fac2a583fb3dc8e392c4fff5649258b28
Lorenzo Colitti [Fri, 15 Apr 2016 01:22:37 +0000 (10:22 +0900)]
Move the Stopwatch class to NetdConstants.
Also implement TimedOperation by subclassing Stopwatch, since
it essentially does the same thing.
Change-Id: I68febcf1caa8a00b548790f9e3ccc10836877639
TreeHugger Robot [Thu, 14 Apr 2016 09:55:18 +0000 (09:55 +0000)]
Merge "Kill sockets when a VPN comes up." into nyc-dev
Lorenzo Colitti [Wed, 13 Apr 2016 15:56:01 +0000 (00:56 +0900)]
Kill sockets when a VPN comes up.
1. Change the SockDiag callback function to be a filter that
returns a bool instead of a function that optionally kills a
socket. All existing callbacks basically only existed to kill
sockets under certain conditions, and making them return a
boolean allows reusing the same callback function signature
to filter sockets as well.
2. Add a new SockDiag method to kill sockets based on a UidRanges
object (which contains a number of UID ranges) and a list of
users to skip.
3. Add a new UIDRANGE mode to SockDiagTest to test the above.
4. When UID ranges are added or removed from the VPN, kill
sockets in those UID ranges unless the socket UIDs are in
mProtectableUsers and thus their creator might have set the
protect bit on their mark. Short of actually being
able to see the socket mark on each socket and basing our
decision on that, this is the best we can do.
Bug:
26976388
Change-Id: I53a30df3feb63254a6451a29fa6041c9b679f9bb
Pierre Imai [Tue, 12 Apr 2016 02:35:47 +0000 (02:35 +0000)]
Merge "Fix netd_test by removing flush cache call." into nyc-dev
Jon Larimer [Mon, 11 Apr 2016 16:43:41 +0000 (16:43 +0000)]
Merge "Workaround ASan false positive in RouteController." into nyc-dev
Pierre Imai [Fri, 8 Apr 2016 04:15:27 +0000 (13:15 +0900)]
Fix netd_test by removing flush cache call.
Change-Id: Iba3ff9da55cbc709d12b12b9c65dbc565bbd2828
Lorenzo Colitti [Fri, 8 Apr 2016 04:33:38 +0000 (13:33 +0900)]
Deduplicate test targets.
netd_integration_test already runs all the tests in netd_test.
Change-Id: I44c2ffaecded071a54af1c54c823856ffc6eb0cf
Evgenii Stepanov [Fri, 12 Feb 2016 00:55:56 +0000 (16:55 -0800)]
Workaround ASan false positive in RouteController.
Bug:
27037723
Change-Id: I40e7f0d07652aeb6484de5f963a7698b6805d582
(cherry picked from commit
dfde1d6c6c397e437adf937a1718784d9cb2c0cf)
Erik Kline [Wed, 6 Apr 2016 04:07:15 +0000 (04:07 +0000)]
Merge "Remove "resolver flushnet <netid>" command." into nyc-dev
Erik Kline [Wed, 6 Apr 2016 02:46:32 +0000 (11:46 +0900)]
Remove "resolver flushnet <netid>" command.
Change-Id: I117adc3c7e240597e7fd91c709898bbbbe988261
Pierre Imai [Wed, 9 Mar 2016 09:09:25 +0000 (18:09 +0900)]
DO NOT MERGE: Let netd to use the new set_nameservers_for_net call.
Also add more test for netd's resolver.
(cherry picked from commit
12f6baf16328cdeea8f079616c2c44ac28f82496)
Change-Id: I446f11b3462522ec3a18c2a3ec9401ad6cf77e8b
Erik Kline [Thu, 31 Mar 2016 05:57:24 +0000 (05:57 +0000)]
Merge "Switch from android::netd::List to std::list" into nyc-dev
Erik Kline [Thu, 31 Mar 2016 02:39:53 +0000 (11:39 +0900)]
Switch from android::netd::List to std::list
Change-Id: I3e6560bbc46fd551d3501227250536cabeff4f71
Philip P. Moltmann [Wed, 16 Mar 2016 16:43:26 +0000 (09:43 -0700)]
Add mDNS TXT records to the resolve-call result.
I added binary value support. This changes the format of the
communication between the android framework and netd.
Bug:
27696905
Change-Id: I85122062d63f1047c618be0b16e6e95621790fd6
Lorenzo Colitti [Mon, 28 Mar 2016 15:53:45 +0000 (00:53 +0900)]
Use iptables-restore in StrictController startup.
Bug:
21725996
Change-Id: I2c049a934189f3c87ee15f052abc07d35814f0c9
Lorenzo Colitti [Sun, 27 Mar 2016 17:34:54 +0000 (02:34 +0900)]
Add a test for StrictController.
Bug:
21725996
Bug:
25691379
Change-Id: I24b838161eaf98dede2ae897157ba42414fc926f
Lorenzo Colitti [Sun, 27 Mar 2016 17:30:27 +0000 (02:30 +0900)]
Move iptables test code to a new IptablesBaseTest class.
Bug:
25691379
Bug:
21725996
Change-Id: Ia0598e60ad24714d53470e05849929831ba9dbf6
Lorenzo Colitti [Sun, 27 Mar 2016 08:46:30 +0000 (17:46 +0900)]
Use iptables-restore in BandwidthController startup.
This saves approximately 800ms on boot.
From the perspective of the rules, this change is a no-op. As the
unit test shows, the commands are the same, though some are in a
slightly different order because iptables-restore requires that
COMMIT be called between different tables (e.g., filter and
mangle).
For simplicity, enableBandwidthControl runs two iptables-restore
commands instead of one. This is not semantically different from
the previous code because the previous code just ran iptables
commands one by one, which provides no atomicity. Running two
commands is a bit slower than running one, but it's still much
faster than using iptables.
Using iptables-restore allows us to do things like ":<chain> -",
which both creates the chain (if it does not already exist) and
flushes it. This allows us to remove IPT_CLEANUP_COMMANDS and
IPT_SETUP_COMMANDS. Those two sets of commands, which basically
just did "-X bw_<foo>" and "-N bw_<foo>" were only necessary
because the preceding "-F bw_<foo>" command would not create
bw_<foo> if it did not already exist (e.g. in setupIptablesHooks,
which runs on netd startup).
Bug:
21725996
Change-Id: I6656aed4287dfcb2311c94800f430c143fb0b1a5
Lorenzo Colitti [Sat, 26 Mar 2016 13:42:07 +0000 (22:42 +0900)]
Add more test coverage for BandwidthController.
Bug:
25691379
Bug:
21725996
Change-Id: I196f568221b3bad98ba2d60e019c2b24c59a9cbc
Lorenzo Colitti [Fri, 25 Mar 2016 04:38:19 +0000 (13:38 +0900)]
Attempt to make data saver mode work for real.
The data saver refactoring change was incorrect in >= two ways:
1. It relied on the bw_costly_shared chain, which is currently
unused. NetworkManagementService just has a "TODO: support
quota shared across interfaces" comment about it. What
actually happens when setting quota is that each costly
interface chain (e.g., bw_costly_rmnet_data0) directly hooks
in the bw_penalty box chain.
2. Implementing app whitelisting using "RETURN" inside
bw_happy_box was pointless because if data saver was enabled,
there was a REJECT at the end of the bw_costly_shared chain
that it was returning to.
Instead, go back to the previous approach which hooked
bw_happy_box at the end of bw_penalty_box. Also, add an
additional bw_data_saver rule at the end of bw_happy_box.
bw_data_saver only contains one rule: RETURN if data saver is
enabled or REJECT if data saver is disabled.
That way:
1. If the app is blacklisted, bw_penalty_box REJECTs. If not:
2. If the app is whitelisted (system apps are always whitelisted)
bw_happy_box RETURNs to bw_costly_rmnet_data0, skipping
bw_data_saver.
3. If an app is neither blacklisted nor whitelisted, bw_happy_box
jumps to bw_data_saver. If data saver is enabled, it REJECTs
the packet, and if not, it RETURNs to bw_costly_rmnet_data0.
4. When we RETURN to bw_costly_rmnet_data0, either because the
app is whitelisted, or because data saver is off,
bw_costly_rmnet_data0 applies mobile data usage limits,
and then RETURNs to bw_OUTPUT, which calls xt_qtaguid, etc.
Bug:
26685616
Bug:
27506285
Change-Id: If15397afde6862d95827a1fdd30f60efd7fab66a
Lorenzo Colitti [Thu, 24 Mar 2016 07:47:12 +0000 (16:47 +0900)]
Support destroying sockets for UIDs.
Bug:
27824851
Change-Id: Iab5ebfd1c3d463d60d3dbd3a271737c8bc824298
Lorenzo Colitti [Thu, 24 Mar 2016 08:19:28 +0000 (17:19 +0900)]
Refactor SockDiagTest in preparation for per-UID SOCK_DESTROY.
Bug:
27824851
Change-Id: I98fa7aefdd9d0acf0a352970e3ba236227182da6
Lorenzo Colitti [Tue, 22 Mar 2016 03:36:29 +0000 (12:36 +0900)]
Add a binder RPC to enable/disable data saver.
Bug:
26685616
Bug:
27506285
Change-Id: Id11ee717cfc1c79070b6bbec397986c25947646c
Lorenzo Colitti [Tue, 22 Mar 2016 05:33:50 +0000 (05:33 +0000)]
Merge changes I149ccda5,I4457abd4,I67bff7c3,Ie15b0775,I8dd9fc60 into nyc-dev
* changes:
Stop using SIOCKILLADDR in netd.
Add a rudimentary unit test for BandwidthController.
Slightly restructure the data saver iptables rules.
Remove the ability to enable/disable the happy box.
Don't keep naughty/nice app state in BandwidthController.
Lorenzo Colitti [Tue, 22 Mar 2016 01:14:03 +0000 (10:14 +0900)]
Stop using SIOCKILLADDR in netd.
SOCK_DESTROY is now supported in all N device kernels.
Bug:
26976388
Change-Id: I149ccda56edacac28602daddb01b5fd0222d5fb0
Lorenzo Colitti [Fri, 18 Mar 2016 08:52:25 +0000 (17:52 +0900)]
Add a rudimentary unit test for BandwidthController.
Bug:
26685616
Bug:
27506285
Change-Id: I4457abd43697a0425f167b81c1432d743800abb8
Lorenzo Colitti [Fri, 18 Mar 2016 03:36:03 +0000 (12:36 +0900)]
Slightly restructure the data saver iptables rules.
1. Make bw_costly_shared jump to bw_happy_box after
bw_penalty_box. This allows the framework to manipulate
whitelists and blacklists independently.
2. Make bw_happy box always whitelist system apps. Because
bw_penalty_box is consulted before bw_happy_box, the
framework can always blacklist certain system apps (e.g.,
the media server) by putting them in the blacklist.
3. Add a method to add/remove a reject at the end of
bw_costly_shared. This will allow the framework to
enable/disable data saver by changing only one rule.
Bug:
26685616
Bug:
27506285
Change-Id: I67bff7c3c9ff5eb3f84fb84550cdf49f153e1b68
Erik Kline [Tue, 15 Mar 2016 07:33:48 +0000 (16:33 +0900)]
Add initial dump() method to NetdNativeService
This is called by "dumpsys netd".
Bug:
27239233
Change-Id: I27fb308f8067243ff241a6f8fd6a83f406087d2a
Dmitry Shmidt [Mon, 21 Mar 2016 21:02:54 +0000 (14:02 -0700)]
netd: softap: Ignore fwreload command if FW path is not defined
Some wlan solutions can not switch or do not need to switch FW.
In this case we don't want the function to fail and to prevent
Wifi to start in settings.
Bug:
27774657
Change-Id: I11f3cf709db6f17fc558454aa894e4a2211a9312
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Lorenzo Colitti [Fri, 18 Mar 2016 03:05:19 +0000 (12:05 +0900)]
Remove the ability to enable/disable the happy box.
This code is unused, and the plan is to have the happy box
enabled at all times.
Bug:
26685616
Bug:
27506285
Change-Id: Ie15b0775d535df7ca94547a7d8b8a5ed536e6dbd
Lorenzo Colitti [Fri, 18 Mar 2016 02:55:56 +0000 (11:55 +0900)]
Don't keep naughty/nice app state in BandwidthController.
Copies of this state are already kept in NetworkManagementService,
NetworkPolicyManagerService, and iptables rules. A third copy of
this state is not necessary.
Bug:
26685616
Bug:
27506285
Change-Id: I8dd9fc60a28804ec95660092b13a2895f7480f56
Lorenzo Colitti [Thu, 17 Mar 2016 04:23:28 +0000 (13:23 +0900)]
Start NetdNativeService before CommandListener.
Starting CommandListener tells NetworkManagementService that netd
is ready to accept commands. Ensure that the binder service is
started (i.e., we have called startThreadPool) before we do this.
Bug:
27239233
Change-Id: Ica89e72f51eb4752cb5cea2e4096c6a9dc5776d7
Felipe Leme [Mon, 7 Mar 2016 17:25:50 +0000 (09:25 -0800)]
Whitelist system apps when using bw_happy_box.
BUG:
27506285
BUG:
26685616
Change-Id: I8352ebbab1778c85e0a1da79a0acede5aea144a1
Pierre Imai [Fri, 11 Mar 2016 08:54:48 +0000 (17:54 +0900)]
Fix netd tests for use with APCT
Change-Id: Ica37a812c37036ffecd45b8f078d8ed9928d01fc
Erik Kline [Wed, 9 Mar 2016 05:56:00 +0000 (14:56 +0900)]
More correctly set app_mark in getNetworkContext.
Specifically: set explicitlySelected, protectedFromVpn and permissions.
Bug:
26256264
Change-Id: I1ebd2c1878fb7166ac63c061c8731e66b0050a30
Lorenzo Colitti [Wed, 2 Mar 2016 13:30:41 +0000 (13:30 +0000)]
Merge changes I2dc1a074,Ic83d8160,I246696c4 into nyc-dev
* changes:
Move SockDiagTest into system/netd/server.
Add an RPC to replace a UID firewall rule.
Allow finer-grained locking, and use it in FirewallCmd.
Lorenzo Colitti [Wed, 2 Mar 2016 05:09:38 +0000 (14:09 +0900)]
Move SockDiagTest into system/netd/server.
My recollection is that we decided to put unit tests next to
the corresponding code and integration tests into tests/.
Change-Id: I2dc1a074ba8d323253d9be3b2052d6b287bacc15
Lorenzo Colitti [Fri, 26 Feb 2016 02:38:47 +0000 (11:38 +0900)]
Add an RPC to replace a UID firewall rule.
Also add a binder_test that exercises binder RPCs to the real
netd service running on the device
Bug:
21725996
Bug:
27239233
Change-Id: Ic83d81605021a0578d6cd32f889290be61d76125
Erik Kline [Wed, 2 Mar 2016 04:52:36 +0000 (04:52 +0000)]
Remove unused costName variable
am:
87732125ef
* commit '
87732125ef05808bf958530c8319026e7a1efbce':
Remove unused costName variable
Erik Kline [Wed, 2 Mar 2016 04:18:06 +0000 (13:18 +0900)]
Remove unused costName variable
Bug:
27432583
Change-Id: Ica6f8714eb6c40a4b6a94ac5e40144d0e781155e
Felipe Leme [Tue, 1 Mar 2016 01:31:44 +0000 (01:31 +0000)]
Merge "Created a firewall chain for power save mode." into nyc-dev
Lorenzo Colitti [Fri, 26 Feb 2016 02:30:59 +0000 (11:30 +0900)]
Allow finer-grained locking, and use it in FirewallCmd.
FirewallController is stateless and FirewallCmd does not access
any other controllers, so it is safe not to take the big netd
lock.
Bug:
27239233
Change-Id: I246696c4b17fa005c7d6b38ecd627747aa608831
Lorenzo Colitti [Tue, 23 Feb 2016 07:59:21 +0000 (16:59 +0900)]
Don't use a manually-sized buffer for the PID.
Change-Id: Ibdda590b828c61caa488e959f3e596dc981a2c65
Pierre Imai [Thu, 25 Feb 2016 07:34:29 +0000 (16:34 +0900)]
Minor improvements for netd_test
Change-Id: Icd89045c7099949ea66bd88b2ce5551301366640
Pierre Imai [Wed, 24 Feb 2016 09:00:03 +0000 (18:00 +0900)]
Wrap netd's controller to make them usable from other classes
Change-Id: Icb76b43e89c5a9e5806b95002d3653dd99912494
Lorenzo Colitti [Tue, 23 Feb 2016 13:25:11 +0000 (22:25 +0900)]
Rename the netd service from "android.net.INetd" to "netd".
Bug:
27239233
Change-Id: I34a5554604e6d8b8a50838c6911c28503cbf4540
Lorenzo Colitti [Tue, 2 Feb 2016 08:19:04 +0000 (17:19 +0900)]
Initial netd binder interface.
In this change:
1. AIDL files for a new, android.net.INetd service, and
corresponding implementation using generated code. For now the
interface is just a prototype: it only has one trivial method.
2. Permission checking code to check for CONNECTIVITY_INTERNAL.
3. Add a Big Netd Lock and provide a wrapper that makes it easy
to ensure that it is taken by every CommandListener command.
Bug:
27239233
Change-Id: I448d0ac233edd0e351a7fe7f13901fb6871683a2
Pierre Imai [Thu, 18 Feb 2016 04:13:12 +0000 (13:13 +0900)]
Add test for DNS resolver code in netd.
Change-Id: I92466868ae32ee67fb5d17c7758a7841f614e827
Lorenzo Colitti [Wed, 17 Feb 2016 03:06:57 +0000 (03:06 +0000)]
Merge "Use SOCK_DESTROY in netd." into nyc-dev
Lorenzo Colitti [Sun, 14 Feb 2016 16:09:14 +0000 (01:09 +0900)]
Use SOCK_DESTROY in netd.
Bug:
26976388
Change-Id: I1965ece8ae65d78323b5a49eeebefe29677be63f
Erik Kline [Tue, 16 Feb 2016 23:56:16 +0000 (23:56 +0000)]
Switch to ifc_add_address() for setcfg
am:
397fbc056c
* commit '
397fbc056c1ae1478f0311feab3a8a44cc6a4685':
Switch to ifc_add_address() for setcfg
Erik Kline [Fri, 5 Feb 2016 09:06:15 +0000 (18:06 +0900)]
Switch to ifc_add_address() for setcfg
This avoids the issue where, for example, 10.0.0.1/8 is added first,
then 10.0.0.1/8 is deleted, and 10.0.0.1/24 is added. Netlink changes
observed at the wrong time would make it seem as though IPv4 had
been lost when in fact everthing was fine.
Bug:
26991160
(cherry picked from commit
397fbc056c1ae1478f0311feab3a8a44cc6a4685)
Change-Id: Ia5a5fcdd01e0950ac099c2054d74f0c52aa20b9c
Lorenzo Colitti [Thu, 4 Feb 2016 15:57:26 +0000 (00:57 +0900)]
Support killing sockets using SOCK_DESTROY.
This gives netd the ability to close sockets on a particular
source IP address using SOCK_DESTROY. It does not yet enable
this behaviour.
The microbenchmark is able to close 500 IPv6 sockets in ~30ms on
my angler. Specifically:
- Scanning 500 socketpairs: ~5ms
- Scanning 500 socketpairs and killing one half of each: ~30ms
- Scanning 500 socketpairs and killing both halves of each: ~40ms
This is about ~2.5x-3.5x slower than SIOCKILLADDR:
- For 500 sockets, it's 9.5ms vs. 22.9ms.
- For 4000 sockets, it's ~40ms vs ~135ms.
A large part of that is due to sending RST packets, which
SIOCKILLADDR does not do. If the kernel is modified so that
SOCK_DESTROY does not send RSTs, the time taken to kill 4000
sockets goes down to ~70ms
Batching the destroy operations does not help much. It saves
5-10%, but it complicates error handling.
Bug:
26976388
Change-Id: I2e1ac30af5dbcdb98dbb7c6e4d4d67c55b9fd00f
Felipe Leme [Thu, 11 Feb 2016 02:12:39 +0000 (18:12 -0800)]
Created a firewall chain for power save mode.
When power-save mode was first implemented, there were no firewall rules
on netd, so the solution was to make all network interface metered and
re-use the bw_penalty_box chain.
This change removes that workaround by creating a explicit fw_powersave
chain, whose behavior is similar to fw_dozable (in fact, it reuses some
of its code); such change not only makes network restrictions on
power-save mode simpler, but it also allows to optimze how the restrict
network rules are changed.
BUG:
27127112
Change-Id: I52aee49d80386594e3a52fea9667d580d2d944a1
Erik Kline [Fri, 5 Feb 2016 09:06:15 +0000 (18:06 +0900)]
Switch to ifc_add_address() for setcfg
This avoids the issue where, for example, 10.0.0.1/8 is added first,
then 10.0.0.1/8 is deleted, and 10.0.0.1/24 is added. Netlink changes
observed at the wrong time would make it seem as though IPv4 had
been lost when in fact everthing was fine.
Bug:
26991160
Change-Id: If0dad2993f818686ef8a99618e779813e9c7af90
Erik Kline [Tue, 5 Jan 2016 05:14:40 +0000 (05:14 +0000)]
Merge "Revert "Tell dnsmasq not to start wildcard sockets""
Erik Kline [Tue, 5 Jan 2016 03:52:07 +0000 (03:52 +0000)]
Revert "Tell dnsmasq not to start wildcard sockets"
This reverts commit
f1dfabed0a9b6ee9c37b64db3bbcb656281d4771.
The 3.4 kernel does not have SO_REUSEPORT functionality but the
headers #define it, so dnsmasq tries to use it and setsockopt
duly fails.
This is not a problem on 3.10 and later kernels, but reverting anyway.
Bug:
9580643
Bug:
26301652
Change-Id: I2322a80caa76ee4b7bb290f1665081b17d86fd43
Sreeram Ramachandran [Thu, 24 Dec 2015 02:15:25 +0000 (18:15 -0800)]
Don\'t use framework permission strings for netd permissions. am:
5c8c42e90f am:
3b61825abc am:
a8c4601961 am:
296f2ef5c1
am:
dccd7e51e3
* commit '
dccd7e51e369cea69d0200eda6e49615a6318d8d':
Erik Kline [Thu, 17 Dec 2015 06:48:18 +0000 (06:48 +0000)]
Merge "Tell dnsmasq not to start wildcard sockets"
Elliott Hughes [Sat, 5 Dec 2015 00:55:50 +0000 (00:55 +0000)]
Merge "Track rename from base/ to android-base/." am:
c4f60ec960
am:
569ec05819
* commit '
569ec05819d63f57e680a01f54119ea2df462192':
Track rename from base/ to android-base/.
Elliott Hughes [Fri, 4 Dec 2015 23:57:31 +0000 (23:57 +0000)]
Merge "Track rename from base/ to android-base/."
am:
c4f60ec960
* commit '
c4f60ec960885154863824dc2f9eb1e4b84f4b9d':
Track rename from base/ to android-base/.
Elliott Hughes [Fri, 4 Dec 2015 23:45:39 +0000 (23:45 +0000)]
Merge "Track rename from base/ to android-base/."
Elliott Hughes [Fri, 4 Dec 2015 23:45:10 +0000 (15:45 -0800)]
Track rename from base/ to android-base/.
Change-Id: Ice6d43c0f9b16b8fb441158a0f7344dfbf969dea
Lorenzo Colitti [Wed, 25 Nov 2015 13:13:57 +0000 (22:13 +0900)]
Support scoped addresses as tethered DNS servers.
Bug:
9580643
Change-Id: Id086ff9194097fc1e0ab8e2e58e6ff843303f051
Sreeram Ramachandran [Fri, 20 Nov 2015 04:28:36 +0000 (04:28 +0000)]
Don\'t use framework permission strings for netd permissions. am:
5c8c42e90f am:
3b61825abc am:
a8c4601961 am:
296f2ef5c1
am:
b338d7c705
* commit '
b338d7c705e81fefd8a2b8d2613ce05986c2809e':
Don't use framework permission strings for netd permissions.