mirror of
https://github.com/curl/curl.git
synced 2026-07-25 23:47:16 +03:00
noproxy: support for space-separated names is deprecated
To be removed in July 2024. Assisted-by: Michael Osipov Fixes #10209 Closes #10215
This commit is contained in:
parent
bb393e521f
commit
7ad8a7ba9e
5 changed files with 88 additions and 44 deletions
|
|
@ -119,8 +119,10 @@ enum nametype {
|
|||
* Checks if the host is in the noproxy list. returns TRUE if it matches and
|
||||
* therefore the proxy should NOT be used.
|
||||
****************************************************************/
|
||||
bool Curl_check_noproxy(const char *name, const char *no_proxy)
|
||||
bool Curl_check_noproxy(const char *name, const char *no_proxy,
|
||||
bool *spacesep)
|
||||
{
|
||||
*spacesep = FALSE;
|
||||
/*
|
||||
* If we don't have a hostname at all, like for example with a FILE
|
||||
* transfer, we have nothing to interrogate the noproxy list with.
|
||||
|
|
@ -244,6 +246,15 @@ bool Curl_check_noproxy(const char *name, const char *no_proxy)
|
|||
if(match)
|
||||
return TRUE;
|
||||
} /* if(tokenlen) */
|
||||
/* pass blanks after pattern */
|
||||
while(ISBLANK(*p))
|
||||
p++;
|
||||
/* if not a comma! */
|
||||
if(*p && (*p != ',')) {
|
||||
*spacesep = TRUE;
|
||||
continue;
|
||||
}
|
||||
/* pass any number of commas */
|
||||
while(*p == ',')
|
||||
p++;
|
||||
} /* while(*p) */
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ UNITTEST bool Curl_cidr6_match(const char *ipv6,
|
|||
unsigned int bits);
|
||||
#endif
|
||||
|
||||
bool Curl_check_noproxy(const char *name, const char *no_proxy);
|
||||
bool Curl_check_noproxy(const char *name, const char *no_proxy,
|
||||
bool *spacesep);
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -2401,6 +2401,7 @@ static CURLcode create_conn_helper_init_proxy(struct Curl_easy *data,
|
|||
char *socksproxy = NULL;
|
||||
char *no_proxy = NULL;
|
||||
CURLcode result = CURLE_OK;
|
||||
bool spacesep = FALSE;
|
||||
|
||||
/*************************************************************
|
||||
* Extract the user and password from the authentication string
|
||||
|
|
@ -2447,7 +2448,8 @@ static CURLcode create_conn_helper_init_proxy(struct Curl_easy *data,
|
|||
}
|
||||
|
||||
if(Curl_check_noproxy(conn->host.name, data->set.str[STRING_NOPROXY] ?
|
||||
data->set.str[STRING_NOPROXY] : no_proxy)) {
|
||||
data->set.str[STRING_NOPROXY] : no_proxy,
|
||||
&spacesep)) {
|
||||
Curl_safefree(proxy);
|
||||
Curl_safefree(socksproxy);
|
||||
}
|
||||
|
|
@ -2456,6 +2458,8 @@ static CURLcode create_conn_helper_init_proxy(struct Curl_easy *data,
|
|||
/* if the host is not in the noproxy list, detect proxy. */
|
||||
proxy = detect_proxy(data, conn);
|
||||
#endif /* CURL_DISABLE_HTTP */
|
||||
if(spacesep)
|
||||
infof(data, "space-separated NOPROXY patterns are deprecated");
|
||||
|
||||
Curl_safefree(no_proxy);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue