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