mirror of
https://github.com/curl/curl.git
synced 2026-08-13 08:00:54 +03:00
dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries
Extend the syntax of CURLOPT_RESOLVE strings: allow using a '+' prefix (similar to the existing '-' prefix for removing entries) to add DNS cache entries that will time out just like entries that are added by libcurl itself. Append " (non-permanent)" to info log message in case a non-permanent entry is added. Adjust relevant comments to reflect the new behavior. Adjust documentation. Extend unit1607 to test the new functionality. Closes #6294
This commit is contained in:
parent
68dde8e330
commit
8324dc8b1a
6 changed files with 82 additions and 40 deletions
|
|
@ -1,5 +1,5 @@
|
|||
Long: resolve
|
||||
Arg: <host:port:addr[,addr]...>
|
||||
Arg: <[+]host:port:addr[,addr]...>
|
||||
Help: Resolve the host+port to this address
|
||||
Added: 7.21.3
|
||||
Category: connection
|
||||
|
|
@ -19,10 +19,18 @@ with a specific host and port will be used first.
|
|||
The provided address set by this option will be used even if --ipv4 or --ipv6
|
||||
is set to make curl use another IP version.
|
||||
|
||||
By prefixing the host with a '+' you can make the entry time out after curl's
|
||||
default timeout (1 minute). Note that this will only make sense for long
|
||||
running parallel transfers with a lot of files. In such cases, if this option
|
||||
is used curl will try to resolve the host as it normally would once the
|
||||
timeout has expired.
|
||||
|
||||
Support for providing the IP address within [brackets] was added in 7.57.0.
|
||||
|
||||
Support for providing multiple IP addresses per entry was added in 7.59.0.
|
||||
|
||||
Support for resolving with wildcard was added in 7.64.0.
|
||||
|
||||
Support for the '+' prefix was was added in 7.75.0.
|
||||
|
||||
This option can be used many times to add many host names to resolve.
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ list of \fBstruct curl_slist\fP structs properly filled in. Use
|
|||
to clean up an entire list.
|
||||
|
||||
Each single name resolve string should be written using the format
|
||||
HOST:PORT:ADDRESS[,ADDRESS]... where HOST is the name libcurl will try
|
||||
[+]HOST:PORT:ADDRESS[,ADDRESS]... where HOST is the name libcurl will try
|
||||
to resolve, PORT is the port number of the service where libcurl wants
|
||||
to connect to the HOST and ADDRESS is one or more numerical IP
|
||||
addresses. If you specify multiple ip addresses they need to be
|
||||
|
|
@ -46,14 +46,16 @@ ADDRESS entries can of course be either IPv4 or IPv6 style addressing.
|
|||
|
||||
This option effectively pre-populates the DNS cache with entries for the
|
||||
host+port pair so redirects and everything that operations against the
|
||||
HOST+PORT will instead use your provided ADDRESS. Addresses set with
|
||||
\fICURLOPT_RESOLVE(3)\fP will not time-out from the DNS cache like ordinary
|
||||
entries.
|
||||
HOST+PORT will instead use your provided ADDRESS.
|
||||
|
||||
If the DNS cache already have an entry for the given host+port pair, then
|
||||
The optional leading "+" signifies whether the new entry should time-out or
|
||||
not. Entires added with "HOST:..." will never time-out whereas entries added
|
||||
with "+HOST:..." will time-out just like ordinary DNS cache entries.
|
||||
|
||||
If the DNS cache already has an entry for the given host+port pair, then
|
||||
this entry will be removed and a new entry will be created. This is because
|
||||
old entry may have have different addresses or be ordinary entries with
|
||||
time-outs.
|
||||
the old entry may have have different addresses or a different time-out
|
||||
setting.
|
||||
|
||||
The provided ADDRESS set by this option will be used even if
|
||||
\fICURLOPT_IPRESOLVE(3)\fP is set to make libcurl use another IP version.
|
||||
|
|
@ -66,6 +68,9 @@ and port number must exactly match what was already added previously.
|
|||
Support for providing the ADDRESS within [brackets] was added in 7.57.0.
|
||||
|
||||
Support for providing multiple IP addresses per entry was added in 7.59.0.
|
||||
|
||||
Support for adding non-permanent entries by using the "+" prefix was added in
|
||||
7.75.0.
|
||||
.SH DEFAULT
|
||||
NULL
|
||||
.SH PROTOCOLS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue