Commit Graph

526 Commits

Author SHA1 Message Date
Chia-chi Yeh
2e46764a70 VPN: implement status report for legacy VPN.
Change-Id: I81c28dafd9588572df76cbc303b0d6a0f41f9bc6
2011-07-04 03:23:12 -07:00
Chia-chi Yeh
100155a310 VPN: convert prepare() into a form which helps solve race conditions.
When someone tries to revoke packageA, it is possible that packageA is
already revoked by packageB. In this case packageB should not be revoked,
and the new prepare() can help solve this problem.

Change-Id: Iee056a191dd99467b8ad1b5379a17b02d404bad1
2011-07-03 17:03:27 -07:00
Chia-chi Yeh
77fd485c2f VPN: export legacy VPN in IConnectivityManager.
Change-Id: I016fe056ceab39ffc36aa235d14b30a9f094a2e1
2011-07-02 17:15:00 -07:00
Jeff Sharkey
350083e36b Migrate bandwidth control to NMS, omit history.
Both stats and policy make NMS calls that depend on bandwidth control
being enabled, so move enable/disable into NMS and drop calls when
disabled.  This avoids throwing heavy ISE exceptions when disabled.

Only include recent data when writing NetworkStatsHistory as part of
dumpsys call.  Introduce manual poll event for Settings UI.

Bug: 4982115, 4770435, 4515856
Change-Id: I257820b057af2f0f99c736fb4f61e55b9fdc3e66
2011-06-30 15:47:51 -07:00
Jeff Sharkey
b3f19ca36c Enforce background data flag, rules through netd.
Connect up netd penalty box through NMS, and enforce the existing
background data flag by putting all UIDs in penalty box.  Allow
platform applications to have policy applied.  Only dispatch unique
rules to netd, avoiding any repeats.

Bug: 4598463, 4965677
Change-Id: Ibf9beff998ba7a1ea92f5e2f7eeba7b483d4b918
2011-06-30 00:17:46 -07:00
Jesse Wilson
8568db5341 Move socket tagging from libcore.
Change-Id: I7515896936c5bbd212c88e2801b831914219a925
2011-06-28 23:43:51 -07:00
Jeff Sharkey
4414cea139 Better network stats parsing, integer tags, async.
Change NMS parsing to handle extended /proc/ stats formats by pairing
values with header keys.  Move TrafficStats to integer tags to match
kernel internals, and offer well-known tags for system services.

Async policy event dispatch from NPMS, and update tests to block for
event dispatch.  Narrow app policy to exclude apps signed with system
key, which are usually critical.

Bug: 4948913, 4903489, 4585280

Change-Id: Idb357227ccaa617906411f309371cea18d7bc519
2011-06-28 17:59:00 -07:00
Huahui Wu
5bb9b19c5a 2nd try: Gets the URL that has a cert error and carrys it in SslError.
Identical to https://android-git.corp.google.com/g/#change,117828
which was reverted since its collaborative CL broke the build.

Change-Id: I5fa7d3e9b6026639bf72530ff5b449e36f802914
2011-06-28 12:32:56 -07:00
Huahui Wu
899639dd44 Merge "Revert "Gets the URL that has a cert error and carrys it in SslError."" 2011-06-28 10:12:56 -07:00
Huahui Wu
2e029c67a8 Revert "Gets the URL that has a cert error and carrys it in SslError."
This reverts commit 3015516a46.
2011-06-28 10:10:07 -07:00
Huahui Wu
fa487ca830 Merge "Gets the URL that has a cert error and carrys it in SslError." 2011-06-28 09:38:47 -07:00
Huahui Wu
3015516a46 Gets the URL that has a cert error and carrys it in SslError.
b/2689122 SSL error shows the wrong page when triggered by an image/javascript in the page.
This change receives the URL which has a cert error from webkit and carrys it in SslError.
so the Browser app can show the URL in the dialog boxes. Related CLs are:
   webkit: https://android-git.corp.google.com/g/#change,117817
   browser: https://android-git.corp.google.com/g/#change,117835

Change-Id: I65c3f038a48b6386fa93cb25a9ef70dbfb982c18
2011-06-27 18:14:54 -07:00
Brian Carlstrom
5106476bbf Merge "Moving ssl_certificate layout, resources, and helper code to SslCertificate Add IKeyChainService.deleteCaCertificate" 2011-06-27 15:15:29 -07:00
Brian Carlstrom
6da0033447 Moving ssl_certificate layout, resources, and helper code to SslCertificate
Add IKeyChainService.deleteCaCertificate

Change-Id: If42341bc732efcfe4f958c00cdd6c0fec11a3c75
2011-06-27 12:14:25 -07:00
Mike J. Chen
f59c7d0f2a Hookup interface status to other clients
After unreverting the linkstate change patch, hook up notification handlers
that didn't exist when the first patch was created, like
EthernetDataTracker.java and Vpn.java.

For the observers that handle interfaceStatusChanged(), I made
interfaceLinkStatusChanged() call it so they both do the same thing.

Change-Id: I0077e5e5f48f3932ba98f5bf363243892f2de6cc
Signed-off-by: Mike J. Chen <mjchen@google.com>
2011-06-24 15:02:30 -07:00
Mike J. Chen
6143f5f739 Revert "Revert "Propagate new link-status-change message to any NetworkManagementService""
This reverts commit 1a7e671902.

Bring back the changes from Stan Chesnutt regarding link-status-change
notifications.  The comment from the original patch was:

Propagate new link-status-change message to any NetworkManagementService
observers.  Also fix the syntax of the "interface-status-change" message.  Add
a null handler in the ThrottleService and Tethering classes (plus fix names).

Change-Id: I42cbed692024de32275cad234f42ff23ab7e9d8d
Signed-off-by: Mike J. Chen <mjchen@google.com>
2011-06-23 19:24:59 -07:00
Jesse Wilson
98e8b19c7b Warn about the lack of access controls for SD card HTTP caches.
Change-Id: I54adc2f9b57964e15a0fc26b719729e6087b1bda
http://b/4772280
2011-06-23 15:59:32 -07:00
Irfan Sheriff
756f25fc61 am 1cc0fa41: am db45e0bd: am ecce539f: Merge "Release wakelock after use" into honeycomb-mr2
* commit '1cc0fa416f195732cc7c04cebfaabe7f3fe994c7':
  Release wakelock after use
2011-06-23 08:17:01 -07:00
Robert Greenwalt
5ff886e531 resolved conflicts for merge of 7a652bc8 to master
Change-Id: Id0a41cae36f5a3b30f2fe8a202c934153b9cd03f
2011-06-22 13:20:14 -07:00
Irfan Sheriff
db45e0bdd0 am ecce539f: Merge "Release wakelock after use" into honeycomb-mr2
* commit 'ecce539f3d739fbf4b395639a485fddf51f688d6':
  Release wakelock after use
2011-06-22 11:10:26 -07:00
Irfan Sheriff
38053dad9f am 41b35884: Revert "DO NOT MERGE Revert "Fix lease duration handling""
* commit '41b35884ff68a62f5fc8f65dcc26342d0889113d':
  Revert "DO NOT MERGE Revert "Fix lease duration handling""
2011-06-22 11:10:16 -07:00
Irfan Sheriff
cf99765b62 resolved conflicts for merge of 914ed90f to honeycomb-LTE
Change-Id: I616b7ba5c27d0cc4247f5cce4303effe14658e1e
2011-06-22 11:01:16 -07:00
Irfan Sheriff
c74eacde30 resolved conflicts for merge of 267a6181 to honeycomb-LTE
Change-Id: I95d459c937f788ed15f178e85692e1c393bdaa04
2011-06-22 07:11:42 -07:00
Irfan Sheriff
cd672ebf29 Release wakelock after use
DHCP renewal can finish pretty quick most times and holding
a timed wakelock wastes battery.

Hold a non-reference counted lock and release it immediate
while having the safety of a 40s release

Bug: 4575773
Change-Id: I49d2e8c27b2723690aef26417c4b9a145843a401
2011-06-21 15:42:48 -07:00
Irfan Sheriff
885c3c11cf am bc4ddef4: Merge "DO NOT MERGE Revert "Fix lease duration handling"" into honeycomb-mr2
* commit 'bc4ddef479011e200d0273fe73c22922a85de1fe':
  DO NOT MERGE Revert "Fix lease duration handling"
2011-06-21 14:29:42 -07:00
Irfan Sheriff
41b35884ff Revert "DO NOT MERGE Revert "Fix lease duration handling""
This reverts commit 7dd1200589.
2011-06-21 14:26:59 -07:00
Irfan Sheriff
914ed90f2c Revert "DO NOT MERGE Revert "DO NOT MERGE Add DhcpStateMachine""
This reverts commit 58d1bb497e.
2011-06-21 14:26:37 -07:00
Irfan Sheriff
58d1bb497e DO NOT MERGE Revert "DO NOT MERGE Add DhcpStateMachine"
This reverts commit fe3b33d4ea.

Change-Id: I3a9ae1f0d17e7a154d27d4f3f3eb1efa21a34f64
2011-06-21 11:38:23 -07:00
Irfan Sheriff
7dd1200589 DO NOT MERGE Revert "Fix lease duration handling"
This reverts commit 56878760c3.
2011-06-21 11:01:54 -07:00
Robert Greenwalt
ccf83af101 Fix tethering upstream determination.
Used to use iface names, but on mobile ifaces are multipurpose.
Refined to use ConnectivityService types.
bug:4530116

Change-Id: Iaa632d5f540d27ffff683bd7d94f8004bf422e71
2011-06-20 11:09:23 -07:00
Jeff Sharkey
5dc0c26cff Teach NetworkIdentity about roaming.
And correctly upgrade NetworkIdentitySet written to disk, assuming
that old values aren't roaming.

Bug: 4724762
Change-Id: Ic25897ebbaf43be2390174d8e5fd08386bc8a345
2011-06-19 22:21:05 -07:00
Jeff Sharkey
d03fd3f004 Persist "tagged" network stats along with UIDs.
Now stores tags other than TAG_NONE (0x0), which are useful for app
debugging.  Combine UID and tag together into single long key, and
expose tag data through AIDL when requested.  Change NMS to track
TAG_NONE as total UID traffic, matching the kernel definition.

Added TAG_MAX_HISTORY to control how long tag-granularity statistics
are stored; overall UID usage is still kept for UID_MAX_HISTORY.  Fix
bug to trim NetworkStatsHistory outside normal polling loops to catch
non-active networks and UIDs.

Test to verify UID and tag packing, and to verify that UID traffic on
two networks are combined to match MOBILE_ALL template.

Change-Id: If0e039416d9e7f63b1a39e04cddfb1133b5a78ee
2011-06-19 21:58:39 -07:00
Jeff Sharkey
b09540f33a Handle removed UIDs in network stats and policy.
When UID_REMOVED, clean up any existing UID network policy so it
doesn't linger for future apps.  Also move any NetworkStatsHistory
to special UID_REMOVED tracking bucket.

Tests for new removal code.  Also test detailed UID stats, including
network changes to verify template matching logic.

Bug: 4584212
Change-Id: I9faadf6b6f3830eb45d86c7f1980a27cdbcdb11e
2011-06-19 01:08:12 -07:00
Jeff Sharkey
1b5a2a96f7 Read "qtaguid" network stats, refactor templates.
Teach NMS to read qtaguid stats from kernel, but fall back to older
stats when kernel doesn't support.  Add "tags" to NetworkStats entries
to support qtaguid.  To work around double-reporting bug, subtract
tagged stats from TAG_NONE entry.

Flesh out stronger NetworkTemplate.  All NetworkStatsService requests
now require a template, and moved matching logic into template.

Record UID stats keyed on complete NetworkIdentitySet definition,
similar to how interface stats are stored.  Since previous UID stats
didn't have iface breakdown, discard during file format upgrade.

Change-Id: I0447b5e7d205d73d28e71c889c568e536e91b8e4
2011-06-18 22:23:11 -07:00
Jeff Sharkey
fdfef57f49 Notify policy listeners about metered ifaces.
Currently, kernel definition of metered networks is applied at the
interface level.  This change maintain list of those metered ifaces
and notifies policy listeners, like ConnectivityService.  (This gives
us a consistent picture of when a network would be blocked.)

Bug: 4601393
Change-Id: I277d5ca96ab967a1c1c3f1da8f9587557cd6d74c
2011-06-17 16:49:21 -07:00
Jeff Sharkey
ad4c9ed7de Merge "DownloadManager flags for network policy." 2011-06-16 13:39:02 -07:00
Jeff Sharkey
1a30395358 DownloadManager flags for network policy.
Handful of DownloadManager flags to record when a download was paused
because of NetworkPolicyManager rules.

Change-Id: I99fc47f529cb6c8a42dbeca049e0cd0f1556eac4
2011-06-16 13:04:34 -07:00
Robert Greenwalt
4f1f7d3158 am 241b65ac: am 5f350512: Merge "Reset connections AFTER we take down the network." into honeycomb-LTE
* commit '241b65aca93e263f0869c5bec4ad1dbda0dec6db':
  Reset connections AFTER we take down the network.
2011-06-16 12:50:46 -07:00
Robert Greenwalt
5f3505121b Merge "Reset connections AFTER we take down the network." into honeycomb-LTE 2011-06-16 11:34:03 -07:00
Robert Greenwalt
ec896c6a86 Reset connections AFTER we take down the network.
If you do it before you have a race condition and some apps will
manage to reconnect on the dieing network before it goes and then
get no notification when it goes.

bug: 3408025
Change-Id: I5386ff313c759b3f687bc38731454ab43dbe76b8
2011-06-16 11:26:54 -07:00
Chia-chi Yeh
d6f69d0e52 Merge "VPN: migrate from generic Bundle to our own Parcelable VpnConfig." 2011-06-16 10:34:34 -07:00
Chia-chi Yeh
04ba25c418 VPN: migrate from generic Bundle to our own Parcelable VpnConfig.
Note that VpnConfig is for internal use only.
Also remove hidden methods from ConnectivityManager.

Change-Id: Ic298c4dc9a2c6c452bd8f4be6fa84e7ac489c0c4
2011-06-15 17:08:58 -07:00
Irfan Sheriff
1e8b3e4e76 am 11954872: am 5af3405f: am ecda5461: Merge "Fix lease duration handling" into honeycomb-mr2
* commit '1195487228e1eb6c8859368286168051bd505b2f':
  Fix lease duration handling
2011-06-15 14:10:51 -07:00
Irfan Sheriff
5af3405f0d am ecda5461: Merge "Fix lease duration handling" into honeycomb-mr2
* commit 'ecda5461603b6de77beb045dfdf82dad7ae48d61':
  Fix lease duration handling
2011-06-15 14:04:23 -07:00
Irfan Sheriff
56878760c3 Fix lease duration handling
Convert lease time in seconds to long before alarm
set up and add sanity check

Change-Id: I99524c97d9a643ffa8234d016d0e819a284977a1
2011-06-15 12:58:18 -07:00
Jeff Sharkey
14711eb5b6 Include template in data warning/limit intents.
When launching warning/limit UI, include the template that triggered
the notification.  Also move actions and extra into contract class.

Change-Id: Id2e63fd2d2e36a137a3fd8f889c7256038ca5f2e
2011-06-15 10:29:17 -07:00
Jeff Sharkey
497e4437af Data usage warning and limit notifications.
Watch for network statistics to cross NetworkPolicy warning or limit,
and show notifications to user as needed.  Currently checks during
any statistics update, but will eventually move to event registration
through netd when kernel supports.

Fixed accounting bug in getSummaryForNetwork().  Only apply UID policy
to applications; applying to system processes could break critical
services like RIL.

Change-Id: Iac0f20e910e205f3cbc54ec96395ff268b1aa379
2011-06-14 22:43:08 -07:00
Mike J. Chen
c96a667162 Handle always present wired ethernet interfaces at boot.
Devices with always present wired ethernet interfaces (as opposed
to usb ethernet dongles) don't have the interface added and removed.
Instead, it is present already at boot time.  Change EthernetDataTracker
to support the already existing at boot time case.

Change-Id: I7b8e938f6b07aabd14f00ace55b35b7a05ea5a38
Signed-off-by: Mike J. Chen <mjchen@google.com>
2011-06-13 18:37:11 -07:00
Ben Komalo
193bc6d606 Open up setKeyManager/setTrustManager.
The improved keystore will allow clients (Email not the least of them)
to establish SSL connections using custom client certificates. In order
to do this properly, the socket factories they use to establish these
connections need to be able to customize their behavior.

Change-Id: I6e0fa04dd01bd6481dfdad5a71a63e0371d0ad8c
2011-06-13 10:04:36 -07:00
Jeff Sharkey
22c055e642 External mutation of full NetworkPolicy set.
Instead of embedding complex template coexistence rules into policy
service, rely on external editors to enforce, and offer atomic
get/set operations for full policy sets.

Generate default mobile policy when none exists, using default of 4GB
warning and cycle reset of current day.  Dispatch listener events
through Handler when holding internal lock, and catch CLASS_UNKNOWN
networks in 3G_LOWER template.

Change-Id: I063cf1eaf330e32b75d0697b89fc04488e6dfaea
2011-06-12 23:21:34 -07:00