Commit Graph

1384 Commits

Author SHA1 Message Date
Narayan Kamath
fa36b36c8b Merge "Deprecate more apache-http." into lmp-mr1-dev 2014-10-24 08:58:45 +00:00
Narayan Kamath
823675fdbb Deprecate more apache-http.
bug: 18067888

Change-Id: I50511d53dfc9ae236dfb1646c55a5dd7fa15d7b2
2014-10-23 17:43:05 +01:00
Sreeram Ramachandran
e15db7c23d Add an API to select a network for a DatagramSocket.
Mirrors the API that does this for Sockets.

Bug: 18076907
Change-Id: Ifa27b39e23797558546aab751fbfb3aed3b7dbcb
2014-10-23 08:37:33 -07:00
Robert Greenwalt
3515ab8092 am 24861eab: Merge "Send callbacks for Net property changes" into lmp-dev
* commit '24861eabe641d5a147f127c8e7f98fab949224ab':
  Send callbacks for Net property changes
2014-10-03 15:41:04 +00:00
Robert Greenwalt
24861eabe6 Merge "Send callbacks for Net property changes" into lmp-dev 2014-10-03 15:36:39 +00:00
Robert Greenwalt
a848c1cc0a Send callbacks for Net property changes
LinkProperties and NetworkCapabilities changes were not calling app callbacks.

bug:17681483
Change-Id: I67dac3c4dc1284f5c4bfb24de239da4ec776336f
2014-10-02 21:05:44 -07:00
Newton Allen
c68aad9fd0 am d84ce32b: Merge "Fix some documentation typos." into lmp-dev
* commit 'd84ce32bd2d7c3cebac15545504f4fec464a6956':
  Fix some documentation typos.
2014-10-02 16:47:19 +00:00
Newton Allen
8f8a11b7fa Fix some documentation typos.
Change-Id: I747a0ade5c7b9c45d4465bf327952338bbc1cfaa
(cherry picked from commit 4465d1a03e)
2014-09-30 02:52:26 +00:00
Paul Jensen
a621a97f4a am 89e0f093: Move mobile provisioning APN support into telephony.
* commit '89e0f0937a70d73b5ed188c9337b4d33860e5573':
  Move mobile provisioning APN support into telephony.
2014-09-29 20:47:32 +00:00
Paul Jensen
89e0f0937a Move mobile provisioning APN support into telephony.
Most of this logic is simply removed from ConnectivityService.
The captive portal detection is now done by the NetworkMonitor.
The notification logic is still left in ConnectivityService as
it's used by both the NetworkMonitor and telephony's mobile
provisioning logic.

bug:17324098

Change-Id: Ibd1c42b1a75795f90a6483d3d0a5a14f88b193d8
2014-09-29 11:37:43 +00:00
Lorenzo Colitti
34feaa0947 am 6974f6a9: Merge "Block address families with routes, not NetworkAgent side channel" into lmp-dev
* commit '6974f6a97028a42ce79b8e9e1869af0ebf5624f4':
  Block address families with routes, not NetworkAgent side channel
2014-09-24 01:29:36 +00:00
Lorenzo Colitti
633b7bb8ed am bb17a717: Merge changes I3ebf0cec,I8635472c into lmp-dev
* commit 'bb17a717750c558ece69344ecd93d96d4fbc4aca':
  Add a throw route to the VPN endpoint.
  Support non-unicast route types: unreachable and throw.
2014-09-23 03:21:21 +00:00
Lorenzo Colitti
60446165d8 Block address families with routes, not NetworkAgent side channel
Now that we support unreachable routes, use those to block
address families on VPNs. This is a much more elegant solution.
Also update LinkProperties when IP addresses are added and
removed, fixing a TODO.

Bug: 17462989
Change-Id: Ib749d84710dca70d672350b9f129bb91419ec77e
2014-09-23 10:48:28 +09:00
Wink Saville
4e2dea77dc Cleanup NetworkCapabilities.
Remove unused imports and variables.
Fix misspellings.
Added @Overrides.

Change-Id: I81f4adb0504e92d01c5465a0e14bc46d5ec3987e
2014-09-22 21:51:47 +00:00
Lorenzo Colitti
4b0f8e6fb7 Support non-unicast route types: unreachable and throw.
Bug: 17462989
Change-Id: I8635472ca3e96ec2866af2de48e6260ab2da13fb
2014-09-22 13:10:15 +09:00
Robert Greenwalt
f3b47e95b1 Merge "Use unified Tethering Permission Check" into lmp-dev 2014-09-18 00:02:16 +00:00
Robert Greenwalt
edb47668f0 Use unified Tethering Permission Check
The BT and Wifi mechanisms for enabling Tethering did their own
permission checks.  This set of changes unifies the check into
a ConnectivityManager function so they can be kept in sync.

bug:17435527
Change-Id: I8c157a5acf56ffbddd349cb6a45160ae7be8541b
2014-09-17 16:18:12 -07:00
Jeff Sharkey
9d375ecbe6 Merge "NetworkStats always needs arrays." into lmp-dev 2014-09-17 19:01:13 +00:00
Jeff Sharkey
7a8f1a32dc NetworkStats always needs arrays.
Internal logic relies on Arrays.copyOf(), so always give ourselves
valid arrays, using shared empty objects to save overhead.

Bug: 17502649
Change-Id: I5dbb00545bdfe45bbd48144ab505ea08cc92cbcd
2014-09-17 09:26:31 -07:00
Robert Greenwalt
e73cc4646b Add NetworkAgent event for ExplicitlySelected
Lets Wifi tell us when the user selected this AP vs auto-connected.

bug:17396168
Change-Id: I6e067ab62ed49040629aa31fe07ff880d3d542f0
2014-09-16 17:03:59 -07:00
Robert Greenwalt
b4f601cb84 Merge "Report Network status to NetworkAgent." into lmp-dev 2014-09-16 22:59:33 +00:00
Ang Li
953b5625d5 Fix a typo in comment.
Change-Id: I23224b1adf946ebec0ec7a39686913189c9b8287
2014-09-15 15:09:16 -07:00
Robert Greenwalt
49f63fbed4 Report Network status to NetworkAgent.
Currently just valid/invalid based on NetworkMonitor findings.

Changed NetworkMonitor to start out in default state since starting in Offline causes
a spurious invalid report at creation time.

Added some logging.

bug:17395269
Change-Id: I9ae650b561834d8f8979033744d97df852e76df9
2014-09-14 07:43:10 -07:00
Jeff Davidson
8afddbe7e9 Merge "Update VpnService Javadoc to reflect new UX." into lmp-dev 2014-09-11 22:41:24 +00:00
Jeff Davidson
6d6ea3b6be Update VpnService Javadoc to reflect new UX.
The major change is that consent is now "sticky" and lasts until the
user explicitly disables the VPN connection.

Bug: 17474362
Change-Id: Id4e7807e635bbfc7645741135209d46763e280f9
2014-09-11 14:44:31 -07:00
Sreeram Ramachandran
a1e06807ee Hide mutable VpnService APIs to add/remove IP addresses dynamically.
These APIs were added because we thought we needed them to provide
seamless transition from one server backend to another using local IP
addresses to distinguish between the backends. I.e., connections whose
local IP address was old would be routed to the old backend; connections
whose local IP address was new would be routed to the new backend.

It turns out that's not needed. VpnService already supports seamless
re-establishment, so VPNs just need to call establish() again with a
different IP address. I've verified with a custom VPN app that this
works, and can distinguish traffic based on the old and new addresses.

Nobody is using these APIs at the moment, so we could even consider
removing them altogether, but I prefer just hiding them, just in case.

Bug: 15409819
Change-Id: I30949926a0f859c9d839981ccbc5d8e1e535a3a5
2014-09-11 14:17:10 -07:00
Paul Jensen
204dc65f37 Merge "Flush HTTP socket pools and DNS cache when binding process to a Network." into lmp-dev 2014-09-11 13:15:22 +00:00
Paul Jensen
07ed07459a Make Network.openConnection() share HttpHandlers not OkHttpClients.
HttpHandler and HttpsHandler classes have a lot of bug fixes baked into
them that the Network.openConnection() API should be using, for example
disabling SPDY support.

bug:17420465
Change-Id: I9f1472753a542d1dd6bffde3a60c37a9145098aa
2014-09-11 00:25:50 +00:00
Paul Jensen
c91b5348a5 Flush HTTP socket pools and DNS cache when binding process to a Network.
Future HTTP requests could use an old socket that's bound to a different Network
causing unexpected results.  DNS results could also not be appropriate.

bug:17283566
bug:17432215
Change-Id: I88b40b723c7b442000cafe8ce8b9d989d8995991
2014-09-10 18:26:25 +00:00
Robert Greenwalt
35f7a94c84 Don't accept score below 0.
Network Factories are allowed to go below, but networks need to be
constrained.  Allowing the network to go below 0 meant that -1 could
sometimes leak through and foul the logic.

The core of 17361330 will be fixed when we stop sending scores for
listens to NetworkFactories, but it exposed this issue too.  Summary:

1 - add a network listener.  This isn't  a request so it's not sent
to networks.
2 - alter your score (ethernet sets score to -1 when the link goes
down) (16:07:39.782)
3 - a bug in ConnectivityService causes score changes to get sent for
all network requests and network listeners causing NetworkFactories
to no see 2 entities.  This bug will be fixed by a pending change
(https://googleplex-android-review.googlesource.com/#/c/540840/).
This causes the ethernet NetworkFactory to see two entities, both
served by networks of score -1.  (16:07:39.989)
4 - disconnect Ethernet - this only sends 0 scores for known
requests, not network listeners.  Had it been sent for both entities
they both would have evaluated that the networkfactory score (-1)
was lower than the request score (0) and both released their
refcount. (16:08:03.147)
5 - this means the listener is tracked by the EthernetNetworkFactory
with a score of -1 while the factory itself has a score of -1 so the
network release isn't called.

bug:17361330
Change-Id: Ife34ca0f9c233dd3c3df80f6fea580af43afcdeb
2014-09-10 10:39:37 -07:00
Robert Greenwalt
b2489879ee Fix networking API per scripting checks.
bug:17389242
Change-Id: I6017f559788ee16a1721b387796e5bda5e07280d
2014-09-04 16:50:29 -07:00
Robert Greenwalt
d35d826fb5 Merge "Catch creation of NetworkRequest without NetCap" into lmp-dev 2014-09-04 21:08:11 +00:00
Jason Monk
8236413ce0 Proxy fixes from API review feedback
Bug: 17389383
Change-Id: Ib5e40f55d02687ee917ba30773123cf3e4c2a97d
2014-09-04 15:39:56 -04:00
Robert Greenwalt
f5b74f981f Catch creation of NetworkRequest without NetCap
Using reflection you could do this and it would crash the system.
Thanks, ServiceFuzzer!

bug:17379629
Change-Id: I8b470bda78a69761ccd92496746f5d295b5d07f2
2014-09-03 20:57:41 -07:00
Lorenzo Colitti
17e7e9757d Kill the NetworkInfo(int type) constructor. IT'S A TRAP!
This constructor does nothing, including doing nothing with its
only argument. This causes it to return a NetworkInfo for
TYPE_MOBILE no matter what was passed in.

Bug: 16610051
Change-Id: I4ccd5ec050f7824fb06496c00fcd7901defeb7bd
2014-08-29 18:34:49 -07:00
Lorenzo Colitti
0ed0a28ad8 Use per-Network connection pools for openConnection.
If we don't do this, per-network HTTP requests will go over the
wrong network if any previous HTTP request was made by the same
app on another network.

Bug: 17300006
Change-Id: I1854c16dee6adb9e81fb12b097577439d69a644e
2014-08-29 18:13:19 -07:00
Lorenzo Colitti
b57edc5ae9 Pass the socket mark for DNS queries to dnsmasq.
This makes tethered clients use the correct DNS servers when
tethering to non-default networks like the DUN APN.

Bug: 16357676
Change-Id: I8933b6de198a92c2aaf0291931ace8966ddba275
2014-08-29 10:21:58 -07:00
Lorenzo Colitti
32e520ed61 Really remove NetworkBoundURLFactory.
The code using it was removed, but the file itself was not.

Bug: 17112978
Change-Id: I35bc254fd3a5e7b19297b959c7310e7054ab77e1
2014-08-28 18:31:18 -07:00
Robert Greenwalt
fc0c6890c6 Clean up Connectivity Logging.
bug:17285109
Change-Id: I61b98aa636996f8d4915fd954d49a22c20cfe9ab
2014-08-27 14:49:14 -07:00
Paul Jensen
5b62d263a7 Merge "Implement VpnConfig.addAllowedApplication()." into lmp-dev 2014-08-26 20:09:00 +00:00
Robert Greenwalt
ad3fc40737 Merge "Update VPN whitelist/blacklist api docs." into lmp-dev 2014-08-26 00:58:51 +00:00
Robert Greenwalt
fc4f721a87 Update VPN whitelist/blacklist api docs.
Addressing what happens to unwhitelisted or blacklisted apps.

bug:17206162
Change-Id: I0b863946de277e6528675cc5412267a03f7b6841
2014-08-25 17:55:28 -07:00
Paul Jensen
0784eeab28 Implement VpnConfig.addAllowedApplication().
bug:17109588
bug:13651397
Change-Id: Ibb944794627117728373f0105e24f196f3eeb9e9
2014-08-25 15:09:25 -04:00
Paul Jensen
177cd38b00 Merge "Remove captive portal sign-in actions." into lmp-dev 2014-08-25 18:52:32 +00:00
Paul Jensen
a68d213502 Remove captive portal sign-in actions.
This reverts commit e0101cd and removes the related NetworkMonitor code.
The thinking is the broadcasts are not robust enough as they rely on apps
working together and are not sufficiently tested.

bug:17115050
Change-Id: I433032867cc4fea7191a1b13842b16825dc74df4
2014-08-22 09:42:56 -04:00
Lorenzo Colitti
9f1274b7e4 Rework the per-network URL API.
This addresses API council comments.

Bug: 17112978
Change-Id: I698b243b2b685d1f25414cee72450be3ae0c2bf0
2014-08-21 19:09:27 -07:00
Jason Monk
e1bf163c1e Merge "Fix SOCKS proxies from being dropped from PAC" into lmp-dev 2014-08-20 20:15:45 +00:00
Jason Monk
4385af32ef Fix SOCKS proxies from being dropped from PAC
It seems that SOCKS isn't being handled explicitly by the
PacProxySelector, which results in them just being dropped
from the return list.  This will sometimes end up switching
from SOCKS to DIRECT, which could be bad.

Bug: 17104885
Change-Id: Ic8a28230d3ae18c0abb000811a9100787c10c5e0
2014-08-20 12:21:56 -04:00
Jeff Davidson
05542603dd Less intrusive VPN dialog and other UX tweaks.
-The ability to launch VPNs is now sticky; once approved by the user,
further approvals are not needed UNLESS the connection is revoked in
Quick Settings.

-The old persistent notification has been removed in favor of the new
Quick Settings UI.

-The name of the VPN app is now pulled from the label of the VPN
service rather than the app itself, if one is set.

Bug: 12878887
Bug: 16578022
Change-Id: I102a14c05db26ee3aef030cda971e5165f078a91
2014-08-20 16:55:28 -07:00
Lorenzo Colitti
0a82e80073 Stop using LinkProperties for static configuration.
LinkProperties can represent way more complicated configurations
than what we can actually apply to interfaces. This makes it
error-prone to use it to represent static configuration, both
when trying to apply configuration coming from LinkProperties
and when trying to save configuration from current
LinkProperties.

Instead, move static configuration (IPv4 only, since we don't
support static IPv6 configuration) into a separate
StaticIpConfiguration class.

Bug: 16114392
Bug: 16893413
Change-Id: Ib33f35c004e30b6067bb20235ffa43c247d174df
2014-08-19 11:59:43 -07:00