Commit Graph

1147 Commits

Author SHA1 Message Date
Willem Toorop cd500f055b memory leak fixes (found with valgrind) 2014-10-23 23:55:52 +02:00
Willem Toorop 73dc0f27da fix: local_hosts set keys and shallow free returns 2014-10-23 23:25:55 +02:00
Willem Toorop 4a3d7fd8b2 Replace ldns_rbtree with getdns_rbtree
As much as possible.
In dnssec ldns_rbtree is inderectly used via the dnssec_zone struct

This change forces use to embed the data in the nodes as getdns_rbtree does not have a data attribute. This is good because lesser allocs and free's and thus slightly faster and less likely to leak memory.
2014-10-23 23:00:30 +02:00
Willem Toorop 432092311e fix: Responses without question RRs (i.e. REFUSED) 2014-10-23 16:02:34 +02:00
Willem Toorop 55e0d41d4b fix: Don't init suffix with uninitialized domain 2014-10-23 15:32:35 +02:00
Willem Toorop d03a22ba62 fix: stub udp max_udp_size > 4096 support 2014-10-23 15:17:54 +02:00
Willem Toorop 6f6b8e65a2 Stub edns0 payload 1232 for IPv6 and 1432 for IPv4 2014-10-23 14:30:23 +02:00
Willem Toorop 484f98daf9 remove ldns_res from context 2014-10-23 14:14:55 +02:00
Willem Toorop 07848b20ff fix: add OPT to query when just options specified 2014-10-23 13:55:37 +02:00
wtoorop d583766a03 Merge pull request #75 from saradickinson/tcp_testing
Crude changes to stub test scripts to allow testing of all transport and...
2014-10-23 10:55:19 +02:00
saradickinson 339e4f7049 Fixing async test 2014-10-23 08:42:15 +00:00
saradickinson 88bdbdc972 Crude changes to stub test scripts to allow testing of all transport and recusive mode combinations 2014-10-22 17:09:33 +00:00
Willem Toorop 2d77d02084 Fallback to TCP when TC bit is set
with stub queries...
2014-10-21 00:17:57 +02:00
Willem Toorop ae8105bd78 Bugfix event handling with sync TCP pipelining 2014-10-20 23:51:05 +02:00
Willem Toorop e9548fc5fb Fix for TCP stub mode
Stupid mistake.
One can not clear an freshly "cleared" initialized event!
2014-10-19 22:51:42 +02:00
Willem Toorop fa02e3ae70 Fix timeout issue with async stub TCP pipelining 2014-10-19 08:08:45 +02:00
Willem Toorop fc6e583b4b Stub TCP pipelining
TODO: Resolve issue with timeouts in async pipelining mode.
2014-10-18 14:32:55 +02:00
wtoorop 9b64473718 Merge pull request #73 from ngoyal/master
Fix some warnings on OSX
2014-10-18 00:29:26 +02:00
Willem Toorop 181d8cd3f4 stub tcp lookups
And the foundation for tcp keep connections open
2014-10-18 00:25:41 +02:00
Neel Goyal 75d163427c Fix some warnings on OSX 2014-10-17 17:41:43 -04:00
Willem Toorop c017e75f5a don't try stubs without upstreams 2014-10-16 14:40:47 +02:00
Willem Toorop 623c9b04a5 Retry stub with different upstream after timeout
Backing off the broken upsteams so they are tried again (increasingly less)
2014-10-16 14:24:13 +02:00
Willem Toorop 29d5b3e06c Init function for getdns_eventloop_events 2014-10-16 13:19:53 +02:00
Willem Toorop b62e2bb84c Prepare datastructs for tcp stub resolving 2014-10-16 11:28:32 +02:00
Willem Toorop bd01b0b83e write callback for stub requests
which is nice for scheduling retries etc.
2014-10-15 23:57:24 +02:00
Willem Toorop 9d1ad9d110 Respond correctly to non-blocking events 2014-10-15 23:32:33 +02:00
Willem Toorop 124de13caa Initialize udp socket nonblocking 2014-10-15 23:28:59 +02:00
Willem Toorop a0cb4e1774 Move stub resolving to stub.c again
Merged hostname.c and service.c in general so that getdns_general_ns can become static.
Removed specialized synchronous handling from return_validation_chain code.
Removed un_timed_resolve (specialized sync handling is not needed anymore)
Renamed inter-object file symbols to priv_<name> and made intra-object symbols static as much as possible.
2014-10-15 23:04:39 +02:00
Willem Toorop 02ea4ae82b typedefs at one place only 2014-10-15 21:00:57 +02:00
Willem Toorop ee316741ac Async stub resolver using crafted packets 2014-10-15 15:12:16 +02:00
Willem Toorop 8f254913f1 Sync functions use the async _loop functions too
So async and sync functions now have the same code path
2014-10-15 12:16:34 +02:00
Willem Toorop 893605041d libuv extension now working too! 2014-10-15 10:47:36 +02:00
Willem Toorop 5db849f9ec Generalize debugging scheme 2014-10-15 10:47:18 +02:00
Willem Toorop a1be0c985d Miscelaneous fixes that came out of the unit tests
TODO: libuv still has issues.  Do we really need a close callback?
2014-10-15 01:13:39 +02:00
Willem Toorop 768d8fbf4d _loop version for async funcs
So they can be used by the sync functions with a libmini_event loop
2014-10-14 00:14:25 +02:00
Willem Toorop 3ee930d44e Stub resolving with the libmini_event extension 2014-10-13 15:37:45 +02:00
Willem Toorop 21bb7d6197 Timeouts by reference are to count down to 0
To track how much time we've left for a request
2014-10-13 15:36:21 +02:00
Willem Toorop c9de395b44 Fix correctly tracking of outstanding events 2014-10-13 15:35:41 +02:00
Willem Toorop f61d2ae262 write and run methods for eventloop extension 2014-10-10 14:48:52 +02:00
Willem Toorop 2172a7280a libuv according to new scheme 2014-10-10 11:14:01 +02:00
Willem Toorop b3b634a2f5 libevent & libev following new extension scheme 2014-10-09 01:18:53 +02:00
Willem Toorop 1f203485e2 eventloop separate from context & libmini_event 2014-10-08 15:42:33 +02:00
Willem Toorop a21895d145 Fix timeout handling & simultaneous 4 & 6 requests
Simultaneous 4 & 6 requests for async only.
Also get rid of the postponing of callbacks hack.
2014-10-07 15:52:41 +02:00
Willem Toorop 65db103c6d Remove obsolete attributes from timeout_data_t 2014-10-07 10:18:29 +02:00
Willem Toorop 5fc9675397 libunbound requests processing with mini_event 2014-10-06 23:50:39 +02:00
Willem Toorop 54e0b42dcd Timeouts via default mini_event extension 2014-10-06 23:04:12 +02:00
Willem Toorop 58b3e553de Remove redundant param from schedule_timeout funcs 2014-10-06 20:23:50 +02:00
Willem Toorop 648153f98c Timeouts are 64 bits 2014-10-06 16:10:09 +02:00
Willem Toorop a9d37df6b8 Preliminary timeout implementation for stubs 2014-10-06 15:31:56 +02:00
Willem Toorop 68520e91d4 Return empty reponse on timeouts with async too 2014-10-06 15:11:03 +02:00