Commit Graph

570 Commits

Author SHA1 Message Date
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
Willem Toorop 332f34b3f5 set_upstream_recursive_servers small bugfixes 2014-10-02 00:16:11 +02:00
Willem Toorop 2dcdfaba37 getdns_context_set_upstream_recursive_servers 2014-10-01 23:16:43 +02:00
Willem Toorop 3742edaf07 Get rid of the address_string attribute
Not in the spec, and had internal usage only (but not anymore)
2014-10-01 13:08:36 +02:00
Willem Toorop 1c6ce72f74 Parse /etc/resolv.conf ourselves
At the ame time IPv6 local-link scope_id support
2014-09-30 15:12:48 +02:00
Willem Toorop ad127c9e56 delete a space 2014-09-29 14:41:49 +02:00
Willem Toorop f9046275c1 Initial send and receive a simple udp packet 2014-09-27 01:07:42 +02:00
Willem Toorop 60d1af78c5 Merge branch 'features/gldns' into features/stub-functions
Conflicts:
	src/sync.c
2014-09-26 22:17:42 +02:00
saradickinson d9addba883 Second pass at implementing per query namespaces! 2014-09-25 15:59:05 +00:00
saradickinson 050506341c First pass of implementing per query namespace lookup for stub resolver. Also a getdns local namespace lookup is now used for all sync calls. 2014-09-25 14:49:18 +00:00
Willem Toorop 9ebc0beacc Merge branch 'features/gldns' into features/stub-functions 2014-09-24 23:17:18 +02:00
Willem Toorop ea4ee27612 Merge branch 'master' into features/gldns 2014-09-24 23:16:46 +02:00
Willem Toorop 17e5262acc Import mini_event & rbtree from unbound 2014-09-24 13:50:28 +02:00
Willem Toorop 4daa944e9e Dnssec extensions set the do bit 2014-09-24 12:29:08 +02:00
Willem Toorop 8025b729de Link in stub functions again 2014-09-23 10:51:00 +02:00
Willem Toorop ceb211dfec Merge branch 'features/gldns' into features/stub-functions
Conflicts:
	src/sync.c
2014-09-23 10:44:48 +02:00
Willem Toorop ee304d7181 Compatibility functions & make depend 2014-09-23 10:12:34 +02:00
Willem Toorop a9b5cbef44 Make travis pass (use funcs from ldns < 1.6.17) 2014-09-22 16:32:33 +02:00
wtoorop d492e388e2 Merge pull request #66 from saradickinson/ldns_stub_sync
Thank you Sara.
Travis fails because it uses a version of ldns that doesn't include ldns_resolver_query_status yet (introduced on 19 march 2013, so they have a version before 1.6.17).  I guess we could simply replace with ldns_resolver_query for the time being...
2014-09-17 22:41:21 +02:00
saradickinson 8766f135df More housekeeping 2014-09-17 18:47:04 +00:00
saradickinson 46748c9a0c Housekeeping of ldns res. Fix transport test. 2014-09-17 18:24:07 +00:00