Commit Graph

1057 Commits

Author SHA1 Message Date
Christopher Lane
b72d8b4091 Add support for custom TXT records in NSD
Change-Id: I8e6dc9852ad4d273c71ad6a63a7fbd28a206806d
2014-04-14 14:10:36 -07:00
Robert Greenwalt
42b746e4d8 am bd84f01c: am 5d3d4ee3: Merge "Handle provisioning APN by turning off/on data." into klp-dev
* commit 'bd84f01c6ce122ab58fc7c5b687dc8bfb0fb03e6':
  Handle provisioning APN by turning off/on data.
2014-03-19 19:08:44 +00:00
Robert Greenwalt
5d3d4ee300 Merge "Handle provisioning APN by turning off/on data." into klp-dev 2014-03-19 16:12:01 +00:00
Dave Platt
c76bccd6ea am 17e7c407: am 98a027a5: Merge "Harden NsdManager against null-dereference crashes" into klp-dev
* commit '17e7c4076b8f1617ed397dae570e9d5240cd9c1b':
  Harden NsdManager against null-dereference crashes
2014-03-19 00:59:47 +00:00
Wink Saville
c8e8e3eba6 Handle provisioning APN by turning off/on data.
This is a start and two tests succeed:

Tested expired AT&T SIM and waiting 15min for alarm to fire.
Tested a provisioned Verizon SIM and works normally.

I've NOT tested AT&T where I've properly completed the provisioning.
I've NOT tested T-Mobile SIM either provisioned or not-provisioned.
I've NOT tested provisioning over WiFi.
I've NOT tested that WiFi <-> Mobile works
I've NOT tested voice calls, SMS, MMS
...

The current bug is below, but it is poorly named either it should be
renamed or a new bug created.

Bug: 13190133
Change-Id: I0a09f642614cd27a8655e9dae764b8999ce485b8
2014-03-18 10:58:40 -07:00
Chad Brubaker
7c2b1625d6 am 78f204ae: am 8e240af5: Merge "Remove SO_BINDTODEVICE from VPN protect" into klp-dev
* commit '78f204aed8c0f3c8174616801d66f96a9a00a5fd':
  Remove SO_BINDTODEVICE from VPN protect
2014-03-14 16:27:58 +00:00
Dave Platt
97121c923c Harden NsdManager against null-dereference crashes
Due to race conditions or programming errors, the NsdManager
can attempt to process an asynchronous status message (and issue
a callback to the listener) after the listener has already been
removed from the NsdManager state.  This causes dereferencing of
null objects, and a crash.

Split out the three async-queue message cases:  these are ones
in which message.arg2 does not hold an NsdManager array index
and the code should not interpret this field as if it were.

Add an explicit check for "null listener" (the array index in the
message has already been released), log a warning, and exit early.

Safeguard accesses to the "NSD service type" string from a possibly
null) NsdServiceInfo object... return a constant "?" string rather
than crashing.

Bug: 9016259

Manual cherrypick of commit b1fbb14122a99c62363a949dd634294f5e887ef,
change-ID I7a6ff6842cf035cefbafe2a023ae1fd43734081e in master.

Change-Id: I8d9b7a1763d47d061a0f46b3cb453de4bdb8c2ed
2014-03-13 17:27:03 -07:00
Chad Brubaker
f5729a6a15 am 1011960c: am decfd707: Merge "Add the calling package name to requestRouteToHost" into klp-dev
* commit '1011960c44a4f84d53d05199fe1ca09be9473822':
  Add the calling package name to requestRouteToHost
2014-03-13 18:18:36 +00:00
Chad Brubaker
a1d7c74449 Remove SO_BINDTODEVICE from VPN protect
SO_BINDTODEVICE is not needed with policy routing.
SO_BINDTODEVICE was also used on the default iface which causes problems
when the default iface is IPv6 only and the socket tries to connect to a
IPv4 address.

Bug: 12940882
Change-Id: I5b2bde0ac5459433fc5749f509072a548532f730
2014-03-11 10:58:19 -07:00
Chad Brubaker
18dd015e6e Add the calling package name to requestRouteToHost
The calling package name will be used to check if an application is a
system application when deciding if a route should be exempt from VPN
routing rules.

Bug: 12937545
Change-Id: I2c09c875fe9bb9685871a0a801ddcbb32fc17405
2014-03-05 13:35:20 -08:00
Hui Lu
a24bec32bd Reconnect/teardown proxy network connectivity.
Change-Id: I9bf6f96883a2151fceef788e65d9a767d0f52c69
2014-02-18 16:52:36 -05:00
Hui Lu
1c5624a012 Add proxy as another network.
Change-Id: I70cb6ac5604c4f0d6a752a291c40de2445ae98bb
2014-01-30 17:26:18 -05:00
Dave Platt
3bbf7e6aa5 am 62bac75d: am 76e5ca81: Fix descriptor leak after accepting connections
* commit '62bac75d677de5398b48487e758dcbdf7bc9d834':
  Fix descriptor leak after accepting connections
2014-01-07 11:53:12 -08:00
Dave Platt
76e5ca81b3 Fix descriptor leak after accepting connections
After accepting a connection on a listening socket and
storing the resulting FileDescriptor into a newly created
LocalSocketImpl, the new impl's "descriptor was created
locally and should be closed normally" flag should be set.

Bug: 11805817

(cherry picked from commit 3e7305c6bf)

Change-Id: I723d7c5544ee4b6858894c215716cbc32a958df1
2014-01-06 14:31:28 -08:00
Kenny Root
e6585b32ea Use java.util.Objects instead on internal API
Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
2013-12-13 13:40:30 -08:00
Lorenzo Colitti
2daa0c93c4 Merge "Add address flags and scope to LinkAddress." 2013-12-07 02:43:04 +00:00
Lorenzo Colitti
64483947fd Add address flags and scope to LinkAddress.
This is necessary so that the framework can know whether an IPv6
address is likely to be usable (i.e., if it's global scope and
preferred). Also, it will simplify the address notification
methods in INetworkManagementEventObserver, which currently take
the address, the flags, and the scope as separate arguments.

1. Add flags and scope to the class and update the unit test.
   Use the IFA_F_* and RT_SCOPE_* constants defined by libcore.
   Since most callers don't know about flags and scope, provide
   constructors that default the flags to zero and determine the
   scope from the address. Addresses notified by the kernel will
   have these properly set. Make multicast addresses invalid.
   Update the class documentation.
2. Provide an isSameAddressAs() method that compares only the
   address and prefix information between two LinkAddress
   objects. This is necessary because an interface can't have
   two addresses with the same address/prefix but different
   flags.
3. Update LinkProperties's addLinkAddress and removeLinkAddress
   to identify existing addresses to add/remove using
   isSameAddressAs instead of implicit equals(). Specifically:
   - If addLinkAddress is called with an address that is already
     present, the existing address's flags and scope are updated.
     This allows, for example, an address on an interface to go
     from preferred to deprecated when it expires, without it
     having to be removed and re-added.
   - If removeLinkAddress is called with an address that is
     present but with different flags, it deletes that address
     instead of failing to find a match.
4. Update the INetworkManagementEventObserver address
   notification methods to take just a LinkAddress instead of
   LinkAddress, flags, and scope. While I'm at it, change the
   order of the arguments for consistency with the other
   functions in the interface.

Change-Id: Id8fe0f09a7e8f6bee1ea3b52102178b689a9336e
2013-12-06 13:54:35 +09:00
The Android Open Source Project
ebcb32f58a Merge commit 'bac61807d3bcfff957b358cb9ad77850bd373689' into HEAD
Change-Id: I29374270c8e0c2f2859efaf1d55af9f73da0f8d7
2013-12-05 13:10:46 -08:00
Lorenzo Colitti
e1ad1849f3 Minor changes to LinkAddress.
1. Simplify the parceling code. Since the InetAddress inside a
   LinkAddress can never be null, we don't need to special-case
   the case where it is.
2. Add / update method documentation.
3. Write a unit test.

Change-Id: Iba0a8cecc683d55d736419965e72ee33dd66dc22
2013-12-03 19:46:36 +09:00
Lorenzo Colitti
5ad421a3d0 Use LinkAddress in address notifications.
Currently address{Updated,Removed} pass in the address as a
string such as "fe80::1/64". Use LinkAddresses instead, since
that's what it is.

This makes the code more robust in the unlikely case that netd
passes in an invalid string. In the future we can move flags and
scope into the LinkAddress itself and simplify the code further.

Bug: 9180552
Change-Id: I66599f9529cf421caa7676fdd0141bb110b8589e
2013-11-26 21:55:15 +09:00
Lorenzo Colitti
5ae4a531cc Pass DNS server info notifications to observers.
These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

[Cherry-pick of 416740ad4d]

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
2013-11-25 17:27:17 +09:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Robert Greenwalt
ecfae4f899 am a4c8fabf: Merge "fix ethernet and wifi can\'t be tuned seperately issue"
* commit 'a4c8fabfbb0bf5bf9da5267c13230c5169b5943d':
  fix ethernet and wifi can't be tuned seperately issue
2013-11-21 18:02:00 -08:00
Jianzheng Zhou
a363a10ca2 fix ethernet and wifi can't be tuned seperately issue
ethernet especially Gigabit enet use the same tune data with wifi
won't reach best performance.

Change-Id: Iac50ba47904c76ff7b5b8ad226e83451359ec534
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2013-11-15 13:32:23 +08:00
Robert Greenwalt
7fdfe28c75 am 4c514f2a: am 594eeb08: Merge "Fix for the invalid Global Proxy Setting" into klp-dev
* commit '4c514f2a688bdae319c919987092ccfee690f390':
  Fix for the invalid Global Proxy Setting
2013-11-13 16:29:12 -08:00
Robert Greenwalt
ec9e8933ef am 3b9244b4: Merge "Fix for the invalid Global Proxy Setting"
* commit '3b9244b4b4d5008daa9763a169a751975c75cc54':
  Fix for the invalid Global Proxy Setting
2013-11-13 16:27:56 -08:00
Raj Mamadgi
92d02491ad Fix for the invalid Global Proxy Setting
Adding validation for Global Proxy setting before it is
being set.

Proxy is validated at the boot time also to make sure
the value set is valid.

Signed-off-by: Raj Mamadgi <rmamadgi@sta.samsung.com>
bug:11598568

Change-Id: Idff5ae81119d8143da096b5291ecbfbc5875cbd4
2013-11-14 00:08:21 +00:00
Raj Mamadgi
f89fade0cd Fix for the invalid Global Proxy Setting
b/11598568

Adding validation for Global Proxy setting before it is
being set.

Proxy is validated at the boot time also to make sure
the value set is valid.

Change-Id: Ib93d24a80af1a329694f07c47bd81dfcc1e1b874
Signed-off-by: Raj Mamadgi <rmamadgi@sta.samsung.com>
2013-11-12 21:14:02 -05:00
Jason Monk
7c053a2fa5 am cb134203: am 86f5a149: Merge "Change PacProxySelector to return unresolved addr" into klp-dev
* commit 'cb1342032283d1a415eb4f916a79039aa8ed0cbf':
  Change PacProxySelector to return unresolved addr
2013-10-31 11:50:07 -07:00
Jason Monk
179d6e8e20 Change PacProxySelector to return unresolved addr
This was found by a bug in Firefox where it expects the addresses from a
ProxySelector to be unresolved.  Since ProxySelectorImpl returns unresolved
addresses the PAC version should as well to avoid breaking apps.

The ProxyServer also needed to be updated to reflect this change as it was
expecting a resolved InetSocketAddress.

Bug: 11443853
Change-Id: I3a4e9e248d22d7808603c147660df708e01cdf82
2013-10-31 14:17:48 -04:00
Alex Klyubin
07873e3a72 am 56922039: am b4cae4a9: Merge "Fix SSLCertificateSocketFactory.getDefaultCipherSuites."
* commit '569220399841ae1a3fd62a1b77fa087bca2ee0f3':
  Fix SSLCertificateSocketFactory.getDefaultCipherSuites.
2013-10-29 08:54:15 -07:00
Alex Klyubin
5692203998 am b4cae4a9: Merge "Fix SSLCertificateSocketFactory.getDefaultCipherSuites."
* commit 'b4cae4a955ebd91cf35aaeb00ab12ce6f1d5fc48':
  Fix SSLCertificateSocketFactory.getDefaultCipherSuites.
2013-10-29 08:50:28 -07:00
Alex Klyubin
019118af67 Fix SSLCertificateSocketFactory.getDefaultCipherSuites.
The method was returning all supported cipher suites instead of the
default ones only. The default list of cipher suites actually used by
sockets created by this factory is not affected by this issue.

Change-Id: I2e4d7c6547fcb29ff7a0943bc8791706cc8d22bc
2013-10-28 16:24:33 -07:00
Jason Monk
193ad53ddd am 6b57033b: am 8b81a638: Merge "getProxy in ConnectivityService returns port w/PAC" into klp-dev
* commit '6b57033b022890242d6833b494040c360af691d0':
  getProxy in ConnectivityService returns port w/PAC
2013-10-10 16:05:48 -07:00
Jason Monk
decd295b13 getProxy in ConnectivityService returns port w/PAC
Changes the PacManager to report message back to ConnectivityService
to send a broadcast once the download has completed.  This allows the
ConnectivityService to store the correct proxy info for getProxy().

This made the problem arise that ProxyProperties was not handling port
while it had PAC.  Added small fix for equals() and parcelization.

The combination of these fixes seems to resolve Bug: 11028616.

Bug: 11168706
Change-Id: I92d1343a8e804391ab77596b8167a2ef8d76b378
2013-10-10 17:01:45 -04:00
Robert Greenwalt
1db7024c50 am 2e23484e: am f3f1a370: Merge "Un-deprecate getDhcpInfo" into klp-dev
* commit '2e23484eec2321537e843168f76cba4c18b56f95':
  Un-deprecate getDhcpInfo
2013-10-04 13:34:08 -07:00
Robert Greenwalt
cb2fe96f2c Un-deprecate getDhcpInfo
Replacement api isn't available.

bug:10003785
Change-Id: Ibe981ae90e1c6c2f1b65fa225443ae4cc92c2a3a
2013-10-04 09:53:39 -07:00
Wink Saville
e7329140c0 am fe587dba: am a48ccdd6: Merge "Use networkType to display wifi and mobile notification separately." into klp-dev
* commit 'fe587dba3a70c658140eac1b13996b7d8e6eeda2':
  Use networkType to display  wifi and mobile notification separately.
2013-10-03 21:30:29 -07:00
Wink Saville
3ec8e7fb79 Use networkType to display wifi and mobile notification separately.
There are two bugs one is I was clearing the notification in
CaptivePortalTracker when entering the ActivateState. (double check
according to bug 5021626 we should be calling enter)

Second is we could have the need to display both icons but can't
because we only allow one.

The solution I'm proposing here is to allow two notifications and
have then controlled separately.

Bug: 10886908
Change-Id: I30e7130bc542535492d175640a4990c592f32806
2013-10-03 08:34:46 -07:00
Wink Saville
86ad8e6871 am 56065891: Merge commit \'53221120\' into fix-merge-conflict
* commit '56065891abf383b0409ae595437dcb0ea132e32b':
  Do not always call setIsConnectedToProvisioningNetwork(false)
2013-09-21 14:36:13 -07:00
Wink Saville
56065891ab Merge commit '53221120' into fix-merge-conflict
* commit '53221120':
  Do not always call setIsConnectedToProvisioningNetwork(false)

Conflicts:
	core/java/android/net/MobileDataStateTracker.java

Change-Id: I497b57cb96d0f3b3bce4f4e1cbc5febcc6421597
2013-09-21 11:52:42 -07:00
Wink Saville
5322112004 am ab8cabf1: am 1e4f4618: Do not always call setIsConnectedToProvisioningNetwork(false)
* commit 'ab8cabf1d3e5d5fd1fff17816fbc4ab19e8f1a8e':
  Do not always call setIsConnectedToProvisioningNetwork(false)
2013-09-21 11:33:53 -07:00
Wink Saville
1e4f461839 Do not always call setIsConnectedToProvisioningNetwork(false)
Previously I was calling setIsConnectedToProvisioningNetwork(false) always,
but all MDST's receive every broadcast. Thus we could over write an MDST's
mNetworkInfo.mIsConnectedToProvisioningNetwork to false, unless the MDST
that was set to true was last, i.e the code was order dependent.

If the provisioning networks value was false instead of true
when handleMobileProvisioningAction was called we wouldn't invoke
mdst.enableMobileProvisioning because network info would be null.

Thus the provisioning network would never transition to CONNECTED and
a default route wouldn't get setup and the browser couldn't access the
website.

Now setIsConnectedToProvisioningNetwork is only set to false when the
apnType matches and we won't indiscriminately change it and are not
order dependent.

Bug: 10853805
Change-Id: I68a4f9bdf5dc18d90f4cdef7a60811f57be67261
2013-09-21 09:01:19 -07:00
Jason Monk
f9464838fe am 312c495f: Merge "Guarantee that PAC Local Proxy owns Port" into klp-dev
* commit '312c495f4b8d002264772f61fe1fa3ef87bf3e52':
  Guarantee that PAC Local Proxy owns Port
2013-09-13 17:14:10 -07:00
Jason Monk
312c495f4b Merge "Guarantee that PAC Local Proxy owns Port" into klp-dev 2013-09-13 20:31:54 +00:00
Jason Monk
6f8a68f49a Guarantee that PAC Local Proxy owns Port
This changes the PAC support to not broadcast the Proxy information until
the Local Proxy has started up and successfully bound to a port so that
the local proxy information can be guaranteed to be owned by the proxy.

Bug: 10459877
Change-Id: I175cd3388c758c55e341115e4a8241884b90d633
2013-09-13 09:53:26 -04:00
Elliott Hughes
2df0f9ed82 am 442a8753: am c3415a91: Merge "Remove ArpPeer; dead code from Google TV."
* commit '442a8753a0f312439e2ef233c041d9d584768749':
  Remove ArpPeer; dead code from Google TV.
2013-09-11 17:02:20 -07:00
Elliott Hughes
442a8753a0 am c3415a91: Merge "Remove ArpPeer; dead code from Google TV."
* commit 'c3415a918df78715db756f02d8c55a1e7ab94244':
  Remove ArpPeer; dead code from Google TV.
2013-09-11 16:52:01 -07:00
Elliott Hughes
c3415a918d Merge "Remove ArpPeer; dead code from Google TV." 2013-09-11 23:48:34 +00:00
Elliott Hughes
62d7bf2ab3 Remove ArpPeer; dead code from Google TV.
Change-Id: I595a6b6f52ab513a008e0fd861e98bc4488a1999
2013-09-11 16:21:16 -07:00