On 2013-06-03 12:14, Ben Greear wrote:
If you want to make a try at it, you are welcome to take my patches and
work on them however you wish.  The curl patches depend on the c-ares patch
to fix some crashes in it.  I posted the c-ares patch a while back, but
got no feedback, and I don't think it was ever pushed upstream.

Hi Ben,

I cherry-picked only the changes related to CURLOPT_DNS_* because I have a concern about the other change (for CURLOPT_LOCALADDR) and it is not strictly related anyway.

Following that, I:

- modified your new options so that they never pass NULL pointers to c-ares, thus avoiding the crashes you mentioned. Your c-ares improvements should still be pursued separately, but I wanted to do this so that new cURL could still work with an older c-ares.

- added documentation for the three new options.

- renamed the curl command line options from --dns_interface etc... to --dns-interface etc... because the convention for long options used for other options in curl as well as in other software in general is hyphens, not underscores.

- made some updates to the testsuite so that it would pass.

- made a couple of other very minor changes (e.g. moved lines from one commit to another).

I did not add any tests, but I'm not really sure what to do about that. It seems to me that in order to test this feature, a (rudimentary) DNS server would have to be embedded in the testsuite!

There is one thing that I find to be not quite satisfactory. The interfaces for CURLOPT_DNS_LOCAL_IP4 and CURLOPT_DNS_LOCAL_IP6 are jarringly incongruous: one expects a direct value in host byte order, and the other expects a pointer in network byte order. But these interfaces are inherited directly from c-ares' interfaces so I suppose it should be left as is?

https://github.com/vandry/curl/

-kv
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to