Commit Graph

844 Commits

Author SHA1 Message Date
Wink Saville
830e29b51b Have CaptivePortalTracker use gservices updateable provisioning urls.
After detecting there is a captive portal the url used in the
notification for mobile networks should be updateable via gservices.
These urls will be the same as used by CheckMp and is needed for
carriers that have specific provisioning urls such as AT&T and Verizon.

Bug: 9622647
Change-Id: Idcf4dabc72ece1dbbe1d5e5a21e550dd06fe16c7
2013-08-08 16:59:07 -07:00
Wink Saville
bd53d843fa Check that hipri has started.
I needed to test the result of startUsingNetworkFeature, otherwise
on mobile networks that are slow to come up, we won't detect
warm SIMs after booting.

Bug: 9962943
Change-Id: Ib638a4e43867ecaa85d6abff65643b77a63526b6
2013-08-08 16:58:43 -07:00
Robert Greenwalt
368095f658 Make CS.isTetheringSupported dynamic
It used to be set at boot, but that was too quick to pick up carrier
specific resources.  With this change even if you switch sims subequent
checks get the new values.

bug:9865616
Change-Id: I8c270c6b02fc6bdd3c3d76ceea58172df25e058d
2013-07-18 14:24:42 -07:00
Robert Greenwalt
1497d4854d Merge "Add gservices updater for carrier provisioning url" into jb-mr2-dev 2013-07-17 23:46:25 +00:00
Robert Greenwalt
39d560174e Add gservices updater for carrier provisioning url
bug:9623159
Change-Id: I36697ed341353b7a3dbec5afe20241102e76f6f1
2013-07-17 14:05:33 -07:00
Wink Saville
f0e9c7fc7f When a SIM is changed check mobile provisioning.
A simple mechanism for doing this is to take advantage of the fact
that we require the device to reboot after a sim has been changed.
Thus when connectivity service is started we wait to get a connection
then call checkMobileProvisioning once. We also add a check that
the DEVICE_PROVISIONED is true, i.e. SetupWizard has been run.

Bug: 9784024
Change-Id: I5c1936744f6fc55a447ae44cd36eec3849d27e21
2013-07-16 17:16:37 -07:00
Wink Saville
c118d7efab VZW wants the phoneNumber to be 10 zero's if there isn't one.
Bug: 9784059
Change-Id: I41bba908855648d2560440655d8a75a7cb2e0859
2013-07-10 23:00:07 -07:00
Wink Saville
d469c47d5b Fix NPE if mobile is not supported in checkMobileProvisioning.
Bug: 9664438
Change-Id: If0c4938956a80e8d6a21a968aa771d0d8f546b3c
2013-07-02 10:55:14 -07:00
Wink Saville
32506bca6f Add checkMobileProvisioning to ConnectivityService.
Bug: 9279964
Change-Id: I42c326a21e05aa301e9d974ed9ac1d59472780ec
2013-06-29 21:10:57 -07:00
Robert Greenwalt
4398f34e47 Use the old interface when resetting connections
The new one is often null when disconnected, so using the new fails.
In other situations, it's the connections on the old network we want
to reset anyway, so the old code when it would work would also do
the wrong thing (unless new iface == old iface).

bug:9112928
Change-Id: I1fcae89cc3aa9d712e516e7c97cece0b89869bd9
2013-05-23 18:33:06 -07:00
Wink Saville
36fe96be7c Merge "Support WiFi only device at runtime." into jb-mr2-dev 2013-04-24 15:44:08 +00:00
Wink Saville
00fe5095f5 Support WiFi only device at runtime.
To date WiFi only devices were defined by the list of networkAttributes
in config.xml overriden in on a per-device basis. This change is the
simplest change needed to determine this at runtime and therefore allowing
a single build to support the two different configurations.

Bug: 8562845
Change-Id: I34de5c6accc718b199c13815537de1debfe3dc91
2013-04-23 14:26:51 -07:00
Robert Greenwalt
fe2c421fa9 Merge "Listen for network disconnect." into jb-mr2-dev 2013-04-22 21:33:29 +00:00
Robert Greenwalt
9a37e5d28d 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
75267c4ee9 Remove STOPSHIP and defer removal.
bug:8657300
Change-Id: Ia855fdc0db7a33502838648ee002d4929b224960
2013-04-19 09:31:24 -07:00
Robert Greenwalt
59070cfd32 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
cb2f721169 Merge "Routing workaround." into jb-mr2-dev 2013-04-11 23:27:20 +00:00
Robert Greenwalt
6477bd0519 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
Robert Greenwalt
6bd85ba473 Routing workaround.
Change our order of operations so that secondary route table
adds succeed.  Working to understand the why of this too.
bug:8361314

Change-Id: Ie25061eb38c62eaa5e60aa8a488496de49bdbd9d
2013-04-09 11:22:56 -07:00
Robert Greenwalt
f9661d357f Turn back on global proxy support.
This reverts 138626.

Bug:8557674
Change-Id: I7b117d313c424d75bdeeea507541a96342f256f0
2013-04-08 16:31:26 -07:00
Lorenzo Colitti
89218e5e3f 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
Lorenzo Colitti
1c17853c0b Merge "Stop clat if it's no longer in use." into jb-mr2-dev 2013-03-29 01:17:45 +00:00
Robert Greenwalt
a0d2ee6ef5 Merge "Add BT - DataTracker connection" into jb-mr2-dev 2013-03-28 16:45:33 +00:00
Wink Saville
8804bd8bf5 Merge "Cleanup some debug in LinkCapabilities and Properties." into jb-mr2-dev 2013-03-28 16:09:26 +00:00
Lorenzo Colitti
4118d082f1 Stop clat if it's no longer in use.
Normally, clatd is stopped when a connection disconnects.
However, if the connection's LinkProperties change, or if the
disconnect somehow gets lost (e.g., because of bug 8486114),
then we need to stop it (and possibly restart it).

Bug: 8276725
Change-Id: Ib8ad0d653ed8d0cd70b7414bcaa8fdaef8ba5fcc
2013-03-28 14:45:36 +09:00
Wink Saville
22d95f3e82 Cleanup some debug in LinkCapabilities and Properties.
Change-Id: I5fe0124d0943f5e538e451645f32533a74c75a47
2013-03-27 16:21:43 -07:00
Robert Greenwalt
15a4153880 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
aff5413507 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
5371dbf5ad Prevent NPE in new API.
bug:8455284
Change-Id: I26ecbd024d1fe001f3af792c4e66409b2968c7ec
2013-03-22 12:00:17 -07:00
Lorenzo Colitti
6383982582 Reset connections on all stacked interfaces.
Bug: 8276725
Change-Id: I7fe99c6ea123037cef3e89e3c2c17ed43cc0b1ea
2013-03-20 19:22:58 +09:00
Lorenzo Colitti
52a5edce45 Merge "Framework changes for 464xlat." into jb-mr2-dev 2013-03-18 16:41:58 +00:00
Robert Greenwalt
fe86530b37 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
f338508972 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
cee3e458d2 Merge "Don't update routes if Dhcp fails." into jb-mr2-dev 2013-03-15 18:06:20 +00:00
Robert Greenwalt
0c0db62a64 Don't update routes if Dhcp fails.
bug:8377625
Change-Id: I11d2c29728078813bfb1245cc46e8cce2b307a2c
2013-03-15 10:48:46 -07:00
Lorenzo Colitti
3989de8e16 Fix build.
Change-Id: Iac84a5f35d7fcaebd096e605a4590f8c90fe97b0
2013-03-16 02:42:30 +09:00
Lorenzo Colitti
a37623584e Merge "Set routes from stacked links as well." into jb-mr2-dev 2013-03-15 17:14:43 +00:00
Lorenzo Colitti
ba01646777 Merge "Add stacked interfaces to LinkProperties." into jb-mr2-dev 2013-03-15 17:09:00 +00:00
Lorenzo Colitti
7a9d797771 Framework changes for 464xlat.
1. Add a Nat464Xlat service that ConnectivityService can use
   to start and stop clat. When clat is started, the service
   waits for the clat interface to come up and then calls
   ConnectivityService to add the appropriate routes.
2. Make ConnectivityService start clat when an IPv6-only mobile
   interface is connected. We only support clat on mobile for
   now.
3. Make tethering use the interface that has the IPv4 default
   route insted of using the base interface of the
   LinkProperties. This allows us to tether to a stacked
   interface, which is needed for tethering with 464xlat.

Bug: 8276725
Change-Id: I24480af69ee280f504399062638af0836a56268e
2013-03-15 14:41:55 +09:00
Lorenzo Colitti
e43b6c4eb3 Set routes from stacked links as well.
Currently, ConnectivityService adds and removes routes to/from
the routing table only based on the LinkProperties's routes.
Make it update routes based on the stacked links as well.

Bug: 8276725
Change-Id: I9a2adf537af5a04de0aaab3780afbcc3bb5c6acb
2013-03-15 14:35:38 +09:00
Lorenzo Colitti
c080312552 Add stacked interfaces to LinkProperties.
Bug: 8276725
Change-Id: I2f592d4c690e9af0459ae742ab16107a10d89353
2013-03-15 14:35:32 +09:00
Wink Saville
93c1d17a1a Revert "Fail fast if somebody is adding default routes"
This reverts commit 24efb41874

Mako wouldn't boot for me, reverting for now.

Change-Id: Ie92d6bf77811e7257e86d65e1e15e1973c027cd7
2013-03-15 05:07:04 +00:00
Robert Greenwalt
24efb41874 Fail fast if somebody is adding default routes
bug:2655011
Change-Id: I25da940e024825bc6e1d1ac5fe7b0d951609c1c1
2013-03-14 13:16:04 -07:00
Robert Greenwalt
92abc7f76f Add logging to track down bug
bug:8377625
Change-Id: Ifd0c4081a2f1238dbbc39c6904b993e2fb95455a
2013-03-13 16:38:46 -07:00
Lorenzo Colitti
644b93ecd2 Merge "Unit test routes with interfaces in LinkProperties" into jb-mr2-dev 2013-03-12 22:04:52 +00:00
Lorenzo Colitti
8ec0b8a5d6 Unit test routes with interfaces in LinkProperties
Change-Id: Ie41a56bc9863ee72f4d7a8f72e436fc57e57b1af
2013-03-12 15:01:05 -07:00
Lorenzo Colitti
53de3366aa Remove redundant parameter to modifyRoute
modifyRoute takes both an interface name and a LinkProperties.
This is redundant because all callers get the interface name
from the LinkProperties. Make modifyRoute get the interface
name from the LinkProperties instead.

Change-Id: I41ba8e0a10241c2f1107204fcaca2be74556042b
2013-03-12 07:39:59 +09:00
Lorenzo Colitti
fb47594d3b Unbreak documentation build.
Change-Id: I1e904b111e23d221dcb5f917201d4c27f0c1c05b
2013-03-12 04:30:47 +09:00
Lorenzo Colitti
7a43b0f7cf Always specify an interface for host routes.
Change-Id: I05b4d87e7d7e8237c6f4a70f1fedae00f416f581
2013-03-08 16:41:25 -08:00
Lorenzo Colitti
73b9785a15 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