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
This commit is contained in:
@@ -38,7 +38,7 @@ public class ProxyProperties implements Parcelable {
|
||||
|
||||
private String mPacFileUrl;
|
||||
public static final String LOCAL_EXCL_LIST = "";
|
||||
public static final int LOCAL_PORT = 8182;
|
||||
public static final int LOCAL_PORT = -1;
|
||||
public static final String LOCAL_HOST = "localhost";
|
||||
|
||||
public ProxyProperties(String host, int port, String exclList) {
|
||||
@@ -54,6 +54,14 @@ public class ProxyProperties implements Parcelable {
|
||||
mPacFileUrl = pacFileUrl;
|
||||
}
|
||||
|
||||
// Only used in PacManager after Local Proxy is bound.
|
||||
public ProxyProperties(String pacFileUrl, int localProxyPort) {
|
||||
mHost = LOCAL_HOST;
|
||||
mPort = localProxyPort;
|
||||
setExclusionList(LOCAL_EXCL_LIST);
|
||||
mPacFileUrl = pacFileUrl;
|
||||
}
|
||||
|
||||
private ProxyProperties(String host, int port, String exclList, String[] parsedExclList) {
|
||||
mHost = host;
|
||||
mPort = port;
|
||||
|
||||
@@ -114,7 +114,6 @@ import com.android.internal.telephony.Phone;
|
||||
import com.android.internal.telephony.PhoneConstants;
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.internal.util.XmlUtils;
|
||||
import com.android.net.IProxyService;
|
||||
import com.android.server.am.BatteryStatsService;
|
||||
import com.android.server.connectivity.DataConnectionStats;
|
||||
import com.android.server.connectivity.Nat464Xlat;
|
||||
@@ -3471,7 +3470,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
|
||||
private void sendProxyBroadcast(ProxyProperties proxy) {
|
||||
if (proxy == null) proxy = new ProxyProperties("", 0, "");
|
||||
mPacManager.setCurrentProxyScriptUrl(proxy);
|
||||
if (mPacManager.setCurrentProxyScriptUrl(proxy)) return;
|
||||
if (DBG) log("sending Proxy Broadcast for " + proxy);
|
||||
Intent intent = new Intent(Proxy.PROXY_CHANGE_ACTION);
|
||||
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING |
|
||||
|
||||
Reference in New Issue
Block a user