Commit Graph

826 Commits

Author SHA1 Message Date
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
wtoorop df02aee61b Merge pull request #71 from saradickinson/namespaces_2
Second pass at implementing per query namespaces!
Very thorough! Thanks!
2014-09-25 22:02:40 +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 b9159cd237 [API 0.509] edns0 default value not 512 2014-09-24 23:15: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