1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-15 07:43:50 +00:00

Fixed bug where clearing proxy setting, didn't clear all the settings

This commit is contained in:
Bryan Roe
2019-01-17 22:59:27 -08:00
parent 335ff51bfe
commit 2366122d58
3 changed files with 7 additions and 1 deletions

View File

@@ -2763,7 +2763,7 @@ void MeshServer_ConnectEx(MeshAgentHostContainer *agent)
{
printf("Disabling Proxy: %s\n", ILibScratchPad);
agent->triedNoProxy_Index++;
agent->proxyServer = NULL;
agent->proxyServer = ILibWebClient_SetProxy(reqToken, NULL, 0, NULL, NULL);;
if (duk_peval_string(agent->meshCoreCtx, "require('global-tunnel');") == 0)
{

View File

@@ -1010,6 +1010,7 @@ void ILibAsyncSocket_ClearProxySettings(void *socketModule)
{
struct ILibAsyncSocketModule *module = (struct ILibAsyncSocketModule*)socketModule;
memset(&(module->ProxyAddress), 0, sizeof(struct sockaddr_in6));
module->ProxyState = 0;
}
//! Connect using an HTTPS proxy. If "proxyAddress" is set to NULL, this call acts just to a normal connect call without a proxy.

View File

@@ -3797,6 +3797,11 @@ struct sockaddr_in6* ILibWebClient_SetProxy(ILibWebClient_RequestToken token, ch
{
ILibWebClientDataObject *wcdo = ILibWebClient_GetStateObjectFromRequestToken(token);
if (wcdo == NULL) { return(NULL); }
if (proxyHost == NULL)
{
memset(&(wcdo->proxy), 0, sizeof(struct sockaddr_in6));
return(NULL);
}
if (ILibResolveEx(proxyHost, proxyPort, &(wcdo->proxy)) != 0 || wcdo->proxy.sin6_family == AF_UNSPEC)
{