I've made eventdns.c + '-DEVDNS_MAIN' compile and work under Windows / MSVC. Some simple patches:
* Use set_socket_nonblocking() instead of the F_SETFL hacks. * Preserve the ret-val from evdns_config_windows_nameservers(). * In main(), call network_init() to call WSAStartup() etc. * Removed 'evdns_resolv_conf_parse(DNS_OPTION_NAMESERVERS, ...' and call evdns_init() instead. This uses 'DNS_OPTIONS_ALL'. Does that really matter?
Attached diff-1.txt. (sorry, I'm a Git neophyte).
--gv
On Wed, Oct 19, 2011 at 3:24 PM, Gisle Vanem gvanem@broadpark.no wrote:
Ow. Sorry for the delay here. Patches that don't make it onto the bugtracker tend to drop off my radar far too easily. :(
I can't merge this one because we're trying to minimize drift between Libevent's evdns.c and Tor's eventdns.c. Once we (eventually) require libevent 2.0, we can just throw out our own eventdns.c . (We can't easily just grab the evdns.c from Libevent, since it requires Libevent 2.0 in a few really-hard-to-disentangle ways.)
On the other hand, it ought to be worth doing a couple of these changes for Libevent's dns-sample.c code. I'll apply them there.
yrs,
"Nick Mathewson" nickm@alum.mit.edu wrote:
I can't merge this one because we're trying to minimize drift between Libevent's evdns.c and Tor's eventdns.c. Once we (eventually) require libevent 2.0, we can just throw out our own eventdns.c .
I cannot see that my use of set_socket_nonblocking() and network_init() has anything to do with libevent.
--gv