Commit Graph

124 Commits

Author SHA1 Message Date
Robert Greenwalt
8058f62189 Support for dns domain.
bug:6799630
Change-Id: I10070eddb65b7b60f0bc2b3e1e320e1aa4ec6e98
2012-11-16 11:25:32 -08:00
Jeff Sharkey
f56e2435b6 Restrict lockdown and firewall to AID_SYSTEM.
Bug: 7076289
Change-Id: Iafa3054335e8b1c3c8c3b8db2a4191d4ed4c8c41
2012-09-06 17:59:14 -07:00
Jeff Sharkey
69ddab4575 Always-on VPN.
Adds support for always-on VPN profiles, also called "lockdown." When
enabled, LockdownVpnTracker manages the netd firewall to prevent
unencrypted traffic from leaving the device. It creates narrow rules
to only allow traffic to the selected VPN server. When an egress
network becomes available, LockdownVpnTracker will try bringing up
the VPN connection, and will reconnect if disconnected.

ConnectivityService augments any NetworkInfo based on the lockdown
VPN status to help apps wait until the VPN is connected.

This feature requires that VPN profiles use an IP address for both
VPN server and DNS. It also blocks non-default APN access when
enabled. Waits for USER_PRESENT after boot to check KeyStore status.

Bug: 5756357
Change-Id: If615f206b1634000d78a8350a17e88bfcac8e0d0
2012-08-27 12:35:05 -07:00
Jeff Sharkey
2c0929850a Clean up firewall interface method names.
Change-Id: I653f0a01af7c90fc96b201abb31ea8354b036e74
2012-08-24 11:44:40 -07:00
Jeff Sharkey
c268f0b19e Framework interface for netd firewall.
Bug: 5756357
Change-Id: If8b9f738fcea2cf16bd01682220718b57346c7cc
2012-08-24 11:00:28 -07:00
Haoyu Bai
0412423f06 Setup idletimer for network interface.
Cherry-picked from commit f71ca8a572 in
master. DO NOT MERGE

Change-Id: I6101c7ae041b4cc1237ce7a9983753dbdfa301d3
2012-08-10 15:58:34 -07:00
Haoyu Bai
db3c8678e5 Network data activity change intent for network interfaces.
The activity notification is received from netd, an intent
DATA_ACTIVITY_CHANGE is then raised for other part of the system to
consume.

Change-Id: Idfcc4763c51c5b314c57f546c12557082f06bebf
2012-07-17 17:13:03 -07:00
Haoyu Bai
6b7358d951 Netd event code for interface class acitivity.
Change-Id: I83d5ca9ab854cb30ce6d9c06a977ca295f0cdbfd
2012-07-17 16:55:05 -07:00
Matthew Xie
fe19f1234e Add TODO comments to remove start/stopReverseTethering
Change start/stopReverseTethering permission from CHANGE_NETWORK_STATE
to CONNECTIVITY_INTERNAL

Change-Id: Iac76d5af6418e6a3e2d2f77bf713466981285e1a
2012-07-16 21:30:45 -07:00
fredc
0f42037eb7 Non persistent adapter service
Change-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5

Conflicts:

	core/java/android/bluetooth/BluetoothInputDevice.java

Conflicts:

	core/java/com/android/internal/app/ShutdownThread.java
	services/java/com/android/server/SystemServer.java

Conflicts:

	services/java/com/android/server/SystemServer.java
	services/java/com/android/server/pm/ShutdownThread.java
2012-07-16 21:20:54 -07:00
Irfan Sheriff
90542758d4 Cleanup softap interface to netd
Change-Id: I01e6c5b5a5a8ddaf05b979f9cc6d1293c86e8773
2012-06-19 16:21:22 -07:00
Robert Greenwalt
5a0c320a82 Modify logging to debug this issue
Logging exec time on startUsingNetworkFeature as we've had some reports suggesting it's
causing ANRs.
Remove some logging from NDC so it's local log is more useful.

bug:6492166
Change-Id: I258ff6c59bff2c65935242d50496d84720c5d493
2012-05-24 10:47:10 -07:00
Robert Greenwalt
b5aff3fde3 Add some logging to NDC.
bug:6492166
Change-Id: Ib7c7a0927d3e920f6c041f7252f3f24c8e597bc7
2012-05-15 17:26:57 -07:00
Jeff Sharkey
c065a8af15 Merge "Begin collecting xtables iface counters." into jb-dev 2012-05-04 12:53:02 -07:00
Jeff Sharkey
b24a78589b Push existing rules when netd reconnects.
When netd drops its socket connection to framework, assume that it
has restarted, and push any existing rules to keep netd and iptables
consistent.

Bug: 6376246
Change-Id: Id93138938321bcf885eb0e4fecaff8b150cfdfcf
2012-05-02 10:55:08 -07:00
Jeff Sharkey
e8914c3627 Begin collecting xtables iface counters.
Add method to parse new iface_stat_fmt proc stats, or return null
when kernel support is unavailable. Add test and remove older, unused
parsing code. Create new "xt" recorder to persist the new xtables
counters when available.

Add SSID support to NetworkIdentity to fix policy tests.

Bug: 6422414
Change-Id: I77f70e9acb79a559ab626f3af5c4f3599801ed43
2012-05-01 21:04:26 -07:00
Irfan Sheriff
d4933842b1 Merge "Fix softap start" 2012-03-09 11:06:42 -08:00
Irfan Sheriff
e4aecb671b Fix softap start
Remove the unncessary "softap start" which was used for broadcom
specific implementation

Change-Id: I79458082a116cd630bd13d1ed1a237eda7daaa88
2012-03-09 11:01:01 -08:00
Selim Gurun
84c00c67d7 Prevent potential stall in dns proxy.
Reflect the changes in ResponseCode.h to corresponding java file.

Change-Id: I6d536aa4942bb4bd9db5df97895467fcdb4786ca
2012-02-27 15:42:38 -08:00
Robert Greenwalt
470fd72a06 Log netd traffic nicely.
Create a LocalLog class for logging within a service for dumping in dumps.
Use it in the NativeDaemonConnector so we can get some insight into what
is happening in these lockups.

bug:5864209
Change-Id: I68ddc58847f3c8de613be9528570f8c3157d8274
2012-01-20 10:37:11 -08:00
Jeff Sharkey
3df273e458 Move NMS observers to RemoteCallbackList.
Internally uses Binder.linkToDeath() to handle case where remote
observer dies.

Change-Id: I9ae0ee6e011a9715172fa079098b108f895ae956
2011-12-15 15:55:00 -08:00
Jeff Sharkey
4529bb66c4 Move NMS to CONNECTIVITY_INTERNAL permission.
Change-Id: I6043c1b9cb10aeeafb93d1b5c60da571d2fec5c9
2011-12-14 17:51:13 -08:00
Jeff Sharkey
ba2896e939 Move native netd calls to varargs.
Uses argument escaping inside NativeDaemonConnector, using varargs
to separate boundaries.  Also introduces Command object to help build
argument lists.

Bug: 5472606
Change-Id: I357979fc19bb0171a056e690064e01b5a7119501
2011-12-02 13:08:26 -08:00
Jeff Sharkey
276642baf1 Uniform rethrowing of NDC exceptions.
Change-Id: I7e8b050f09ef0d3aebd5b5a72f856eb86dd25935
2011-12-01 11:24:24 -08:00
Jeff Sharkey
ddba10622d Clean up InterfaceConfiguration flags.
Offer modifier methods for interface flags instead of mutating
directly, and remove square brackets.

Change-Id: I4cce719dccedfb3f0e8448c111e65b93c0008cbb
2011-11-29 18:37:04 -08:00
Jeff Sharkey
31c6e4817f Move NativeDaemonConnector to varargs.
Perform uniform argument escaping inside NativeDaemonConnector, using
varargs to separate boundaries.  Also move to parsed NativeDaemonEvent
instances instead of raw Strings.

Bug: 5472606
Change-Id: I1270733e2b2eeb2f6b810240df82ab24d38ebf40
2011-11-29 12:09:06 -08:00
Robert Greenwalt
d73dd9528b am 18f05518: am eaeb4f4e: Merge "Fix some policy-base routing issues." into ics-mr1
* commit '18f05518a882eeb778433c65bff27831a8accdc2':
  Fix some policy-base routing issues.
2011-11-23 11:29:24 -08:00
Robert Greenwalt
e83d181606 Fix some policy-base routing issues.
Secondary nets sometimes come up with no routes, but parsing errors end up with null
routes getting added.  Trim that away.  Also added some dumpstate logging of the secondary
route tables and rules.

bug:5615697
Change-Id: I94c9d888bab958df44891b9117236436e046cc7f
2011-11-23 09:36:16 -08:00
Jeff Sharkey
af75c33e8d Clean up NMS AIDL and permissions checking.
Bug: 5472290
Change-Id: I30f9d79b1bc7f1d156a3b81b003f2b8ce25d53af
2011-11-18 12:41:12 -08:00
Jeff Sharkey
38ddeaa67e Avoid inconsistent state when remove fails.
Bug: 5433432
Change-Id: Ia388fda006cbda09b5947fc61cec6353f75a3805
2011-11-08 13:04:22 -08:00
Robert Greenwalt
fd900f05fb am 348297ab: Merge "Start using IP tool for advanced routing." into ics-mr0
* commit '348297abc0e03fb87a1d22465020b580d83fdd61':
  Start using IP tool for advanced routing.
2011-11-04 22:55:30 +00:00
Robert Greenwalt
3b28e9a3da Start using IP tool for advanced routing.
bug:5495862
bug:5396842
Change-Id: I5e31b352b14a4dc746cacce4d61cf8d9ad7382a0
2011-11-04 09:52:04 -07:00
Jeff Sharkey
2789e257fc am 31603aac: Merge "Validate commands and arguments." into ics-mr0
* commit '31603aacbb54b98cbee498412f6a5eb9dd4a2788':
  Validate commands and arguments.
2011-10-17 15:31:10 -07:00
Jeff Sharkey
b0aec07f74 Validate commands and arguments.
Bug: 5465176
Change-Id: I9402054c20ea6cae42781c35bfc2ade90aac31ce
2011-10-17 14:51:42 -07:00
Jeff Sharkey
89b8a2161a Update internal state when iface is removed.
Bug: 5433432
Change-Id: I7eb0ffe3ae07f42d5c47fe4082f490478c5099bf
2011-10-11 11:58:11 -07:00
Jeff Sharkey
1059c3c30a Move battery stats to xt_qtaguid for data stats.
Replace TrafficStats calls by reading values from xt_qtaguid kernel
module. To keep BatteryStatsImpl changes lightweight, cache recently
parsed stats. Tracks mobile ifaces from ConnectivityService.

Refactor xt_qtaguid parsing into factory outside of NMS. Add stats
grouping based on UID, and total based on limiting filters like iface
prefix and UID.

Bug: 4902271
Change-Id: I533f116c434b77f93355bf95b839e7478528505b
2011-10-09 13:49:08 -07:00
Jeff Sharkey
ae2c181083 Read iface stats from single proc file.
When available, use single "iface_stat_all" file instead of reading
values from dozens of files scattered across proc.  Tests to verify.

Bug: 5397840
Change-Id: I0247be518436c1f79b32c4b72216739f49a9e8cc
2011-10-04 13:22:39 -07:00
Jeff Sharkey
905b5891d2 Track xtables summary, move tether stats, time.
Begin tracking xtables summary of data usage to compare with values
reported from /proc/net/dev.  Roll tethering directly into UID stats
to trigger UID stats persisting when crossing threshold.

Include xtables summary and authoritative time in samples.

Bug: 5373561, 5397882, 5381980
Change-Id: Ib7945522caadfbe0864fdf391582dc820f4f371e
2011-10-03 17:21:05 -07:00
repo sync
7960d9f888 Fix IPv6 on wifi
Bug: 5388757
Change-Id: I3c8c776c26dad1daa9801d0455fde749c0206401
2011-09-29 16:59:01 -07:00
Wink Saville
c9acde9aa6 Reduce connectivity logging
Change-Id: I5d45b8fbcd01e42df7f2b1cf02fb5b226128abb8
2011-09-21 11:05:43 -07:00
Jeff Sharkey
cdd02c5d76 Collect and persist tethering stats.
Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections.  Keep tethering poll events separate
from UID poll, even though they end up same historical structures.

Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb
2011-09-16 16:05:51 -07:00
Irfan Sheriff
7329361cdc Add support to change IPv6 privacy extensions
Bug: 3360737
Change-Id: I9136992d05f7abf15bdfd92aad3a3e0c0fe3bee2
2011-09-14 12:31:56 -07:00
JP Abgrall
6acf39b3c6 NetworkManagementService: adjust the qtaguid idx to new kernel
https://partner.source.android.com/g/#/c/8968/ introduced

  idx iface acct_tag_hex uid_tag_int cnt_set ...
  2 wlan0 0x0 10022 0 ...
  3 wlan0 0x0 10022 1 ...
  4 wlan0 0x3010000000000000 10022 0 ...
  5 wlan0 0x3010000000000000 10022 1 ...

so treat it as monotonic starting a idx 1 for header line.

Change-Id: Ie1d0ec9a0b7103620a93b0ef0b01c13fe4162616
2011-09-08 16:16:02 -07:00
Jeff Sharkey
b3d5957604 Poll UID stats during iface changes, enforce idx.
When ifaces change, poll UID stats without persisting, since they
depend on knowing active iface to store correctly.  Log dropped UID
stats when iface is unknown.  Switch to using flags when calling
performPoll().

Enforce that "idx" values are consistent from xt_qtaguid.  Transition
to using Log.wtf() for important checks, mostly around file I/O,
kernel stats parsing, and kernel module control.  Increase stats
persist threshold to 2MB to reduce churn.

Bug: 5269476, 5270106
Change-Id: I721215bfb65127f95775c71cf135e907cd567e92
2011-09-07 18:06:30 -07:00
Jeff Sharkey
0fea823673 Selectively add stats based on iface active state.
Only combine /proc/net/dev and xt_qtaguid stats when iface is marked
as active.  When inactive, only return xt_qtaguid stats.  When iface
is unknown to xt_qtaguid, always pass through /proc/net/dev stats.

Bug: 5242730
Change-Id: I469fc6abe45309f794afebca814cbb39e4f13af5
2011-09-01 15:23:38 -07:00
Jeff Sharkey
47eb102b40 Always splice historical data stats, debug info.
When reading network counters, always splice in xt_qtaguid values
to avoid counting backwards. Test to verify.

Remove verbose logging around global alerts, and add dumpsys debug
info for NMS and MDST. Also fix subtle bug around stats persisting
and dumping.

Bug: 5212893, 5211028
Change-Id: I783e5286637a67ee2dd2b09878198711a926d0cb
2011-08-26 14:19:54 -07:00
Jeff Sharkey
558a232006 Data usage buckets active time, parsing ISE.
When recording data usage, measure the actual active time, since
buckets can be quite long.  Offer incrementOperationCount() version
that reads thread stats tag for caller.  Rethrow any NPE as ISE
during stats parsing, which callers already handle.

Bug: 5171812, 5184508, 5180659
Change-Id: I6da80ccc0162be68bee279529e3a23b6f98ebd87
2011-08-24 16:00:39 -07:00
Jeff Sharkey
8e9992ae50 Register for kernel global data usage alerts.
Instead of polling every 15 minutes, register for alerts that trigger
when system-wide traffic passes a threshold.  Still mixed with polling
to persist UID stats, but relaxed to 30 minutes.  Currently watches
for every 512kB.

Make persistence decision separately for network versus UID, and use
total delta bytes when making decision.  Use light bootstrap during
systemReady() instead of heavy poll, which had been force-loading all
UID data unnecessarily.

Bug: 5023631
Change-Id: I04b723d6c4bf872fb1028071122dba66a8e1b576
2011-08-23 18:46:14 -07:00
Jeff Sharkey
b51645ee2c Merge "Foreground/background network stats using sets." 2011-08-15 18:44:15 -07:00
Jeff Sharkey
a06cb34283 Merge "Add NativeDaemonConnector users to watchdog." 2011-08-15 18:43:54 -07:00