326 Commits

Author SHA1 Message Date
Jeff Sharkey
625239a054 Migrate more Secure settings to Global.
Migrate networking, storage, battery, DropBox, and PackageManager
related Secure settings to Global table.

Bug: 7232014, 7231331, 7231198
Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
2012-09-27 16:22:53 -07:00
Jeff Sharkey
bdfce2ec05 First step towards cleaning up Global settings.
Remove all @Deprecated @hide settings, and clean up any stragglers.

Bug: 7232125
Change-Id: Ibf67093c728d4a28565129b923edb1701d3b2789
2012-09-26 17:18:49 -07:00
Jeff Brown
bf6f6f9de7 Update references to migrated global settings.
Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
2012-09-25 15:27:51 -07:00
Irfan Sheriff
9538bdd3c7 Captive check for both mobile and wifi
Bug: 7113195
Bug: 7102238
Bug: 7087564

Change-Id: Iac08db9de3935338ad498aa3983d2ca82057dda1
2012-09-20 12:13:06 -07:00
Jeff Sharkey
e6e6197d7c Actually move to Global settings.
Also add better ConnectivityService logging.

Bug: 7157464
Change-Id: Ia235a7e62ed809240913c4782920c1410c7d597d
2012-09-14 13:47:51 -07:00
Jeff Sharkey
f56e2435b6 Restrict lockdown and firewall to AID_SYSTEM.
Bug: 7076289
Change-Id: Iafa3054335e8b1c3c8c3b8db2a4191d4ed4c8c41
2012-09-06 17:59:14 -07:00
Dianne Hackborn
fd8bf5c790 Fix another issue #7097984 java.lang.SecurityException: Permission Denial:
broadcast asks to run as user -1 but is calling from user 0; this requires

Dupped bug of a different problem.

Change-Id: I15f4ab08b81f5f5746ba1cd183dee4f0b1281df5
2012-09-04 18:48:37 -07:00
Dianne Hackborn
5ac72a2959 Improve multi-user broadcasts.
You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
2012-08-30 14:33:22 -07:00
Irfan Sheriff
da6da0907b Captive portal handling
We now notify the user of a captive portal before switching to the network as default.
This allows background applications to continue to work until the user confirms he
wants to sign in to the captive portal.

Also, moved out captive portal handling out of wifi as a seperate component.

Change-Id: I7c7507481967e33a1afad0b4961688bd192f0d31
2012-08-27 22:27:06 -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
82f8521d38 Migrate legacy VPN arguments to system_server.
Generate the racoon and mtpd daemon arguments in system_server,
instead of accepting them from Settings.

Bug: 5756357
Change-Id: I42c1a644f6add477fe4222342640d7db15982cb8
2012-08-24 11:29:58 -07:00
Jeff Sharkey
899223b97c Begin moving VPN to NetworkStateTracker pattern.
Created base tracker that handles common bookkeeping, and move VPN
to become a tracker.  VPN status is now reflected in NetworkInfo, and
is mapped to LegacyVpnInfo.

Legacy VPN now "babysits" any init services it starts, watching for
when they stop unexpectedly.

Bug: 5756357
Change-Id: Iba7ec79da69469f6bd9a970cc39cf6b885b4c9c4
2012-08-23 16:41:06 -07:00
Robert Greenwalt
d14e176272 Update TCP buffer size when switching network type
Import of non-merging change 41612 from AOSP

When PDP connects in GSM network, the TCP buffer window size is
set to max 8760. If the phone swicthes to UMTS, the TCP buffer
size is not updated to UMTS, i.e. GPRS buffer size is still
used with limited data transfer spead as a result.
This fix makes sure the TCP buffer size is updated when
switching network type.

Change-Id: Ic44a557677ffe629e83ce1f522a9f058bee6e7b2
2012-08-20 12:28:51 -07:00
Haoyu Bai
0412423f06 Setup idletimer for network interface.
Cherry-picked from commit f71ca8a5728e425de61ba794c9653dd0b04f16e3 in
master. DO NOT MERGE

Change-Id: I6101c7ae041b4cc1237ce7a9983753dbdfa301d3
2012-08-10 15:58:34 -07:00
Jeff Sharkey
fb11ffa2a0 Merge "Isolate NetworkStateTracker creation, test." into jb-mr1-dev 2012-08-08 16:25:41 -07:00
Jeff Sharkey
fb878b66b9 Isolate NetworkStateTracker creation, test.
Change ConnectivityService to use a factory when creating
NetworkStateTrackers, which gives us a good place to inject mocks
for testing.  Add initial tests to verify that network routes are
added and removed as networks changed.

Change-Id: I11cbc61a84c2ed4afa2670036295b1494eab26e1
2012-08-08 16:23:41 -07:00
Jeff Sharkey
4e4306ab14 Merge "Include network type that caused broadcast." into jb-mr1-dev 2012-08-06 13:40:44 -07:00
Jeff Sharkey
75fbb4bdfd Include network type that caused broadcast.
Network type can be obtained through EXTRA_NETWORK_INFO, but offer
it as first-class extra since the returned NetworkInfo is deprecated.

Bug: 6936247
Change-Id: Ief59577afd2bd930f0f4c5650b413feef86bfbc3
2012-08-06 11:45:01 -07:00
Jeff Sharkey
216c181e76 Make generic BaseNetworkObserver.
This makes it easier to add new INetworkManagementEventObserver events
in future.

Change-Id: I432263d745558de4b878f313c1951230ed9db2b1
2012-08-05 14:32:41 -07:00
Jeff Sharkey
4c628eba48 Split NST handler events away from CS internals.
Instead of sharing event space, use a different handler backed by
the same looper.

Change-Id: I11f1e4701c341665770ca640f3cba0c295bb7561
2012-07-26 14:09:09 -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
Wink Saville
a639b311e9 Create telephony-common and mms-common
These have been created to reduce the size and complexity
of frameworks/base.

mms-common was created by moving all of
  frameworks/base/core/java/com/google/android/mms
to:
   frameworks/opt/mms

telephony-common was created by moving some of
   frameworks/base/telephony
to:
   frameworks/opt/telephony

Change-Id: If6cb3c6ff952767fc10210f923dc0e4b343cd4ad
2012-07-11 16:02:08 -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
Jeff Sharkey
5f4dafb48e Block metered APNs when app is restricted.
When an app is restricted in the background, don't allow them to
start using metered network features. With this change they can
still use network features when in foreground. This avoids situation
where apps can bring up APNs which they are unable to use.

Bug: 5838267
Change-Id: I3ac96f2a545f67cba1ef12b8536cfd0da769d955
2012-05-02 16:52:43 -07:00
Robert Greenwalt
3bc9a79fe8 Add bit to eventlog to handle new network types
bug:5514930
Change-Id: I29288cb39902578992ee53b171f228f8eeb407fd
2012-04-25 14:31:08 -07:00
Robert Greenwalt
a697f4069d Merge "Stop complaining about failure to remove routes" 2012-04-24 09:28:45 -07:00
Robert Greenwalt
2473a4bae1 Stop complaining about failure to remove routes
We often get told a network has gone away after the interface is downed
and the routes are auto-removed.  Change the log to VDBUG so standard
builds don't have the noise.

bug:2856577
Change-Id: If12ec3ed3b646ff6ef89b3778d037cfc478c0d25
2012-04-23 18:00:37 -07:00
Jeff Sharkey
15ec7d6d7f Add ALLOW_METERED column to DownloadManager.
Also allow isActiveNetworkMetered() to inspect networks without
requiring ACCESS_WIFI_STATE.

Bug: 3001465
Change-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1
2012-04-18 10:12:09 -07:00
Jeff Sharkey
9f7cbf0e50 API to report if active network is metered.
Report to developers if active network is "metered" and define it
as the user being sensitive to heavy data usage.

Bug: 3001465
Change-Id: I855ca3cd3eb1de3c4814148d70ccf24957af898a
2012-04-16 11:20:27 -07:00
yoonsung.nam
7b72ea71b9 Fix the bug net.dns1.pid is same as net.dns2.pid
writePidDns() does not increase the index in case first given dns
already exist in the property.

Change-Id: I1129d0042929b3ee119160e53cae0e4143c7ea88
Signed-off-by: yoonsung.nam <yoonsung.nam@samsung.com>
2012-03-02 10:23:03 -08:00
Jeff Sharkey
1f8ea2dcd1 Send broadcast when changing restrict background.
When changing global restrict background status, send connectivity
change broadcast, since it radically changes DISCONNECTED/BLOCKED
status system-wide.

Also reduce verbose stats logging.

Bug: 5854466
Change-Id: I3b612c520f50cc3000a3a569b7e0ab5f691cc2bd
2012-02-07 12:08:58 -08:00
Wink Saville
c7d7eafb66 Add additional debug
When ConnectivityService#startUsingNetworkFeature is called and the
special network is not available output some additional information.

Change-Id: I34b226a208596fa6418f1f37a0feec1d274d493c
2012-01-25 13:47:54 -08:00
Robert Greenwalt
2772143eff Merge "Stop using shared DUN APN when tethering stops." 2012-01-20 14:35:41 -08:00
tk.mun
b97d34c7c8 Disable wimax when mobile data is in Settings
- Add wimax related code in handleSetMobileData to disable wimax when Moblie data is disabled (Settings -> Wireless & Networks - More -> Mobile Networks ->Data Enabled)

Change-Id: Ibf2d9da2eb90d161128005f26ac4b3e991526af4
Signed-off-by: tk.mun <tk.mun@samsung.com>
2012-01-06 10:32:54 -08:00
Robert Greenwalt
8beff9586f Stop using shared DUN APN when tethering stops.
Even if other people are sharing the connection (ie, carrier wants
default and tethered traffic on the same APN) stop using
a carrier-described APN when the tethering stops.

bug:5525764
Change-Id: I95ed2aaed4d79519d233a62cf2945edead8114bc
2012-01-03 16:32:04 -08:00
Robert Greenwalt
424781e2e1 Fix NPE in ConnectivityService.
If it's configured with a defined network but can't create a network state tracker
for it, it would NPE and restart the framework whenever a default network
disconnects.

bug:5603268
Change-Id: I816c4f522d766e0353a713623f6635b03395b01e
2011-11-11 09:56:03 -08:00
Robert Greenwalt
6537b02875 Fix Wimax-less build.
A build with the wimax network type defined but wimax disabled
causes an NPE in ConnectivityService's constructor.

bug:5237167
Change-Id: I929eac217e1afa0e61346fdbc3e96a7d3ad09a54
2011-11-10 17:14:05 -08:00
Robert Greenwalt
8588e47358 Fix build.
Missed a commit that fixed some issues.
bug:5237167

Change-Id: I61e44831e2c3f1cf613ca1387aa95d712b7d2ded
2011-11-08 10:12:25 -08:00
tk.mun
148c7d0de7 Wimax : wimax framework related open source.
Integrate wimax network related changes into Android Framework.
- In Connectivity service, start wimax service.
- 4G icon display in StatusBarPolicy.
- DHCP renew add.
- Add radio for wiamx

Change-Id: I2d9012247edfdf49d71ca7e1414afd0006f330ca
Signed-off-by: tk.mun <tk.mun@samsung.com>
bug:5237167
2011-11-07 14:47:40 -08: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
Robert Greenwalt
4efe58d8e7 Temp disable Tethering if DUN is required
Getting source-based routing working is too risk for this point
in the project but tethering is broken otherwise, so disable
the tethering option if DUN is required until we can get a real
fix in.

bug:5495862
Change-Id: I5e852bf30c887599024a8b61af86ffec1d5333af
2011-10-27 14:50:27 -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
Chia-chi Yeh
4c12a47bff VPN: temporarily disable the default proxy when VPN is active.
Bug: 5361858
Change-Id: I99e84cce9c99ff1f5fdccbfd3bfb9cf496ac541c
2011-10-03 15:34:04 -07:00
Chia-chi Yeh
e4474c3b70 ConnectivityService: detach the logic of global proxy.
The current implementation of global proxy is dead,
and it will be removed completely in separate changes.

Change-Id: I54f6b3960f761483d28d808e99db4c71c9c0348d
2011-10-03 14:04:42 -07:00
Lorenzo Colitti
c1358b240c Revert "Tell the resolver what protocols to use."
Change Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is
an alternate approach that does not require any framework
changes.

Bug: 5284168
Change-Id: Ib6e002aa23700adc71051cf6b76860545497dbf4
2011-09-28 23:07:03 -07:00
Jeff Sharkey
61c0818f24 Merge "Watch network subtype, tethering teardown, empty." 2011-09-25 23:44:10 -07:00
Robert Greenwalt
511ecc8cf9 am b849074c: Merge "Tell the resolver what protocols to use." into ics-factoryrom
* commit 'b849074cb58edc15b0764afdde0326c0b6d5b147':
  Tell the resolver what protocols to use.
2011-09-22 23:39:53 -07:00
Robert Greenwalt
b849074cb5 Merge "Tell the resolver what protocols to use." into ics-factoryrom 2011-09-22 16:57:43 -07:00
Robert Greenwalt
d90c611a59 Tell the resolver what protocols to use.
Stop guessing based on the connectivity of the default route and use the correct
v4/v6 proto for your pid.

bug:5284168
Change-Id: Ife82a8d8e54c0ace2bc9e8a624b11d29a4e285e2
2011-09-22 16:43:15 -07:00
Jeff Sharkey
367d15ab1a Watch network subtype, tethering teardown, empty.
Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type.  Update network stats
before removing tethering NAT rules.

Skip recording that would create empty historical buckets.  Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.

Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a
2011-09-22 16:19:06 -07:00