Commit Graph

1066 Commits

Author SHA1 Message Date
Willem Toorop 70edb60f09 Some comment about google public dns 2015-07-04 13:14:16 +02:00
Willem Toorop 0e977ee4fb rearrangements for documentational reasons
+ a fix for opt_out bug
2015-07-04 13:01:16 +02:00
Willem Toorop 7e3fbe547a Check NSEC3 CE to be without delegations
(no DNAME, no NS or, if NS then also SOA)
2015-07-04 10:53:31 +02:00
Willem Toorop f59b32414c Three NSEC3 related things:
- Better checking for type bits
- NSEC3 Insecure proofs for opt-out on head's
- NSEC3 wildcard NODATA proof
2015-07-04 10:23:02 +02:00
Willem Toorop 99f0026961 Allow remaining data RDF to be zero size
Usefull for NSECs on empty non terminals!
2015-07-04 08:09:50 +02:00
Willem Toorop 682f10b271 NSEC3s on empty non terminals
bitmap might even not be present.
2015-07-04 00:08:03 +02:00
Willem Toorop 2c09ff2541 Deal with synthesized CNAMEs from DNAMEs 2015-07-03 23:44:15 +02:00
Willem Toorop 4d4f235f76 NSEC handling complete 2015-07-03 22:50:29 +02:00
Willem Toorop a66232153a Some more NSEC conditional checks
(from studying unbound code)
2015-07-03 00:44:53 +02:00
Willem Toorop af49184fd5 A single RRSIG per RRSET in validation_chain 2015-07-02 17:30:37 +02:00
Willem Toorop d47c533b64 getdns_validate_dnssec validate replies in turn 2015-07-02 15:31:31 +02:00
Willem Toorop ae580575d0 Only validate NOERROR & NXDOMAIN 2015-07-02 12:59:28 +02:00
Willem Toorop e3fe89c802 Turn on specific debugging with configure options 2015-07-02 12:49:50 +02:00
Willem Toorop f066d5ef73 Merge branch 'features/native-stub-dnssec' into develop
Conflicts:
	configure.ac
	src/stub.c
2015-07-02 10:27:27 +02:00
Willem Toorop 6cffc4792b Validate replies with getdns_validate_dnssec
You can feed it the replies_tree as the records to validate list
2015-07-02 00:25:41 +02:00
Willem Toorop f92dd5ac0d getdns_validate_dnssec with new DNSSEC code 2015-07-01 21:50:47 +02:00
Willem Toorop 2b3aa84337 getdns_query show output of getdns_validate_dnssec 2015-07-01 14:38:24 +02:00
Willem Toorop 41cf772fb3 Trust anchors in wireformat in context 2015-06-30 14:43:52 +02:00
Willem Toorop 996b09ba2b Reminder for single RRSIG per RRSET return
With the dnssec_return_validation_chain extension
2015-06-30 00:12:30 +02:00
Willem Toorop 3cd9caa704 Evaluate DNSSEC only with stub resolution 2015-06-29 23:48:46 +02:00
Willem Toorop 8d5ac3afde Store dnsreq->name in wire format 2015-06-29 23:32:49 +02:00
Willem Toorop 407ecffb67 dnssec_status in netreqs 2015-06-29 22:23:01 +02:00
wtoorop 93e0237273 Merge pull request #106 from saradickinson/features/transport_fixups
Features/transport fixups
2015-06-29 21:09:47 +02:00
Sara Dickinson e5a80943e2 Turn fast open on by default. Fix build warning. 2015-06-29 11:54:31 +01:00
Sara Dickinson e20d679bc8 Improve TCP close handling and sync connection closing 2015-06-29 09:09:13 +01:00
wtoorop 9ac1ea39b8 Merge pull request #105 from saradickinson/features/transport_fallback
Features/transport fallback
2015-06-29 09:21:31 +02:00
Willem Toorop 2b83bddd4d More sense making parameter names for is_subdomain 2015-06-29 09:18:53 +02:00
Willem Toorop 4e45d31413 No wildcard NSEC3 check on opt-out 2015-06-28 13:41:48 +02:00
Willem Toorop 170218c350 Expand dname rdata fields before compare 2015-06-27 23:47:47 +02:00
Willem Toorop f6c1a48b6e Validaton of wildcard answers 2015-06-27 23:28:23 +02:00
Sara Dickinson 8c61ecd024 Finally fix problem with upstream walking that was causing intermittent crash. And fix sync idle timeouts. Again. 2015-06-26 16:14:04 +01:00
Sara Dickinson 8925fb22fc More bug fixes and tidy up 2015-06-26 14:27:21 +01:00
Willem Toorop 0411668cb4 blah 2015-06-26 11:39:44 +02:00
Sara Dickinson ddd90e29c5 Fix idle_timeout bug 2015-06-26 08:19:22 +01:00
Willem Toorop fe4b7095b3 Set has_ta before unbound context initialization 2015-06-26 00:29:20 +02:00
Willem Toorop 19b79b066f NSEC NXDOMAIN + NSEC3 denial of exist. validation 2015-06-26 00:26:40 +02:00
Sara Dickinson cb5bbac26d Do better with unbound transport mapping and fix problems with sync fallback 2015-06-25 20:21:00 +01:00
Willem Toorop ea69d30e64 Validation of signed responses
+ start with unsigned responses (only the NSEC NOERROR case)
2015-06-25 10:04:19 +02:00
Sara Dickinson 8819d29535 Implement TCP fallback and hack for lack of sync idle timeout. 2015-06-24 18:49:34 +01:00
Sara Dickinson c9a0ffc7a5 Improve error reporting in getdns_query. 2015-06-23 17:01:43 +01:00
Willem Toorop c7c7884350 Generalize getdns_rrset for raw pkt, not netreq 2015-06-23 16:41:34 +02:00
Willem Toorop 1babc715b7 Init context->dnssec_trust_anchors with default 2015-06-23 16:40:47 +02:00
Sara Dickinson c425f96e0b Fix TLS handshake for sync messages. 2015-06-23 15:39:56 +01:00
Willem Toorop 5c01df226c Init netreq dnssec status at netreq init time 2015-06-23 16:39:30 +02:00
Willem Toorop 3631cd658a get_val_chain for all possible scenarios 2015-06-23 00:00:20 +02:00
Sara Dickinson 67e282edd1 More work on transport/upstream fallback. TLS and UDP fallback not working yet.... Probably need to maintain a current upstream for each transport to get this working properly 2015-06-22 18:02:28 +01:00
Sara Dickinson 57b163c790 Fix bug in STARTTLS timeout 2015-06-22 14:31:19 +01:00
Sara Dickinson b73b5b2792 Fix some bugs... 2015-06-21 16:55:12 +01:00
Sara Dickinson 635cf9e182 Re-factor of internal handing of transport list. 2015-06-19 18:28:29 +01:00
Willem Toorop e328f848eb getdns_rrset and iterators 2015-06-19 18:02:16 +02:00
wtoorop d819bc901b Merge pull request #104 from saradickinson/features/transport_api
Commit addition of transport list to the API.
2015-06-18 22:02:46 +02:00
Sara Dickinson 0acdcc34b0 Changelog, idle_timeout test, formatting 2015-06-18 17:29:23 +01:00
Sara Dickinson 68dfb15706 Add context idle timeout 2015-06-18 17:11:11 +01:00
Sara Dickinson 8dd8d90e74 Commit addition of transport list to the API.
- set and get functions are added.
- Existing transport functions retained for backwards compatibility.
- Basic combinations work as before, but underlying functional changes and cleanup are not complete yet...
- Context level options for timeouts and max_transactions_per_tcp_connection coming soon...
2015-06-17 17:18:09 +01:00
Willem Toorop 129e340e8e Collect validation chains for RRs without sigs 2015-06-17 14:46:44 +02:00
Willem Toorop 39639a86c4 Make dname_equal reusable
+ some symbol renames
2015-06-16 16:11:51 +02:00
Willem Toorop 4445a5f9cc Include rdata size with compressed names 2015-06-12 15:45:50 +02:00
Willem Toorop 731cc37434 Another redundant ldns reference 2015-06-12 15:45:37 +02:00
Willem Toorop 97f0dddb1e remove ldns dependency from rr-dict.c
Only dnssec.c left
2015-06-12 13:51:36 +02:00
Willem Toorop ae1db39a33 Native stub validation 2015-06-11 15:40:44 +02:00
Willem Toorop c28f6ee595 rm of superfluous ldns_rr to getdns_dict funcs 2015-06-11 12:17:47 +02:00
Willem Toorop fd385454b4 rm a few more leftover ldns references 2015-06-11 12:04:59 +02:00
Willem Toorop e820452aaa Rm 2 outdated ldns usage cases 2015-06-11 11:21:12 +02:00
Willem Toorop d5f70ab904 rm spurious execute bits +unit test to detect them
Thanks Paul Wouters
2015-05-26 14:16:27 +02:00
Willem Toorop 42bdaaa69d We already redefined minievent symbols 2015-05-21 15:02:51 +02:00
Willem Toorop f78ad93853 Update Makefile's, constants and symbols 2015-05-13 23:30:14 +02:00
Sara Dickinson 894cb1555b Fix intermittent crash for STARTTLS 2015-05-13 17:15:56 +01:00
Willem Toorop 98b3364b65 uniform debugging method + disable stub debugging 2015-05-13 12:47:17 +02:00
Willem Toorop 011b504496 Fix misplaced freeaddrinfo 2015-05-13 12:39:24 +02:00
Willem Toorop b89b625321 autoreconf -fi on FreeBSD to get libtool 2.4.6 2015-05-12 20:47:23 +02:00
wtoorop 802c693ee5 Merge pull request #97 from saradickinson/features/async_tls
Features/async tls
Thank you Sara!
2015-05-12 17:05:10 +02:00
saradickinson 3ac5e660f9 Address few minor bugs pointed out by willem 2015-05-11 22:01:31 +02:00
Willem Toorop 01d4275336 Run once with libevent! 2015-05-08 13:12:06 +02:00
Sara Dickinson 9a7bfdd45b Add trivial stub_debug functions. 2015-05-03 15:39:21 +01:00
Sara Dickinson 9d967317d3 Improve the timeout handling for TLS. 2015-05-03 15:11:46 +01:00
Sara Dickinson 01adce8299 Organise code in stub.c and add some utility methods. 2015-05-02 18:08:45 +01:00
Sara Dickinson d6d83b219d Make sure UDP only uses 1 upstream per IP address. Fix a couple of other bugs. 2015-04-30 19:07:49 +01:00
Sara Dickinson 450a3bc6ff Fix STARTTLS fallback. 2015-04-30 14:52:16 +01:00
Sara Dickinson 7905eda8b7 Some clean up of connection handling. Still a problem with STARTTLS fallback that needs fixing. 2015-04-30 12:24:13 +01:00
Sara Dickinson 79b3412fbf Add another transport option as proof of concept for STARTTLS. 2015-04-29 19:20:25 +01:00
Sara Dickinson b533bc59c5 Fix bug when fallback not available 2015-04-27 16:37:16 +01:00
Sara Dickinson 4e6e66fc77 Get sync messages working with new async code. 2015-04-27 15:32:57 +01:00
Sara Dickinson 3de15ad782 Change internal transport handling to use a list, not a fixed type 2015-04-24 16:29:08 +01:00
Sara Dickinson f2ae55858f First pass at making handshake async. Lots of issues with this code still
- timeouts are not being rescheduled on fallback
- several error cases are not being handled correctly (e.g. 8.8.8.8) and a user callback is not always called
- the fallback mechanism is not generic (specific to tls to tcp)
2015-04-23 17:46:31 +01:00
Willem Toorop 2a6fc74314 netinet/in.h and openssl/ssl.h from config.h 2015-04-18 22:30:56 +02:00
Willem Toorop 0ba6af3523 upstreams_cleanup from upstreams_dereference 2015-04-18 22:17:28 +02:00
Willem Toorop 84c5b67ee0 Re-enable printing of json with getdns_query 2015-04-18 09:53:50 +02:00
Willem Toorop b26f09d1aa autoreconf -if # For convenience... 2015-04-18 09:35:46 +02:00
Sara Dickinson 6c7ffc4e4e 1) Fix enum mapping error.
2) Also add detection of TLS 1.2 in openssl during configure and warn that it if not available then TLS will not be available. Using TLS_ONLY in stub mode will then error with BAD_CONTEXT. TLS/TCP will fallback to TCP.

3) Explicitly disallow use of TLS_ONLY in RECURSIVE mode since it isn't supported yet. TLS/TCP will fallback to TCP.

4) Fix for MAC OS X build where openssl not linked correctly
2015-04-17 18:38:13 +01:00
Sara Dickinson ab4fb8d9e9 Enable GETDNS_TRANSPORT_TLS_ONLY_KEEP_CONNECTIONS_OPEN for libunbound. Should only be used in stub mode.
GETDNS_TRANSPORT_TLS_FIRST_AND_FALL_BACK_TO_TCP_KEEP_CONNECTIONS_OPEN still just does TCP.
Also some tidy up of new transport types.
2015-04-17 15:50:08 +01:00
Sara Dickinson 99c1973fae Cleanup of TLS code 2015-04-16 18:05:51 +01:00
saradickinson 99aa79b48f First pass at TLS implementation - needs work! 2015-04-16 18:05:27 +01:00
Willem Toorop b163ad1870 Doxygen documentation for the new functions 2015-04-08 15:36:12 +02:00
Willem Toorop 830e0267b3 Fix ASSERT_RC macro with check_getdns 2015-04-03 00:15:32 +02:00
Willem Toorop c63bbd1399 s/getdns_strerror/getdns_get_errorstr_by_id/g
In the unit tests make use of the newly exposed error string getter
2015-04-02 23:08:35 +02:00
Willem Toorop 87eb9307a7 A getter for context update callbacks 2015-04-02 22:01:30 +02:00
Willem Toorop 498dedbb8d typo :( 2015-04-02 15:56:13 +02:00
Willem Toorop a0aabc3543 getdns_get_errorstr_by_id replaces getdns_strerror
In the future maybe.  Discuss on list.
2015-04-02 15:33:10 +02:00
Willem Toorop 56bb9dbbdc Pass along a userarg with context update callbacks 2015-04-02 14:42:26 +02:00
Willem Toorop 18381e7753 Get rid of +sit option in getdns_query 2015-04-02 13:59:10 +02:00
Willem Toorop eb7920a4a6 Issue #84 getdns_address modifies extensions param 2015-04-02 13:58:27 +02:00
Willem Toorop c9a61bd91e Query for AAAA first with getdns_address
They were already sent out simultaneously and then listened for, but A went out on the wire first.  Now AAAA.
2015-04-02 13:32:00 +02:00
Willem Toorop c0bc799c3e Fix some C99 compat issues with FreeBSD 2015-03-26 17:03:55 -05:00
Willem Toorop b5d6180506 enlarge timeouts for hostname_12 unit tests 2015-03-26 13:40:39 -05:00
Willem Toorop 3c816b0c86 Emberassing mistake (dont look) 2015-03-23 15:38:50 -05:00
Willem Toorop 526c3a3491 Fix stub validation key rollover issue 2015-03-22 15:41:55 -05:00
Willem Toorop 8b5b8519aa Merge branch 'print_json' into release-0.1.7 2015-03-22 11:01:58 -05:00
Willem Toorop 19547536ac arc4random in secret generation 2015-03-22 11:01:37 -05:00
Willem Toorop d06d94a0c7 Merge branch 'arc4random' into release-0.1.7
Conflicts:
	src/config.h.in
2015-03-22 10:55:03 -05:00
Willem Toorop 00f047816d EDNS cookies processing as stub 2015-03-22 10:50:48 -05:00
Willem Toorop 4683208fd1 First go at using arc4random 4 random numbers 2015-03-21 04:41:25 -05:00
Willem Toorop 3aea9da626 edns_cookies extension 2015-03-20 21:37:54 +01:00
Willem Toorop 5da3bf1af2 Check for libcrypto (required with cookies) 2015-03-20 21:17:14 +01:00
Willem Toorop e6462aa0e4 JSON output 2015-03-20 19:55:17 +01:00
Willem Toorop 3ca69266d1 getdns_query target 2015-03-20 18:25:21 +01:00
Willem Toorop a5e8f22246 snprintf style fixed buffers 2015-03-20 18:19:06 +01:00
Willem Toorop a53f50b530 Minor stub validation fixes and improvements 2015-03-19 10:55:34 +01:00
Willem Toorop d2345285a6 dnssec_return_validation_chain with stub resolving 2015-03-18 23:45:26 +01:00
Willem Toorop 7fc18e8c35 Anticipate older libldns with travis 2015-03-18 21:43:41 +01:00
Willem Toorop fa782d1043 --enable-broken-native-stub-dnssec
Still needs a little more work for wildcards and NODATA answers...
2015-03-18 14:45:06 +01:00
Willem Toorop 59c92b884c Syntax more closed to dnsextlang 2015-03-18 09:38:30 +01:00
Willem Toorop 9942550748 dnssec_return_validation_chain without ldns 2015-03-16 17:05:03 +01:00
Willem Toorop 70cb26bb00 Read trust anchor file without ldns 2015-03-15 21:25:38 +01:00
Willem Toorop 2ad1470b4e char *getdns_pretty_print_list(getdns_list *list)
Handy for debugging purposes
2015-03-15 21:23:44 +01:00
Willem Toorop ebb519919a Get rid of ldns usage, and a malloc/free 2015-03-12 23:09:04 +01:00
Willem Toorop c02f895358 Miscelaneous cleanups
as a consequence of ldns elemination with local-hosts
2015-03-12 22:41:39 +01:00
Willem Toorop 4b7ae8d0bc Merge branch 'master' into local-hosts 2015-03-12 21:41:11 +01:00
Willem Toorop 90ae4bf62c local-hosts handling without ldns 2015-03-12 21:37:03 +01:00
ngoyal fb80ad9b4e Update symbols to reflect new getters 2015-03-12 12:18:02 -04:00
Willem Toorop 5dd2236675 getdns_query edns cookies testing 2015-03-09 23:32:21 +01:00
Willem Toorop d48c509bfc Fix single repeat dict case 2015-03-09 23:31:49 +01:00
Willem Toorop d72151ed51 rdata_raw for unknown rr types 2015-03-06 16:12:51 +01:00
Willem Toorop fe10123323 header bits are 1 or 0 2015-03-05 15:26:06 +01:00
Willem Toorop 5575b9e31f Miscellaneous memory issues found with valgrind 2015-03-05 15:03:40 +01:00
Willem Toorop 30806ce760 Remove ldns dependency from convert.c 2015-03-02 12:21:29 +01:00
Willem Toorop 13b7133b9d Fix NOERROR/NODATA test
Because hampster.com started to be an e-mailable domain
2015-03-02 11:44:27 +01:00
Willem Toorop 2b8f65f389 rm ldns dependency from dict.[ch] 2015-03-02 11:38:46 +01:00
Willem Toorop fe8f46b0af The CSYNC RR type 2015-02-19 14:07:42 +01:00
Willem Toorop af47cf81a3 Fix reversed IPv6 to domain under our control 2015-02-19 10:31:18 +01:00
Willem Toorop 9a0f4700ea rm rdf template helper comments 2015-02-19 00:21:37 +01:00
Willem Toorop 12d3ca6797 HIP wireformat parsing 2015-02-19 00:20:13 +01:00
Willem Toorop 0a9477d9d7 getdns_query RR type parsing bugfix
We need a terminating '\0' as last character always
2015-02-19 00:19:01 +01:00
Willem Toorop e845ffa3bf IPSECKEY wireformat parsing 2015-02-18 23:36:32 +01:00
Willem Toorop 9b90ced595 Make special handlers for rdf work
+ bugfix in repetition of rdf blocks
2015-02-18 20:39:56 +01:00
Willem Toorop bea4b50422 handlers for APL "n" and "adfpart" rdf's 2015-02-18 15:44:09 +01:00
Willem Toorop f78fdd0594 Fix canonical_name at root of response dict
It will be the first canonical name in the replies.
2015-02-18 14:46:55 +01:00
Willem Toorop a77f156d08 Remote the ldns_pkt result from the netreq
Proving that we don't need ldns_pkt any more
2015-02-18 12:36:42 +01:00
Willem Toorop a722778b3c Already lose some replaced functions 2015-02-17 23:11:37 +01:00
Willem Toorop 05cc557de0 Special handling for OPT 2015-02-17 22:59:47 +01:00
Willem Toorop b1bf4a6741 canonical_name in reply dict + lose debug printing 2015-02-17 22:36:57 +01:00
Willem Toorop ceeab9965a Print null terminated bindata strings as strings 2015-02-17 21:44:16 +01:00
Willem Toorop 7fecb7d922 Get rid of debugging info 2015-02-17 21:44:01 +01:00
Willem Toorop 73776bcd48 dname's as decompressed bindata's 2015-02-17 21:28:39 +01:00
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