Commit Graph

763 Commits

Author SHA1 Message Date
Willem Toorop 3c5b28ffaf Fix printing of text type rdata fields 2015-02-17 17:06:36 +01:00
Willem Toorop 1fea8d3d1f Don't forget to handle canonical name & dname's! 2015-02-17 11:58:51 +01:00
Willem Toorop ced873a80d Start with rdf iterators to rdata dict conversion
Todo:  OPT
2015-02-17 11:53:01 +01:00
Willem Toorop fd9ead4fec Function to get the section of a rr_iter 2015-02-17 11:52:03 +01:00
Willem Toorop d3f480009b Convenience list append functions 2015-02-16 16:01:15 +01:00
Willem Toorop 177ee2046a Wireformat rdata field iterator 2015-02-14 21:42:25 +01:00
Willem Toorop 2dcc0a0da6 Prefix private types with priv_ too 2015-02-14 12:30:51 +01:00
Willem Toorop e0ab471de8 draft-levine-dnsextlang'ish type rr and rdata defs 2015-02-14 11:44:13 +01:00
Willem Toorop 04e2d4c2c1 bugfix: on tcp read, realloc with *new* buffer sz 2015-02-12 12:05:10 +01:00
Willem Toorop cd098f9429 bugfix: Dynamic max payload only when OPT present 2015-02-12 12:03:20 +01:00
Willem Toorop c649c675e2 bugfix: Include OPT when max payload is dynamic 2015-02-12 11:59:44 +01:00
Willem Toorop 37def257ee Start with wireformat RR iterator 2015-02-11 23:51:20 +01:00
Willem Toorop 6a16a56717 create response header from wireformat 2015-02-11 16:59:47 +01:00
Willem Toorop f01ed133f5 ldns_wire2pkt at create_getdns_response time only
This break priv_get_validation_chain
2015-02-11 14:55:22 +01:00
Willem Toorop aedc4366ff Wireformat debugging 2015-02-03 11:38:11 +01:00
Willem Toorop 9ed074e58d set max_udp_payload_size 2 response size 2015-02-03 11:36:08 +01:00
Willem Toorop b5a6fa8064 rm some obsolete includes in stub.c 2015-02-03 11:24:35 +01:00
Willem Toorop de2e0b1157 transfer wiredata with unbound requests too 2015-02-03 11:23:30 +01:00
Willem Toorop 545a83e1a6 netreq->response contains wire_data packet 2015-02-03 11:12:05 +01:00
Willem Toorop f1b916aac8 Store wireformat queries in netreq's too 2015-02-03 10:46:44 +01:00
Willem Toorop 3f046cf573 Embed netreqs in dns_reqs and wire_data in netreqs
TODO: make sure the wire_data buffer is filled with the response
2015-01-29 12:30:40 +01:00
Willem Toorop f9a0974e5a just_address_answers only with getdns_address()
We gave it always, but reading the spec it seems it is only required when a
call to getdns_address() or getdns_address_sync() was made.
2015-01-29 12:29:05 +01:00
Willem Toorop 736f5ff157 No executable flags on source files
Thanks Paul Wouters
2015-01-20 12:16:49 +01:00
Willem Toorop 6fc63d242b Link build requirements in tests too
Thanks Ondřej Surý
2015-01-20 12:14:23 +01:00
wtoorop b34a65f8fa Merge pull request #82 from getdnsapi/feature/context_getters
Adding context getters
2015-01-20 11:28:29 +01:00
Willem Toorop 90e988c8a3 Make the transport server work on Mac OS-X too! 2015-01-16 15:15:12 +01:00
Willem Toorop fabf0703a8 Fix unused variable warning 2015-01-14 14:17:08 +01:00
Willem Toorop 065b65d3b7 Bump version to 0.1.6 (library version 1.1.1) 2015-01-14 14:16:41 +01:00
Neel Goyal 310a7e330e Adding getters 2014-12-06 23:46:44 -05:00
Willem Toorop a44ad67939 Set options in interactive mode too 2014-11-11 15:20:51 +01:00
Willem Toorop 9356da25ac Reversed lookups with getdns_query 2014-11-10 16:30:45 +01:00
Willem Toorop cf64c38dc1 Doxygen errors 2014-11-10 15:57:17 +01:00
saradickinson 593670f524 Removing debug statement (blush) 2014-11-07 20:17:03 -10:00
Willem Toorop b780db0538 Portability with older systems
(tested on SunOS 5.11)
2014-11-07 16:57:24 +01:00
Willem Toorop 335c701ce5 Fix dependencies in Makefiles, get rid of VPATH
They couse trouble finding the dependencies in the correct places.
Also, use -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 only when needed
2014-11-07 15:18:32 +01:00
Willem Toorop 4cc4629bdf Don't expose scheduling side of extensions
Also moved debugging macro's from types-internal.h ro util-internal.h
2014-11-07 11:38:02 +01:00
Willem Toorop 30627045ae Use pkg-config to configure libcheck
where available
2014-11-07 09:07:58 +01:00
Willem Toorop 3c9b0c2e30 Don't prefix extension libraries names from /src 2014-11-07 07:26:09 +01:00
Willem Toorop d7300c17f8 Prevent duplicate symbol _context on Darwin 2014-11-06 21:09:28 +01:00
Willem Toorop a4bb10396f Check for libcheck requirements 2014-11-06 20:47:52 +01:00
Willem Toorop 87a8889c7e Let libtool evaluate symbols in correct order
This makes libev work on FreeBSD, so resolves issue #43
2014-11-04 14:56:02 +01:00
Willem Toorop a16abce887 Don't export symbols that can be inline
Thanks Geoff Huston
2014-11-03 15:17:14 +01:00
Willem Toorop 850d8453c9 Make it work on linux again :/ 2014-10-31 14:25:51 +01:00
Willem Toorop c7e7c3804a Merge branch 'master' of github.com:getdnsapi/getdns 2014-10-31 14:20:39 +01:00
Willem Toorop 114e459a43 Make things work on FreeBSD again 2014-10-31 14:17:30 +01:00
Willem Toorop b642d814e4 Bump library version because of binary API change 2014-10-31 11:30:24 +01:00
Willem Toorop a0e1311afb Fix install getdns_query target 2014-10-31 11:28:42 +01:00
Willem Toorop 0bb94ff63c Install target in src/test for getdns_query 2014-10-30 16:47:11 +01:00
Willem Toorop 3bc67a83c3 strlcpy compat function prototype in config.h
(when needed)
2014-10-30 15:50:35 +01:00
Willem Toorop 6d2ff90203 Remove getdns_context_fd from exported symbols 2014-10-30 15:50:14 +01:00
Willem Toorop 905b4bcc8c Fix compiling with libevent1 2014-10-30 15:42:08 +01:00
Willem Toorop 0daa5b573d Allow to set empty bindata's
quite common in OPT record's rdata_raw
2014-10-30 15:08:42 +01:00
saradickinson 0680e1144f Add detection of TFO support during configure 2014-10-28 17:51:49 +00:00
saradickinson 9d7d9997df TCP fast open support (linux only). Enabled with --enable-tcp-fastopen configure option. 2014-10-28 17:51:49 +00:00
Willem Toorop 129d614f5c pretty print getdns_context_get_api_information 2014-10-28 16:36:41 +01:00
Willem Toorop 2540ef820e tests_dnssec can also be done with getdns_query 2014-10-28 16:19:49 +01:00
Willem Toorop 522a23d864 Get rid of context_fd
recursive mode only
2014-10-28 15:39:48 +01:00
Willem Toorop a1b06ec0d7 Add my own crude test program 2014-10-28 14:50:20 +01:00
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