summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/connectivity/PacManager.java
AgeCommit message (Collapse)Author
2013-12-19Move some system services to separate directoriesAmith Yamasani
Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
2013-10-14Fix error when PAC set rapidlyJason Monk
Stop the broadcast from being accidentally sent when PAC is in the process of downloading / binding local proxy. Only send broadcast when valid port is contained (i.e. sent by PacManager). Bug: 11168706 Change-Id: I998711fcf0a6bd82bdef413726ec41317752a57b
2013-10-10getProxy in ConnectivityService returns port w/PACJason Monk
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-09-26Fix Sending PAC Broadcast before downloadedJason Monk
The PacManager now waits until the local proxy is bound and the PAC file is downloaded before sending out the proxy broadcast. Bug: 10895515 Change-Id: Iaa7fc0989b52453aeeb720b44df0fca0fcb959ca
2013-09-18Fix PacManager to not unbind when no connectionJason Monk
PacManager previously would unbind service even when there was no connection. This means that multiple set proxies of no PAC after a PAC was present would cause the framework to crash. Bug: 10801296 Change-Id: I4387b50b6510cea3ee73425c8a0a837f816b0ce1
2013-09-13Guarantee that PAC Local Proxy owns PortJason Monk
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-08-22System binds PAC Local Proxy instead of self startJason Monk
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-20Change PacProcessor to Android ServiceJason Monk
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-10PROXY_SERVICE may be missing and its reference null.Wink Saville
Protect ourselves from when PROXY_SERVICE is missing and mProxyService is null. Bug: 10267814 Change-Id: Ia329376218e246cdde3d70b578c18466d48a6383
2013-08-07Add PAC File support for proxy configurationJason Monk
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