Loading src/or/eventdns.c +197 −203 Original line number Diff line number Diff line Loading @@ -298,7 +298,6 @@ #undef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) #if 0 #ifdef __USE_ISOC99B // libevent doesn't work without this Loading Loading @@ -425,8 +424,7 @@ static void request_submit(struct request *req); #ifdef MS_WINDOWS static int last_error(int sock) { last_error(int sock) { int optval, optvallen=sizeof(optval); int err = WSAGetLastError(); if (err == WSAEWOULDBLOCK && sock >= 0) { Loading @@ -440,13 +438,11 @@ last_error(int sock) } static int error_is_eagain(int err) { error_is_eagain(int err) { return err == EAGAIN || err == WSAEWOULDBLOCK; } static int inet_aton(const char *c, struct in_addr *addr) { inet_aton(const char *c, struct in_addr *addr) { uint32_t r; if (strcmp(c, "255.255.255.255") == 0) { addr->s_addr = 0xffffffffu; Loading @@ -470,8 +466,7 @@ inet_aton(const char *c, struct in_addr *addr) #ifndef NDEBUG static const char * debug_ntoa(u32 address) { debug_ntoa(u32 address) { static char buf[32]; u32 a = ntohl(address); sprintf(buf, "%d.%d.%d.%d", Loading @@ -486,8 +481,7 @@ debug_ntoa(u32 address) static eventdns_debug_log_fn_type eventdns_log_fn = NULL; void eventdns_set_log_fn(eventdns_debug_log_fn_type fn) { eventdns_set_log_fn(eventdns_debug_log_fn_type fn) { eventdns_log_fn = fn; } Loading @@ -499,8 +493,7 @@ eventdns_set_log_fn(eventdns_debug_log_fn_type fn) static void _eventdns_log(int warn, const char *fmt, ...) EVENTDNS_LOG_CHECK; static void _eventdns_log(int warn, const char *fmt, ...) { _eventdns_log(int warn, const char *fmt, ...) { va_list args; static char buf[512]; if (!eventdns_log_fn) Loading Loading @@ -752,9 +745,10 @@ reply_callback(struct request *const req, u32 ttl, u32 err, struct reply *reply) char *name = reply->data.ptr.name; req->user_callback(DNS_ERR_NONE, DNS_PTR, 1, ttl, &name, req->user_pointer); } else } else { req->user_callback(err, 0, 0, 0, NULL, req->user_pointer); } return; } assert(0); Loading Loading @@ -821,8 +815,7 @@ reply_handle(struct request *const req, } static inline int name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { int name_end = -1; int j = *idx; #define GET32(x) do { if (j + 4 > length) return -1; memcpy(&_t32, packet + j, 4); j += 4; x = ntohl(_t32); } while(0); Loading Loading @@ -1130,8 +1123,8 @@ nameserver_ready_callback(int fd, short events, void *arg) { // -1 label was > 63 bytes // -2 name was > 255 bytes static int dnsname_to_labels(u8 *const buf, const char *name, const int name_len) { \ const char *end = name + name_len; \ dnsname_to_labels(u8 *const buf, const char *name, const int name_len) { const char *end = name + name_len; int j = 0; // current offset into buf if (name_len > 255) return -2; Loading Loading @@ -1366,8 +1359,7 @@ eventdns_transmit(void) { // exported function int eventdns_count_nameservers(void) { eventdns_count_nameservers(void) { const struct nameserver *server = server_head; int n = 0; if (!server) Loading @@ -1381,8 +1373,7 @@ eventdns_count_nameservers(void) // exported function int eventdns_clear_nameservers_and_suspend(void) { eventdns_clear_nameservers_and_suspend(void) { struct nameserver *server = server_head, *started_at = server_head; struct request *req = req_head, *req_started_at = req_head; Loading Loading @@ -1431,8 +1422,7 @@ eventdns_clear_nameservers_and_suspend(void) // exported function int eventdns_resume(void) { eventdns_resume(void) { eventdns_requests_pump_waiting_queue(); return 0; } Loading Loading @@ -1665,7 +1655,7 @@ search_state_decref(struct search_state *const state) { } free(state); } }; } static struct search_state * search_state_new(void) { Loading Loading @@ -2048,11 +2038,12 @@ eventdns_nameserver_ip_add_line(const char *ips) { return 0; } typedef DWORD (WINAPI *GetNetworkParams_fn_t)(FIXED_INFO *, DWORD*); // Use the windows GetNetworkParams interface in iphlpapi.dll to // figure out what our nameservers are. static int load_nameservers_with_getnetworkparams(void) { load_nameservers_with_getnetworkparams(void) { // Based on MSDN examples and inspection of c-ares code. FIXED_INFO *fixed; HMODULE handle = 0; Loading @@ -2060,7 +2051,7 @@ load_nameservers_with_getnetworkparams(void) void *buf = NULL; int status = 0, r, added_any; IP_ADDR_STRING *ns; DWORD (WINAPI *fn)(FIXED_INFO*, DWORD*); GetNetworkparams_fn_t fn; if (!(handle = LoadLibrary("iphlpapi.dll"))) { log(EVENTDNS_LOG_WARN,"Could not open iphlpapi.dll"); Loading @@ -2070,7 +2061,7 @@ load_nameservers_with_getnetworkparams(void) } if (!(fn = (DWORD (WINAPI*)(FIXED_INFO*,DWORD*)) (GetNetworkParams_fn_t) GetProcAddress(handle, "GetNetworkParams"))) { log(EVENTDNS_LOG_WARN,"Could not get address of function."); //same as above Loading Loading @@ -2135,8 +2126,7 @@ load_nameservers_with_getnetworkparams(void) } static int config_nameserver_from_reg_key(HKEY key, const char *subkey) { config_nameserver_from_reg_key(HKEY key, const char *subkey) { char *buf; DWORD bufsz = 0, type = 0; int status = 0; Loading @@ -2162,8 +2152,7 @@ config_nameserver_from_reg_key(HKEY key, const char *subkey) #define WIN_NS_NT_KEY SERVICES_KEY "Tcpip\\Parameters" static int load_nameservers_from_registry(void) { load_nameservers_from_registry(void) { int found = 0; int r; #define TRY(k, name) \ Loading @@ -2172,7 +2161,8 @@ load_nameservers_from_registry(void) found = 1; \ } else { \ if (!found) \ log(EVENTDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s",#k,#name);\ log(EVENTDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s", \ #k,#name); \ } if (((int)GetVersion()) > 0) { /* NT */ Loading Loading @@ -2215,14 +2205,12 @@ load_nameservers_from_registry(void) log(EVENTDNS_LOG_WARN,"Didn't find any nameservers."); } return found ? 0 : -1; #undef TRY } int eventdns_config_windows_nameservers(void) { eventdns_config_windows_nameservers(void) { if (load_nameservers_with_getnetworkparams() == 0) { return 0; } Loading @@ -2232,9 +2220,9 @@ eventdns_config_windows_nameservers(void) #endif #ifdef EVENTDNS_MAIN void main_callback(int result, char type, int count, int ttl, void *addrs, void *orig) { void main_callback(int result, char type, int count, int ttl, void *addrs, void *orig) { char *n = (char*)orig; int i; for (i = 0; i < count; ++i) { Loading @@ -2250,12 +2238,12 @@ void main_callback(int result, char type, int count, int ttl, fflush(stdout); } void logfn(const char *msg) { void logfn(const char *msg) { fprintf(stderr, "%s\n", msg); } int main(int c, char **v) { int main(int c, char **v) { int idx; int reverse = 0, verbose = 1; if (c<2) { Loading Loading @@ -2295,5 +2283,11 @@ int main(int c, char **v) return 0; } #endif // Local Variables: // tab-width: 4 // c-basic-offset: 4 // indent-tabs-mode: t // End: Loading
src/or/eventdns.c +197 −203 Original line number Diff line number Diff line Loading @@ -298,7 +298,6 @@ #undef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) #if 0 #ifdef __USE_ISOC99B // libevent doesn't work without this Loading Loading @@ -425,8 +424,7 @@ static void request_submit(struct request *req); #ifdef MS_WINDOWS static int last_error(int sock) { last_error(int sock) { int optval, optvallen=sizeof(optval); int err = WSAGetLastError(); if (err == WSAEWOULDBLOCK && sock >= 0) { Loading @@ -440,13 +438,11 @@ last_error(int sock) } static int error_is_eagain(int err) { error_is_eagain(int err) { return err == EAGAIN || err == WSAEWOULDBLOCK; } static int inet_aton(const char *c, struct in_addr *addr) { inet_aton(const char *c, struct in_addr *addr) { uint32_t r; if (strcmp(c, "255.255.255.255") == 0) { addr->s_addr = 0xffffffffu; Loading @@ -470,8 +466,7 @@ inet_aton(const char *c, struct in_addr *addr) #ifndef NDEBUG static const char * debug_ntoa(u32 address) { debug_ntoa(u32 address) { static char buf[32]; u32 a = ntohl(address); sprintf(buf, "%d.%d.%d.%d", Loading @@ -486,8 +481,7 @@ debug_ntoa(u32 address) static eventdns_debug_log_fn_type eventdns_log_fn = NULL; void eventdns_set_log_fn(eventdns_debug_log_fn_type fn) { eventdns_set_log_fn(eventdns_debug_log_fn_type fn) { eventdns_log_fn = fn; } Loading @@ -499,8 +493,7 @@ eventdns_set_log_fn(eventdns_debug_log_fn_type fn) static void _eventdns_log(int warn, const char *fmt, ...) EVENTDNS_LOG_CHECK; static void _eventdns_log(int warn, const char *fmt, ...) { _eventdns_log(int warn, const char *fmt, ...) { va_list args; static char buf[512]; if (!eventdns_log_fn) Loading Loading @@ -752,9 +745,10 @@ reply_callback(struct request *const req, u32 ttl, u32 err, struct reply *reply) char *name = reply->data.ptr.name; req->user_callback(DNS_ERR_NONE, DNS_PTR, 1, ttl, &name, req->user_pointer); } else } else { req->user_callback(err, 0, 0, 0, NULL, req->user_pointer); } return; } assert(0); Loading Loading @@ -821,8 +815,7 @@ reply_handle(struct request *const req, } static inline int name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) { int name_end = -1; int j = *idx; #define GET32(x) do { if (j + 4 > length) return -1; memcpy(&_t32, packet + j, 4); j += 4; x = ntohl(_t32); } while(0); Loading Loading @@ -1130,8 +1123,8 @@ nameserver_ready_callback(int fd, short events, void *arg) { // -1 label was > 63 bytes // -2 name was > 255 bytes static int dnsname_to_labels(u8 *const buf, const char *name, const int name_len) { \ const char *end = name + name_len; \ dnsname_to_labels(u8 *const buf, const char *name, const int name_len) { const char *end = name + name_len; int j = 0; // current offset into buf if (name_len > 255) return -2; Loading Loading @@ -1366,8 +1359,7 @@ eventdns_transmit(void) { // exported function int eventdns_count_nameservers(void) { eventdns_count_nameservers(void) { const struct nameserver *server = server_head; int n = 0; if (!server) Loading @@ -1381,8 +1373,7 @@ eventdns_count_nameservers(void) // exported function int eventdns_clear_nameservers_and_suspend(void) { eventdns_clear_nameservers_and_suspend(void) { struct nameserver *server = server_head, *started_at = server_head; struct request *req = req_head, *req_started_at = req_head; Loading Loading @@ -1431,8 +1422,7 @@ eventdns_clear_nameservers_and_suspend(void) // exported function int eventdns_resume(void) { eventdns_resume(void) { eventdns_requests_pump_waiting_queue(); return 0; } Loading Loading @@ -1665,7 +1655,7 @@ search_state_decref(struct search_state *const state) { } free(state); } }; } static struct search_state * search_state_new(void) { Loading Loading @@ -2048,11 +2038,12 @@ eventdns_nameserver_ip_add_line(const char *ips) { return 0; } typedef DWORD (WINAPI *GetNetworkParams_fn_t)(FIXED_INFO *, DWORD*); // Use the windows GetNetworkParams interface in iphlpapi.dll to // figure out what our nameservers are. static int load_nameservers_with_getnetworkparams(void) { load_nameservers_with_getnetworkparams(void) { // Based on MSDN examples and inspection of c-ares code. FIXED_INFO *fixed; HMODULE handle = 0; Loading @@ -2060,7 +2051,7 @@ load_nameservers_with_getnetworkparams(void) void *buf = NULL; int status = 0, r, added_any; IP_ADDR_STRING *ns; DWORD (WINAPI *fn)(FIXED_INFO*, DWORD*); GetNetworkparams_fn_t fn; if (!(handle = LoadLibrary("iphlpapi.dll"))) { log(EVENTDNS_LOG_WARN,"Could not open iphlpapi.dll"); Loading @@ -2070,7 +2061,7 @@ load_nameservers_with_getnetworkparams(void) } if (!(fn = (DWORD (WINAPI*)(FIXED_INFO*,DWORD*)) (GetNetworkParams_fn_t) GetProcAddress(handle, "GetNetworkParams"))) { log(EVENTDNS_LOG_WARN,"Could not get address of function."); //same as above Loading Loading @@ -2135,8 +2126,7 @@ load_nameservers_with_getnetworkparams(void) } static int config_nameserver_from_reg_key(HKEY key, const char *subkey) { config_nameserver_from_reg_key(HKEY key, const char *subkey) { char *buf; DWORD bufsz = 0, type = 0; int status = 0; Loading @@ -2162,8 +2152,7 @@ config_nameserver_from_reg_key(HKEY key, const char *subkey) #define WIN_NS_NT_KEY SERVICES_KEY "Tcpip\\Parameters" static int load_nameservers_from_registry(void) { load_nameservers_from_registry(void) { int found = 0; int r; #define TRY(k, name) \ Loading @@ -2172,7 +2161,8 @@ load_nameservers_from_registry(void) found = 1; \ } else { \ if (!found) \ log(EVENTDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s",#k,#name);\ log(EVENTDNS_LOG_DEBUG,"Didn't find nameservers in %s/%s", \ #k,#name); \ } if (((int)GetVersion()) > 0) { /* NT */ Loading Loading @@ -2215,14 +2205,12 @@ load_nameservers_from_registry(void) log(EVENTDNS_LOG_WARN,"Didn't find any nameservers."); } return found ? 0 : -1; #undef TRY } int eventdns_config_windows_nameservers(void) { eventdns_config_windows_nameservers(void) { if (load_nameservers_with_getnetworkparams() == 0) { return 0; } Loading @@ -2232,9 +2220,9 @@ eventdns_config_windows_nameservers(void) #endif #ifdef EVENTDNS_MAIN void main_callback(int result, char type, int count, int ttl, void *addrs, void *orig) { void main_callback(int result, char type, int count, int ttl, void *addrs, void *orig) { char *n = (char*)orig; int i; for (i = 0; i < count; ++i) { Loading @@ -2250,12 +2238,12 @@ void main_callback(int result, char type, int count, int ttl, fflush(stdout); } void logfn(const char *msg) { void logfn(const char *msg) { fprintf(stderr, "%s\n", msg); } int main(int c, char **v) { int main(int c, char **v) { int idx; int reverse = 0, verbose = 1; if (c<2) { Loading Loading @@ -2295,5 +2283,11 @@ int main(int c, char **v) return 0; } #endif // Local Variables: // tab-width: 4 // c-basic-offset: 4 // indent-tabs-mode: t // End: