On 2013-07-22 12:26 , Kim Vandry wrote:
On 2013-07-18 15:14 , Daniel Stenberg wrote:
On Thu, 18 Jul 2013, Daniel Stenberg wrote:
* b9f0e44 curl: Add support for various DNS binding options.
[...]
It does a nasty include of "../lib/inet_pton.h" which is incorrect in
several ways. curl cannot include libcurl internal headers with a direct
path like that and it shouldn't include libcurl private headers at all
(if it isn't a curlx* function). I see this code uses Curl_inet_pton()
which is an internal libcurl function that shouldn't be used like this
from curl even though I see you've added the source file to the curl
build. It should be made into a curlx_ version if that should remain so.
Thanks for the explanation. If the change below if made, I think this
use of inet_pton in the curl tool may no longer be necessary.
I do however think that you should make CURLOPT_DNS_LOCAL_IP* accept a
string of the IP address and do the conversion to binary within libcurl
and not in the application. Seems more in line with similar other
libcurl options too.
I actually agree with this, and mentioned already that I wasn't fully
comfortable with the current interface. Once again, the reason is that
it is a thin layer over the existing c-ares interface.
I will change it as you suggest.
Hi Daniel,
I have addressed both of these issues by making the new options take
strings instead of binary IP addresses.
Please find two patches at https://github.com/vandry/curl , one for
libcurl and one for the command line tool.
commit a57d4506a7adcb0750411e7be46953376927a0cd
Author: Ben Greear <[email protected]>
Date: Sat Feb 9 13:18:02 2013 -0800
curl: Add support for various DNS binding options.
(Passed on to c-ares.)
Allows something like this:
curl --dns-interface sta8 --dns-ipv4-addr 8.8.1.111 --interface
sta8 --localaddr 8.8.1.111 --dns-servers 8.8.8.1 www.google.com
Signed-off-by: Ben Greear <[email protected]>
commit 5cd18e2cff4976392fcbfebd69cb4ccdda762330
Author: Kim Vandry <[email protected]>
Date: Sat Sep 7 12:45:50 2013 -0400
libcurl: New options to bind DNS to local interfaces or IP addresses
-kv
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html