Commit Graph

655 Commits

Author SHA1 Message Date
Willem Toorop 829c459823 Horrific typo! Please don't look. 2014-10-28 14:36:41 +01:00
Willem Toorop d92dc8b460 edns_do_bit defaults to 0 with stub
And better handling of including OPT RR in stub query
2014-10-28 14:32:29 +01:00
Willem Toorop f9195fde4d getdns_context_set_follow_redirects not changed
Error in previous commit.
Nothing changed with getdns_context_set_follow_redirects.
It is simply not implemented
2014-10-28 14:27:30 +01:00
Willem Toorop 4740d0baf4 context setters that can be called after create
getdns_context_set_namespaces and getdns_context_set_upstream_recursive_servers
can also be called after context create now.
2014-10-28 14:23:40 +01:00
Willem Toorop 154a84665b Fix priv_getdns_append_opt_rr 2014-10-27 21:35:44 +01:00
Willem Toorop 35c58cc598 set payload size < 512 to 512 with extensions too 2014-10-27 19:26:15 +01:00
Willem Toorop 4ac063f5b8 libevent1 fix 2014-10-27 15:45:27 +01:00
Willem Toorop 18c316e396 Suppress compile warning 2014-10-27 15:15:59 +01:00
Willem Toorop 4c8a179e87 issue #76 Setting payload < 512 should not error
Thanks gmadkat
2014-10-27 14:18:31 +01:00
Willem Toorop 2be047d48d declare inline functions in a more portable way
Or at least in a way that works without a -O[1-3] flag...
2014-10-24 23:20:28 +02:00
Willem Toorop f633886cbf recv, write and sendto return ssize_t 2014-10-24 23:12:28 +02:00
wtoorop 8a8ce3431e Merge pull request #77 from saradickinson/tcp_resend_bug
Thanks Sara, well spotted!
Fix 2 small bugs with resending tcp data
2014-10-24 22:40:44 +02:00
saradickinson c5d63ed9d7 Fix 2 small bugs with resending tcp data 2014-10-24 14:38:22 +00:00
Willem Toorop 6c23f26a90 Remove some old leftovers 2014-10-24 16:30:59 +02:00
Willem Toorop b063462786 Move examples to spec dir 2014-10-24 14:39:58 +02:00
Willem Toorop 87c54886c8 pass LDFLAGS to libgetdns_ext_{event,ev,uv} too
Thanks Ondřej Surý
2014-10-24 14:15:43 +02:00
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
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
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
Willem Toorop e598f64e80 gldns _buf support + add_opt_parameters extension 2014-09-16 15:43:20 +02:00
saradickinson 5a765ad632 Fix typo 2014-09-16 11:25:18 +00:00
saradickinson cbfea31081 Add extra check in test_stub_sync for TCP messages 2014-09-13 17:07:07 +00:00
saradickinson f89acb6e2d Setting up nameservers correctly for ldns as stub 2014-09-13 16:19:25 +00:00
Sara Dickinson f59689cf68 Use ldns as stub resolover for sync queries part 1 2014-09-12 14:15:46 +00:00
Willem Toorop c690e3907e Set correct unbound option for edns payload size 2014-09-12 10:09:08 +02:00
Willem Toorop 635879e0ae stub.[ch] not in this branch 2014-09-09 17:22:20 +02:00
Willem Toorop 26578220af Make wire format query packet function 2014-09-09 17:19:52 +02:00
Willem Toorop c40af0d316 s/sbuffer/gbuffer/g in src/Makefile.in too 2014-09-09 17:16:43 +02:00
Willem Toorop ed8847a9cb s/sbuffer/gbuffer/g 2014-09-09 16:49:57 +02:00
Willem Toorop 3468ea13e6 And not actually include on-board ldns2 (gldns) 2014-09-09 15:42:28 +02:00
Willem Toorop 83f53bd2ea With on-board ldns (new ldns2 core from unbound)
Only the symbols for internal use.  No usage yet.
2014-09-09 15:11:32 +02:00
John Dickinson 372c980453 Added a check for transport 2014-09-04 14:50:09 +00:00
Willem Toorop a9dbea22ad Chase NSEC and NSEC3 with return_validation_chain 2014-09-03 20:53:26 +02:00
Willem Toorop 772efb1186 [API 0.506] GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS
return code for with the dnssec_return_only_secure extension
2014-09-03 16:09:50 +02:00