internal bool Attach(bool bCollectGWInfo) { if (!this._bIsAttached) { if (bCollectGWInfo) { this.CollectConnectoidAndGatewayInfo(); } WinINETProxyInfo oNewInfo = new WinINETProxyInfo(); oNewInfo.bUseManualProxies = true; oNewInfo.bAllowDirect = true; oNewInfo.sHttpProxy = Browser.sSDVPListenHostPort; if (Browser.bCaptureCONNECT) { oNewInfo.sHttpsProxy = Browser.sSDVPListenHostPort; } else if (this.piPrior != null) { oNewInfo.sHttpsProxy = this.piPrior.sHttpsProxy; } if ((this.piPrior != null) && this.piPrior.bUseManualProxies) { oNewInfo.sFtpProxy = this.piPrior.sFtpProxy; oNewInfo.sSocksProxy = this.piPrior.sSocksProxy; } if (Browser.bCaptureFTP) { oNewInfo.sFtpProxy = Browser.sSDVPListenHostPort; } oNewInfo.sHostsThatBypass = Browser.sHostsThatBypassSDVP; if (Browser.bHookWithPAC) { if (SDVPApplication.Prefs.GetBoolPref("SDVP.proxy.pacfile.usefileprotocol", true)) { oNewInfo.sPACScriptLocation = "file://" + Browser.GetPath("Pac"); } else { oNewInfo.sPACScriptLocation = "http://" + Browser.sSDVPListenHostPort + "/proxy.pac"; } } if (!Browser.bIsViewOnly) { if (this.oAllConnectoids.HookConnections(oNewInfo)) { this._bIsAttached = true; SDVPApplication.OnSDVPAttach(); this.WriteAutoProxyPACFile(true); } else { SDVPApplication.DoNotifyUser("Failed to register SDVP as the system proxy.", "Error"); _setDynamicRegistryKey(false); return(false); } _setDynamicRegistryKey(true); } } return(true); }