15 Commits

Author SHA1 Message Date
Andreas Gampe
f8749200c0 PacProccesor: Only build for 32-bit
PacProcessor relies on libpac from chromium, which is not built
for 64b right now.

Change-Id: I034932343b9aef239748511d8deb498b46e77cf2
2014-04-18 23:12:39 +00:00
Ying Wang
56f43240f9 Use LOCAL_JNI_SHARED_LIBRARIES to install JNI libs.
Change-Id: Ibef01983891377b859d28cff801f48ef5d8eabb2
2014-04-17 18:14:50 -07:00
Glenn Kasten
9eed0c624e am 6afcecdc: am 2fb4a6bb: am 48988921: am d6408735: Merge "PacProcessor should be 32 bit only."
* commit '6afcecdc15b0baec1398e344f90666e13b8e337c':
  PacProcessor should be 32 bit only.
2014-03-19 19:54:03 +00:00
Narayan Kamath
58f9a645e1 PacProcessor should be 32 bit only.
It depends on external/v8, which isn't ready for 64 bit yet.

Change-Id: Ibc9705665b81d3667826dedd6217f2eb6d451c81
2014-03-19 11:39:43 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05: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
Jason Monk
fa4518f763 PAC Local Proxy to only receive lo connections
This changes the Local Proxy used in PAC to only accept connections coming
from the device.

Bug: 10230718
Change-Id: I5fbeb3aa018df5179a403301021f452e910a517d
2013-09-18 09:22:11 -04: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
Jason Monk
e6b4163f38 Merge "Verify inputs to PAC resolving." into klp-dev 2013-09-10 20:27:23 +00:00
Jason Monk
da205a749f System binds PAC Local Proxy instead of self start
The PAC Local Proxy priviously caught proxy broadcasts and started itself
when needed.  Now it is bound by the system the same way the pac processing
service is started.

Bug: 10425091
Change-Id: I746daa21645a11aa18ef464f00c8cb5536d8c86f
2013-08-22 16:33:26 -04:00
Jason Monk
7a6af1c093 Verify inputs to PAC resolving.
This verifies both the URL and host are valid before they are passed to the
javascript for PAC.  This is to protect against injection attacks.

Bug: 10230771
Change-Id: Ib1996181971a49ccd390f181ec3848124801e4d5
2013-08-22 15:46:11 -04:00
Jason Monk
ff796e5a24 Merge "Change PacProcessor to Android Service" into klp-dev 2013-08-20 23:35:26 +00:00
Jason Monk
9ced3cd9d6 Change PacProcessor to Android Service
This switches the PacProcessor over to an Android Service.  The service
is bound and unbound by the PacManager, which also adds it to the
ServiceManager, allowing for Context-Free access by the PacProxySelector
in all DVMs.

bug:10182711
Change-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61
2013-08-20 17:36:39 -04:00
Jason Monk
433ba46fcc Fix ProxyHandler to only run when needed
Changes ProxyHandler service to only be active when needed for PAC services.

Bug: 10260877
Change-Id: If42e53e805488fd08381baa96409ba3027661c70
2013-08-20 15:27:51 -04:00
Jason Monk
602b232a06 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