Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56cf1ab4 authored by Jason Monk's avatar Jason Monk
Browse files

Fix Global Proxy when used with PAC

Since PAC needs to relay the local proxy port back to the
ConnectivityService it ends up calling handleApplyDefaultProxy...
This works fine for PAC on WiFi, but when tested on global proxy
(not currently used anywhere), it sets the mDefaultProxy.  This
mDefaultProxy does not get cleared when the global proxy is cleared
and requires a reboot to get things cleared out.

This CL adds a check to overwrite mGlobalProxy rather than
mDefaultProxy in this use case.

Change-Id: I92782d11e213b91f8ddda2faaf996a7252273fc3
parent 11b7a381
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -3517,6 +3517,18 @@ public class ConnectivityService extends IConnectivityManager.Stub {
                if (DBG) log("Invalid proxy properties, ignoring: " + proxy.toString());
                return;
            }

            // This call could be coming from the PacManager, containing the port of the local
            // proxy.  If this new proxy matches the global proxy then copy this proxy to the
            // global (to get the correct local port), and send a broadcast.
            // TODO: Switch PacManager to have its own message to send back rather than
            // reusing EVENT_HAS_CHANGED_PROXY and this call to handleApplyDefaultProxy.
            if ((mGlobalProxy != null) && (proxy != null) && (proxy.getPacFileUrl() != null)
                    && proxy.getPacFileUrl().equals(mGlobalProxy.getPacFileUrl())) {
                mGlobalProxy = proxy;
                sendProxyBroadcast(mGlobalProxy);
                return;
            }
            mDefaultProxy = proxy;

            if (mGlobalProxy != null) return;