Commit Graph

251 Commits

Author SHA1 Message Date
Jason Monk
43324ee732 Add PAC File support for proxy configuration
PAC (Proxy auto-config) files contain a single javascript function,
FindProxyForURL(url, host).  It gets called to determine what proxy should be
used for a specific request.

This adds PAC support to the system.  The ProxyProperties has been modified
to hold the PAC file when one is present.  The Proxy method
setHttpProxySystemProperty has been modified to insert a PacProxySelector
as the default ProxySelector when it is required.  This new ProxySelector
makes calls to the ConnectivityService to parse the PAC file.

The ConnectivityService and the WifiConfigStore have been modified to support
saving the extra PAC file data.

The ConnectivityService now has a class attached (PacProxyNative) that
interfaces to the native calls for PAC files.  The parsing of the PAC file
is handled by libpac (which is being added to external/) which utilizes
libv8 to parse the javascript.

As a fallback to applications that don't use the java ProxySelector,  the proxy
is setup to point to a local proxy server that will handle the pac parsing.

bug:10182711
Change-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401
2013-08-07 21:01:39 -04:00
Elliott Hughes
7ada256efa am 6b67e07d: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."
* commit '6b67e07d2186cdbd3233a6d1f0e67cce9437a0b0':
  If frameworks wants ASCII casing, it should explicity ask for it.
2013-08-02 17:58:33 -07:00
Elliott Hughes
6b67e07d21 am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."
* commit '60ae2617b4b304fc3e45a441f87d1765714477ba':
  If frameworks wants ASCII casing, it should explicity ask for it.
2013-08-02 17:41:57 -07:00
Elliott Hughes
5547882084 If frameworks wants ASCII casing, it should explicity ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
2013-08-02 15:12:32 -07:00
Dmitry Shmidt
feb443e59d dhcp: Get mtu property from dhcp results
Change-Id: I1b032094e0945b27d98f7ac786247b7cc9d60131
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2013-08-02 14:07:50 -07:00
Lorenzo Colitti
43553b6fad Add accessors for all addresses and clarify compare* methods
1. Add a method to return all addresses and all LinkAddresses on
   all links (both base links and stacked links). We already had
   one for routes, but did not yet have any for addresses.
2. Rename compareRoutes to compareAllRoutes, because unlike the
   other compare* methods, it looks at all interfaces. Update
   what appears to be its only caller.
3. Update the documentation of the compare* methods to match
   reality (they don't return lists) and clarify whether they
   look at all links or only the base link.

Change-Id: Ie22e6c7f163d5de8e407248b45171dc28382d2d3
2013-08-01 00:21:24 +09:00
Wink Saville
70dbdcc418 Add network type TYPE_MOBILE_IA.
Add a network type for establishing connections to the apn used for
the initial connection.

Enable some debug for now.

Bug: 8733613
Change-Id: Ia627ac0cf5715660b6d02bb13a83d46ec1727b87
2013-07-29 15:02:29 -07:00
Geremy Condra
2b07accdee Merge "Fix supplimentary network connections with VPNs" 2013-07-23 17:58:33 +00:00
Geremy Condra
12e55c99af Merge "Support multiple Vpn ManageDialogs" 2013-07-23 17:55:45 +00:00
Chad Brubaker
78850f3081 Fix supplimentary network connections with VPNs
Enables the use of supplimentary mobile networks like MMS, and HIPRI
while VPNs are running.

Change-Id: I313f57a905b4e16bd4322c68687cbff1cfbe9d3e
2013-07-19 15:57:05 -07:00
Robert Greenwalt
1bf31d7571 resolved conflicts for merge of 248d8d2c to master
Change-Id: Idd0ad9b1504fddf68c4c4cc04731de1eddd204b3
2013-07-19 14:09:30 -07:00
Robert Greenwalt
7ddc6c985d Add gservices updater for carrier provisioning url
bug:9623159
Change-Id: I36697ed341353b7a3dbec5afe20241102e76f6f1
2013-07-17 14:05:33 -07:00
Chad Brubaker
7dcfa2a06b Support multiple Vpn ManageDialogs
Move away from storing the configs in the Intent to prevent issues with
PendingIntents and multiple configs.

The Dialog now queries ConnectivityService for the configuration to
display in the management dialog.

Change-Id: I0e0ef52db840152914d117a24f776d8106e836ff
2013-07-16 18:59:12 -07:00
Chad Brubaker
b24810e7f7 Move markSocketAsUser to the top of IConnectivityManager.aidl
Move markSocketAsUser to the top of IConnectivityManager.aidl to make
calls from
framework/native/services/connectivitymanager less fragile

Change-Id: Iba92c21dfef175b570521f34e7ee2732e5a0a9c9
2013-07-16 11:29:11 -07:00
Chad Brubaker
31de0b69b0 Support routing sockets as another user
Add support for routing sockets as if they were another user's.
This is for services that handle delegated network tasks like MediaServer and DownloadManager.

Change-Id: Id20efc1f5c2cce6f8838d777762f6c0a703a9437
2013-07-15 12:14:10 -07:00
Chad Brubaker
fa15058755 Add NetworkUtil function for marking sockets
Add NetworkUtil function for setting the SO_MARK field of sockets

Change-Id: I94389b64296d87ee928293f24a26f8dd08c3bf37
2013-07-12 19:48:32 +00:00
Wink Saville
2e63bb7ef5 Merge commit '68513498' into fix-merge-conflict
* commit '68513498':
  Add checkMobileProvisioning to ConnectivityService.

Conflicts:
	services/java/com/android/server/ConnectivityService.java

Change-Id: Ieceb9c8f4aa4fa99258e56a720b4c74512369458
2013-07-01 16:12:31 -07:00
Wink Saville
690cb18254 Add checkMobileProvisioning to ConnectivityService.
Bug: 9279964
Change-Id: I42c326a21e05aa301e9d974ed9ac1d59472780ec
2013-06-29 21:10:57 -07:00
Jeff Sharkey
cf6e4d80e8 Explicit locale when formatting machine strings.
Bug: 9390451
Change-Id: I3581c53407554a1dffd541fb42b06d68f20a7be0
2013-06-11 14:36:41 -07:00
Jeff Sharkey
e9bda1dd68 Accumulate network statistics based on deltas.
Network stats are now read out of the kernel in one sweep, instead of
reading per-UID.  We now accumulate the delta traffic between each
stats snapshot using the well-tested SamplingCounter pattern.

Since Wi-Fi and mobile traffic have different costs, track each
separately.  Avoids counting misc interfaces like loopback and
ethernet under total.

Bug: 5543387
Change-Id: I642004dc530113c27ef79f2abbae51d8af30117f
2013-06-06 14:35:34 -07:00
Robert Greenwalt
665c912a4c Merge "Listen for network disconnect." into jb-mr2-dev 2013-04-22 21:33:29 +00:00
Robert Greenwalt
308b9acca1 Listen for network disconnect.
VPN used to just watch the interface, but that is insufficient.  There
is no promise that the interface will go down when we're done with it.
Now that wifi stays on in scan-only mode despite user turning it off
it seems that the interface is left up, even in AP mode.

Now listening for ConnectivityService broadcast that the network we were on
has disconnected and tearing down the VPN then or when the interface
goes away.

bug:8550083
Change-Id: Icf414497bc55bead69de04e91f39f90ac2e6578a
2013-04-22 14:13:51 -07:00
Robert Greenwalt
a07f1f2d07 Remove STOPSHIP and defer removal.
bug:8657300
Change-Id: Ia855fdc0db7a33502838648ee002d4929b224960
2013-04-19 09:31:24 -07:00
Robert Greenwalt
24bc534c2e Add new route.hasGateway() api
Fixes issues brought in by change to isHostRoute.  isHostRoute
was technically correct, but the callers really wanted hasNextHop
behavior.

bug:8597268
Change-Id: I360761ccfa98b2ba34642f717a78fa71ec1bae4f
2013-04-12 11:22:52 -07:00
Robert Greenwalt
aa4677cfa0 Use CONNECTIVITY_INTERNAL for global proxy
The Global http proxy shouldn't be used by apps, but can be useful in certain
conditions.

bug:8264794
bug:8557674
Change-Id: Ia3cbe542e448d9e74d0492626a13e9fd34ad797a
2013-04-10 15:32:18 -07:00
Lorenzo Colitti
c3787faa2a Fix LinkProperties's equals() method.
LinkProperties's equals() method was broken by the addition of
stacked interfaces. The reason was that equals() was checking
the equality of mStackedInterfaces.keys(), which is just an
enumeration, instead of mStackedInterfaces.keySet(), which
actually contains the keys. The test was failing, but I didn't
notice.

Fix the bug and make the test check the objects more in depth
so it can give more detailed error messages when equals() fails.

Bug: 8276725
Change-Id: Ie990bd75f641c28e63e54d953dcd0f4de13f7c9f
2013-04-02 10:08:59 +09:00
Robert Greenwalt
2e3f7f04fc Merge "Add BT - DataTracker connection" into jb-mr2-dev 2013-03-28 16:45:33 +00:00
Wink Saville
f98a515fd1 Merge "Cleanup some debug in LinkCapabilities and Properties." into jb-mr2-dev 2013-03-28 16:09:26 +00:00
Wink Saville
2accd693ee Cleanup some debug in LinkCapabilities and Properties.
Change-Id: I5fe0124d0943f5e538e451645f32533a74c75a47
2013-03-27 16:21:43 -07:00
Robert Greenwalt
030e1d3e9b Add BT - DataTracker connection
Allows the external BT stack the means to communicate with
ConnectivityService during reverse tethering.

bug:8445208
Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
2013-03-27 15:45:12 -07:00
Lorenzo Colitti
cdc56fea29 Make isHostRoute match only host routes
Currently, isHostRoute returns true iff the gateway address is
the unspecified address (0.0.0.0 or ::). Thus, it will return
true for any route that has no gateway (e.g., a route pointing at
a point-to-point interface), even if the route is not a host
route.

Fix this by checking the prefix length instead. This should be
safe because:

1. mDestination cannot be null, since it's created using new.
2. Host routes created using makeHostRoute (which is what
   ConnectivityService calls) always have the correct prefix
   lengths (/32 or /128) set.

Bug: 8276725
Change-Id: I14285398823fa6c312349128c7cc216cad4a84c9
2013-03-27 19:41:06 +09:00
Robert Greenwalt
e1b73b7953 Prevent NPE in new API.
bug:8455284
Change-Id: I26ecbd024d1fe001f3af792c4e66409b2968c7ec
2013-03-22 12:00:17 -07:00
Lorenzo Colitti
a546d7ef93 Reset connections on all stacked interfaces.
Bug: 8276725
Change-Id: I7fe99c6ea123037cef3e89e3c2c17ed43cc0b1ea
2013-03-20 19:22:58 +09:00
Robert Greenwalt
fa4e867061 Revert of Ifd0c4081a. Turning off logging.
Found our bug, so switching the logging back off.
bug:8377625

Change-Id: I254bd83c48f1dd8dd62db1fcb162d460328169c5
2013-03-15 20:20:11 +00:00
Robert Greenwalt
26ce4b57d5 Don't return an unmod collection.
It's not needed as people can mess with this, and people do, so this fixes the build.
bug:8398355

Change-Id: Iddd00af41009c88b67fb7f9a8789bb416c377922
2013-03-15 11:28:50 -07:00
Lorenzo Colitti
2d17281ca7 Merge "Don't update routes if Dhcp fails." into jb-mr2-dev 2013-03-15 18:06:20 +00:00
Robert Greenwalt
69d28dc2b3 Don't update routes if Dhcp fails.
bug:8377625
Change-Id: I11d2c29728078813bfb1245cc46e8cce2b307a2c
2013-03-15 10:48:46 -07:00
Lorenzo Colitti
50e2b43ce1 Fix build.
Change-Id: Iac84a5f35d7fcaebd096e605a4590f8c90fe97b0
2013-03-16 02:42:30 +09:00
Lorenzo Colitti
66e01c9f7f Add stacked interfaces to LinkProperties.
Bug: 8276725
Change-Id: I2f592d4c690e9af0459ae742ab16107a10d89353
2013-03-15 14:35:32 +09:00
Robert Greenwalt
b9f53aa687 Add logging to track down bug
bug:8377625
Change-Id: Ifd0c4081a2f1238dbbc39c6904b993e2fb95455a
2013-03-13 16:38:46 -07:00
Lorenzo Colitti
aaacefbd89 Unit test routes with interfaces in LinkProperties
Change-Id: Ie41a56bc9863ee72f4d7a8f72e436fc57e57b1af
2013-03-12 15:01:05 -07:00
Lorenzo Colitti
ab7ad3a458 Unbreak documentation build.
Change-Id: I1e904b111e23d221dcb5f917201d4c27f0c1c05b
2013-03-12 04:30:47 +09:00
Lorenzo Colitti
697e1c0748 Always specify an interface for host routes.
Change-Id: I05b4d87e7d7e8237c6f4a70f1fedae00f416f581
2013-03-08 16:41:25 -08:00
Lorenzo Colitti
0580598772 RouteInfo changes.
- Add the interface name.
- Fix a bug where a default route would match an address of
  another protocol (e.g., 0.0.0.0/0 would match 2001::).
- Tweak the hashCode method.
- Write a unit test.

Change-Id: Ida8266de440a9b1d9eaa132f182b9f1ce8978c44
2013-03-08 16:41:25 -08:00
Robert Greenwalt
ddf54416c5 Revert "Add default route constants to RouteInfo."
This reverts commit b00860f1ad

Change-Id: Ide6d7f3b935da41477b736ef0ef20ec9872563e1
2013-03-07 20:11:18 +00:00
Lorenzo Colitti
b00860f1ad Add default route constants to RouteInfo.
Bug: 8276725
Change-Id: I9c3ad7393430de9275f5b1c0189a94e5a27975fc
2013-03-07 11:08:08 -08:00
Robert Greenwalt
26744a5f52 Improve ConnectivityManager docs
Also fix some permission problems.
bug:5738328

Change-Id: Ib32c223f425b1fc03b8cce528456bcb50b540fdf
2013-02-22 10:39:20 -08:00
Jeff Sharkey
6932ff654e Improve notification UI for lockdown VPN.
Bug: 7064111
Change-Id: I9554f6a426697b4abeb2ddd0827d314920e88ed6
2013-02-21 09:47:11 -08:00
Russell Brenner
4774b0208e Adjust captive portal test for setup wizard
During setup wizard, perform captive portal test without the typical
delays.

Change-Id: If596948e732966817aae6201440e87e19be0c2f8
2013-02-14 11:02:10 -08:00
Robert Greenwalt
f345cde69e Merge "Up our DNS server support from 2 > 4" 2013-01-11 15:38:03 -08:00