aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJason Glasgow <jglasgow@chromium.org>2011-11-04 16:48:05 -0400
committerDaniel Stenberg <daniel@haxx.se>2011-12-12 23:12:37 +0100
commit6e4835c795996ee92ac1aa78733f23a089f310a5 (patch)
tree16c989d04fe8c94f2b03ccf18f587e0f4e2254ca /docs
parentba057c2e1927bd5b7b026e2391984a899c2b8461 (diff)
CURLOPT_INTERFACE: avoid resolving interfaces names
Do not try to resolve interfaces names via DNS by recognizing interface names in a few ways. If the interface option argument has a prefix of "if!" then treat the argument as only an interface. Similarly, if the interface argument is the name of an interface (even if it does not have an IP address assigned), treat it as an interface name. Finally, if the interface argument is prefixed by "host!" treat it as a hostname that must be resolved by /etc/hosts or DNS. These changes allow a client using the multi interfaces to avoid blocking on name resolution if the interface loses its IP address or disappears.
Diffstat (limited to 'docs')
-rw-r--r--docs/libcurl/curl_easy_setopt.39
1 files changed, 9 insertions, 0 deletions
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 7cf9a0408..5f1629d4a 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -843,6 +843,15 @@ negotiation. (Added in 7.19.4).
Pass a char * as parameter. This sets the interface name to use as outgoing
network interface. The name can be an interface name, an IP address, or a host
name.
+
+Starting with 7.24.0: If the parameter starts with "if!" then it is treated as
+only as interface name and no attempt will ever be named to do treat it as an
+IP address or to do name resolution on it. If the parameter starts with
+\&"host!" it is treated as either an IP address or a hostname. Hostnames are
+resolved synchronously. Using the if! format is highly recommended when using
+the multi interfaces to avoid allowing the code to block. If "if!" is
+specified but the parameter does not match an existing interface,
+CURLE_INTERFACE_FAILED is returned.
.IP CURLOPT_LOCALPORT
Pass a long. This sets the local port number of the socket used for
connection. This can be used in combination with \fICURLOPT_INTERFACE\fP and