mirror of
https://github.com/curl/curl.git
synced 2025-03-01 15:15:34 +08:00
url: allow DoH transfers to override max connection limit
When reaching the set maximum limit of allowed connections, allow a new connection anyway if the transfer is created for the (internal) purpose of doing a DoH name resolve. Otherwise, unrelated "normal" transfers can starve out new DoH requests making it impossible to name resolve for new transfers. Bug: https://curl.se/mail/lib-2024-06/0001.html Reported-by: kartatz Closes #13880
This commit is contained in:
parent
998b17ea7f
commit
b049388d47
14
lib/url.c
14
lib/url.c
@ -3662,10 +3662,16 @@ static CURLcode create_conn(struct Curl_easy *data,
|
||||
conn_candidate = Curl_conncache_extract_oldest(data);
|
||||
if(conn_candidate)
|
||||
Curl_disconnect(data, conn_candidate, FALSE);
|
||||
else {
|
||||
infof(data, "No connections available in cache");
|
||||
connections_available = FALSE;
|
||||
}
|
||||
else
|
||||
#ifndef CURL_DISABLE_DOH
|
||||
if(data->set.dohfor)
|
||||
infof(data, "Allowing DoH to override max connection limit");
|
||||
else
|
||||
#endif
|
||||
{
|
||||
infof(data, "No connections available in cache");
|
||||
connections_available = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if(!connections_available) {
|
||||
|
Loading…
Reference in New Issue
Block a user