Commit Graph

574 Commits

Author SHA1 Message Date
Willem Toorop c84ff93e4f Anticipate Mac OS X glibtoolize 2016-08-25 12:40:02 +02:00
Willem Toorop f685a0c8b8 Unsigned expression >= 0 is always true 2016-07-14 16:18:50 +02:00
Willem Toorop 0340b74604 Dependencies 2016-07-14 15:04:19 +02:00
Willem Toorop 689fc02fd2 Allow errors while setting up listeners 2016-07-14 14:14:15 +02:00
Willem Toorop bae426a0e2 Unread assignment 2016-07-14 14:09:08 +02:00
Willem Toorop 906a8d68c2 fix for converting empty lists and dicts 2016-07-14 14:06:00 +02:00
Willem Toorop ea69d31dba move getdns_query to src/tools 2016-07-14 13:54:58 +02:00
wtoorop 79f92cedd2 Merge pull request #197 from saradickinson/feature/upstream_handling
Feature/upstream handling
2016-07-14 10:58:32 +02:00
Willem Toorop 504cb8a783 Merge branch 'develop' into release/v1.1.0a1 2016-07-13 15:55:17 +02:00
Willem Toorop b26d69384f Merge branch 'develop' into release/v1.0.0b2 2016-07-13 15:52:14 +02:00
Willem Toorop be97bd1d71 Mv getdns_context_set_listen_addresses in the lib
Also, check for request_id +
cancel a reply by specifying NULL as response to getdns_reply
2016-07-13 14:50:44 +02:00
Willem Toorop 69b607176c Move getdns_context_config into the library 2016-07-11 20:42:50 +02:00
Willem Toorop 7cbbad67aa Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-11 16:06:52 +02:00
Willem Toorop a523838cc6 set_listen_addresses does not change listen_list 2016-07-11 16:05:05 +02:00
Willem Toorop b98d91f745 Daemon edns0 handling bugfix 2016-07-11 15:43:42 +02:00
Willem Toorop 7e614bc534 More conventional server DNSSEC behaviour
+ documentation of behaviour
2016-07-11 15:13:40 +02:00
Sara Dickinson 8fa84c836a Initial re-work of stateful transport selection and timeout/error handling. Also update transport test to avoid timeout. 2016-07-04 17:02:14 +01:00
Willem Toorop e0eb39a295 Move str2getdns type functions in the library 2016-07-04 16:57:27 +02:00
Willem Toorop cc104320e8 Get RR types and classes from constant names 2016-07-04 15:54:05 +02:00
Willem Toorop b99b7511ec Generalize str2ipaddr_dict conversion 2016-07-04 12:58:23 +02:00
wtoorop a55c8ab377 Merge pull request #194 from saradickinson/documentation/doxygen_updates2
Make just the src/getdns files part of doxygen by default.
2016-07-04 12:47:57 +02:00
wtoorop 4e6e6e314a Merge pull request #193 from saradickinson/bugfix/transport_test2
Bugfix/transport test2
2016-07-04 12:43:26 +02:00
Melinda Shore 0e36a3b852 Merge pull request #192 from wtoorop/bugfix/transport_test
Bugfix/transport test
2016-07-01 16:26:26 -08:00
Sara Dickinson ec09d6b8a4 Make just the src/getdns files part of doxygen by default.
Add documentation to cover getdns_extra.h. Re-org of functions to align better with getdns.h Also some work on the README.
2016-07-01 17:53:45 +01:00
Sara Dickinson 03a994af50 Fix recursing_6 test 2016-06-30 15:10:41 +01:00
Willem Toorop 080b338a8f Explain own root server necessity in transport_7
Also query for the consistently large record and not the DNSKEY (which is sometimes large and sometimes not)
2016-06-29 12:32:51 +02:00
Melinda Shore 8318766593 Merge pull request #191 from wtoorop/devel/decompose-getdns_query
Devel/decompose getdns query
2016-06-28 16:36:13 -08:00
Willem Toorop cfaf15f54c When reply comes before request schedule ...
... transaction_id will not be set.
Is this problematic?
2016-06-28 16:53:26 +02:00
Willem Toorop dd03a29b00 Small memory leak fix in set_listen_addresses 2016-06-28 16:34:17 +02:00
Willem Toorop ed9912fae2 On the fly listen_addresses with getdns_query 2016-06-28 15:48:31 +02:00
Willem Toorop ce415a6e2a setup server debugging messages 2016-06-28 15:06:02 +02:00
Willem Toorop 62750b505f Own root server with TCP only full recursion test 2016-06-28 14:39:51 +02:00
Willem Toorop dc7bc4d116 Add and remove listen addresses
Following the algorithm suggested by Shane Kerr:

   # figure out the new addresses to add and the old ones to remove
   to_add, to_remove = compare_addresses(current_set, new_set)

       # add our new addresses
       added = []
          for address in to_add:
                  if set_up_address(address) == SUCCESS:
                          added.add(address)
            else:
                    # if we have an error, remove any of those addresses
                    # that we have added so far and return error
                    for address in added:
                                tear_down_address(address)
                return BIG_FAT_FAILURE

               # git rid of our old addresses
               for address in to_remove:
                      tear_down_address(address)
           cancel_current_io(address)

       return SUCCESS
2016-06-28 11:03:25 +02:00
Sara Dickinson b277aef435 Remove build warnings 2016-06-27 11:53:39 +01:00
Sara Dickinson 3ee5cf32b6 Split the recursive transport test 6 into 3 and add a shorter timeout to the fail case to stop the overall test timing out. 2016-06-25 15:57:14 +01:00
Willem Toorop a57b19332a track connections per listener
so they can be dealt with when a listener has to go.
Connections are kept in a double linked list.
Prev links are pointers to the next pointer, to deal with the list handle (i.e. the first next pointer) in a uniform way.
2016-06-23 17:05:32 +02:00
Willem Toorop 9c7f6faf76 Don't TCP idle timeout with queries to be answered 2016-06-23 16:26:20 +02:00
Willem Toorop 50416ecc7f Make getdns_query daemon work again 2016-06-23 15:26:19 +02:00
Willem Toorop 32c6e1fdee Merge branch 'develop' into devel/decompose-getdns_query 2016-06-23 15:06:20 +02:00
Willem Toorop f5d31cd93c Some minor getdns_query memory leak fixes 2016-06-21 16:31:07 +02:00
Willem Toorop 3cc369a27d Move serving requests out of getdns_query 2016-06-21 16:14:54 +02:00
Willem Toorop 09b4ef9e9c Let getdns_query use the default eventloop
instead of a custom eventloop
2016-06-17 17:07:41 +02:00
Willem Toorop 22095f23f6 Bugfix: cannot override targets in Makefile 2016-06-17 16:37:41 +02:00
Willem Toorop 0f16860dbd Move configuring contexts with a dict out 2016-06-17 16:01:36 +02:00
Sara Dickinson 497d87a028 Correct the name to resolution_type 2016-06-17 11:25:21 +01:00
Sara Dickinson 3c7758fdbc Minor testing updates:
- add option to use IPv6 for manual transport tests
- add recursion mode to call_reporting
2016-06-16 10:47:43 +01:00
Willem Toorop 4fde05380f Yet another pass at fixing dependencies
pretty sure it will work this time though...
2016-06-16 11:12:11 +02:00
Willem Toorop d70bd5e637 A dependency fix that actually works! 2016-06-16 11:01:46 +02:00
Sara Dickinson c0187a19ea Quick fix for TLS timeouts not re-using a connection. Better solution is needed.
Also minor fixes in getdns_query:
 - spurious semicolon (caused build warning)
 - build warning for initialised variable
 - have getdns_query honour the CLASS in the incoming query
2016-06-15 17:15:13 +01:00
Willem Toorop 1608244556 Dependency fix 2016-06-15 16:56:20 +02:00
Willem Toorop 8eea955f56 Dependencies
Including the decomposed getdns_str2dict
2016-06-15 16:47:40 +02:00
Willem Toorop ff77af148e Move str2dict conversion out of getdns_query 2016-06-15 15:53:43 +02:00
Willem Toorop c74bfb5339 Pass NULL to select when timeout is infinite 2016-06-15 11:04:11 +02:00
Willem Toorop ea226b882d To run tpkg tests directly from clean git repo 2016-06-14 12:52:54 +02:00
Willem Toorop 2ed28badfd Replies without answer don't have a canonical name 2016-06-09 16:47:00 +02:00
Willem Toorop 3af8a917a2 TSIG spec contains colon too 2016-06-01 17:00:05 +02:00
Willem Toorop a100aff4de Free allocated qname after query 2016-05-31 16:55:59 +02:00
Willem Toorop cc39d51a4c Query with the correct extensions! 2016-05-31 15:40:22 +02:00
Willem Toorop ff4545dae0 Listening sockets should use SO_REUSEADDR 2016-05-31 15:14:50 +02:00
Willem Toorop 6781899247 Allow keys without quotes in json dicts 2016-05-31 15:02:17 +02:00
Willem Toorop 2bb254c898 A DNSSEC resolver validates without DO too 2016-05-31 13:17:16 +02:00
Willem Toorop 2b81be8859 Better servfail serving in getdns_query daemon 2016-05-30 16:37:38 +02:00
Willem Toorop 2c43afe338 SERVFAIL should contain the query name... 2016-05-30 11:25:07 +02:00
Willem Toorop 1fb91028ad Oopsy 2016-05-26 17:05:06 +02:00
Willem Toorop 89d2f74d24 First fixes that came out of deckard testing 2016-05-26 17:02:21 +02:00
Willem Toorop e25e697970 Merge remote-tracking branch 'upstream/develop' into features/create_dict_with_json 2016-05-25 15:12:48 +02:00
Willem Toorop 4334da370e Recursing available on bogus answer too
provided the resolution mode is RECURSING
2016-05-25 14:53:33 +02:00
Willem Toorop 9e0127e74c Don't allow primitive keys (yet)
They cannot handle the colon very well (yet)
2016-05-23 15:54:53 +02:00
Willem Toorop 95718c9474 Mention format of the settings 2016-05-23 15:03:51 +02:00
Willem Toorop 77af32d121 Two more missing unofficial settings options 2016-05-23 14:43:05 +02:00
Willem Toorop eef421fb63 Allow configuration passed on command line too 2016-05-23 14:33:56 +02:00
Willem Toorop 7b861ecbbc Allow arbitrary bindata with json dict primitives 2016-05-23 12:41:46 +02:00
Willem Toorop acad529654 Default extensions settings via config file 2016-05-23 12:22:23 +02:00
Willem Toorop 584193eb39 Stub daemon mode forwards the request header 2016-05-23 11:35:50 +02:00
Willem Toorop 4479d06ebd Allow keys without quotes in config file
+ help text that show config file option
2016-05-23 11:27:27 +02:00
Willem Toorop 7b47e82eae DNSSEC in server working with recursive mode too 2016-05-22 20:49:52 +02:00
Willem Toorop 382a5ec452 getdns_query daemon pass through header options
(Enables DNSSEC for stub mode, but not for recursive)
2016-05-22 18:23:15 +02:00
Willem Toorop 959f1e5496 listen_addresses setting in config file 2016-05-22 17:35:14 +02:00
Willem Toorop 14a950bc29 getdns_query -C for settings via config file 2016-05-22 15:35:32 +02:00
Sara Dickinson 9c8e07a06a Merge branch 'develop' of https://github.com/getdnsapi/getdns into feature/unit_test_updates_2 2016-05-20 16:07:52 +01:00
Sara Dickinson 84d6da8ef6 Fix ups after Willems review 2016-05-20 16:01:23 +01:00
Willem Toorop e8db20a722 Merge branch 'develop' into features/create_dict_with_json 2016-05-20 15:04:08 +02:00
Willem Toorop 7f30aba6bd Only merge non empty lcov info files 2016-05-19 21:15:24 +02:00
Willem Toorop 028ceb7ebf Merge branch 'develop' into devel/bsd-fixes 2016-05-19 21:13:47 +02:00
Willem Toorop f806ffdc70 Anticipate BSD make in tpkg's 2016-05-19 15:56:19 +02:00
Willem Toorop 4c3888b18e jsmn.h is relative to $(srcdir) too 2016-05-18 15:56:54 +02:00
Willem Toorop 7fd9d1e342 const-info.h is relative to $(srcdir) 2016-05-18 15:47:57 +02:00
Willem Toorop 11a063bad0 Parse IPv4, IPv6 and dnames as primitives 2016-05-18 15:21:24 +02:00
Sara Dickinson 98d636b99d Updates to unit tests and tpkg 2016-05-16 17:56:48 +01:00
Willem Toorop 1d5446f117 First pass at parsing getdns dicts in text format 2016-05-11 12:07:27 +02:00
Willem Toorop 4159360ee5 Pass run-all.sh params to tpkg's configure calls 2016-05-09 14:13:37 +02:00
Willem Toorop 4b7e79cc35 TCP server now also working 2016-05-06 17:30:05 +02:00
Willem Toorop 78a6a47b05 Anticipate new pretty print format in tpkg tests 2016-05-04 15:25:18 +02:00
Willem Toorop a80afd357e Initial UDP only server for getdns_query
Provide listening addresses in the same way as upstreams,
but with the initial character '~' instead of '@'.
2016-05-04 09:38:26 +02:00
Willem Toorop 9f3ad7d603 Add our version of jsmn as submodule 2016-05-03 13:38:40 +02:00
Willem Toorop 240bb76bd5 Merge branch 'develop' into devel/clang-static-checking 2016-04-29 16:33:06 +02:00
Willem Toorop 066c0b3837 Merge branch 'features/canonical_dnssec_chain' into upstream/develop 2016-04-29 16:24:58 +02:00
Willem Toorop a8dbb3dd51 Static checking fixes 2016-04-29 12:00:17 +02:00
Willem Toorop 84570a5f0a Static checking with the clang analyzer 2016-04-29 11:47:20 +02:00
Willem Toorop d09698496d Fail on scheduling errors 2016-04-28 15:02:27 +02:00
Willem Toorop 234d6d1b06 Dependencies 2016-04-28 14:39:26 +02:00
Willem Toorop 6e0d8de885 tpkg for the header extension 2016-04-28 14:28:22 +02:00
Willem Toorop b12aeb80fb Allow for tpkg test with configured srcdir
By temporarily moving the configured files aside while building
2016-04-28 14:26:29 +02:00
Willem Toorop 04b3830fb6 Set OPCODE in header too 2016-04-28 13:44:28 +02:00
Willem Toorop d841582d67 Setting header bits through extensions working 2016-04-26 15:54:58 +02:00
Willem Toorop af8e27f059 Merge branch 'devel/scheduling_bug_detection' into features/canonical_dnssec_chain 2016-04-22 14:42:25 +02:00
Willem Toorop 0bd4026898 Detect freed memory usage with recursive queries
Only when using unbound-event-api and doing queries for names in /etc/hosts
2016-04-21 12:37:09 +02:00
Willem Toorop c05f963719 Fail on debugging detected errors 2016-04-21 12:24:53 +02:00
Willem Toorop 4849329818 dnssec_return_full_validation_chain extension
That also returns all records that had to be proofed secure in canonical form in the "validation_chain".
2016-04-18 22:06:12 +02:00
Shane Kerr af8139e957 Modified version of the "run-all.sh" which collects coverage information and produces a report. 2016-04-02 15:44:46 -03:00
Willem Toorop 7df26b6068 Merge branch 'devel/codebase-maintenance2' into release/v1.0.0beta 2016-03-24 16:53:15 +01:00
Willem Toorop 4187636f41 Merge branch 'devel/std-suffix-handling' into release/v1.0.0beta 2016-03-24 16:53:05 +01:00
Willem Toorop e10e774d32 Reversed IPv6 lookup can take a while 2016-03-24 11:46:42 +01:00
Willem Toorop 0d66f91c91 getdns_query option for APPEND_NAME_TO_SINGLE_LABEL_FIRST 2016-03-23 23:31:23 +01:00
Willem Toorop 09476f1ca9 getdns_context_set_follow_redirects() 2016-03-23 11:32:38 +01:00
Willem Toorop 091d41dfe0 5th time's a charm 2016-03-22 10:16:15 +01:00
Willem Toorop 255e60cdcd Old valgrind travis-ci (test mode 4) 2016-03-22 10:07:59 +01:00
Willem Toorop 532c26d7c8 Old valgrind travis-ci (test mode 3) 2016-03-22 10:00:56 +01:00
Willem Toorop ede4afc7b6 Old valgrind travis-ci (test mode 2) 2016-03-22 09:53:40 +01:00
Willem Toorop 213a3dc5d8 Old version valgrind tpkg (test mode) 2016-03-22 09:37:01 +01:00
Willem Toorop d2e62acf0d What options can I use with travis valgrind? 2016-03-21 17:03:53 +01:00
Willem Toorop 620de476df Don't show all leak kinds 2016-03-21 16:51:40 +01:00
Willem Toorop d35b7ff174 Small memory leak in getdns_query 2016-03-21 16:42:53 +01:00
Willem Toorop 29323f8d94 valgrind unit tests 2016-03-21 16:35:13 +01:00
Willem Toorop 5469442eaa Execute all tests allways (even if one fails) 2016-03-17 17:13:20 +01:00
Willem Toorop 186dbca7ce Dependencies 2016-03-17 17:02:17 +01:00
Willem Toorop 94c73b6ec8 Write libcheck logfiles via env variables 2016-03-17 16:40:30 +01:00
Melinda Shore 8c335522e1 Merge pull request #148 from wtoorop/features/dnssec_return_all_statuses
A dnssec_return_all_statuses extension
2016-03-14 20:09:08 -08:00
Melinda Shore 28edb1dc5a Merge pull request #147 from wtoorop/devel/check_separate_logfiles
Write unit test log's to separate log files
2016-03-14 20:08:10 -08:00
Melinda Shore 69a7c1f9ba Merge pull request #145 from wtoorop/features/wire2reply
Features/wire2reply
2016-03-14 20:04:52 -08:00
Willem Toorop 4fca5fe08c A dnssec_return_all_statuses extension
that returns all all dnssec replies regardless their status.
When used on its own or in combination with just dnssec_return_status,
     it will return BOGUS replies, but those replies will have "dnssec_status": GETDNS_DNSSEC_BOGUS
     The response dict "status" will be GETDNS_RESPSTATUS_GOOD then.
When used on in combination with dnssec_return_only_secure,
     it will return BOGUS and INSECURE replies (reflected in their "dnssec_status")
     The response dict "status" can be any of the status that the dnssec_return_only_secure extenstion returns,
     so either GETDNS_RESPSTATUS_GOOD when at least one reply was secure,
     GETDNS_RESPSTATUS_NO_SECURE_ANSWERS when all replies were insecure,
     or GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS when all replies were bogus.
2016-03-14 12:23:12 +01:00
Willem Toorop 8ccba5e204 Write unit test log's to separate log files
For each tested event loop
2016-03-14 11:59:05 +01:00
Willem Toorop f95a052e55 Rewrite DNS proxy in transport/timeout test suites
To use the new DNS packet conversion functions.
This looses the dependency on ldns for unit tests too.
2016-03-14 10:41:32 +01:00
Willem Toorop 7550980be8 Loose bc dependency with tpkg 2016-03-10 14:37:00 +01:00
Willem Toorop 4230961e9f Basic usage of unbound pluggable event loop 2016-03-01 16:29:37 +01:00
Willem Toorop ae2b16665b Setup getdns eventloop in libunbound
When unbound supports this
2016-01-19 16:52:11 +01:00
Willem Toorop 4fd8d3dddd Replace mini_event extension by default_eventloop
* default_eventloop was prototyped in getdns_query and is still in there as my_eventloop
  * It interfaces directly with the scheduling primitives of getdns.
  * It can operate entirely from stack and does not have to do
    any memory allocations or deallocations.

* Adapted configure.ac to allow libunbound to be linked with Windows
  (with the removal of winsock_event.c we have no symbol clashed anymore)

* Added STUB_TCP_WOULDBLOCK return code in stub_resolving helper functions,
  to anticipate dealing with edge triggered event loops (versus level triggered). (i.e. Windows)
2016-01-12 15:52:14 +01:00
Willem Toorop 39f7e87f1a Get rid of unkown format specifiers on windows 2016-01-11 12:11:17 +01:00
Willem Toorop a970dd420f Deal with Windows vsnprintf behaviour
+ a better situated DEBUG_STUB statement in getdns_query
2016-01-10 12:29:37 +01:00
Willem Toorop a58037904f Default is stub when compiling stub only 2016-01-05 12:30:58 +01:00
Sara Dickinson 1f9424ccf2 Fix output of get_api_settings functions 2016-01-05 09:25:49 +00:00
Willem Toorop 03425d192d Miscellaneous Makefile issues 2015-12-31 11:53:46 +01:00
Willem Toorop 08c0c4d6e4 Fixes from testing on different platforms 2015-12-30 14:39:11 +01:00
Willem Toorop 9b97eb9361 Update dependencies 2015-12-30 14:18:19 +01:00
Willem Toorop 1128ebdd54 Unit test fail with unimplemented follow_redirect 2015-12-30 14:10:36 +01:00
Willem Toorop 2a9dd53d8d Complement getdns_query documentation
+ +specify_class extension
2015-12-30 13:38:14 +01:00
Willem Toorop 11b0346ded Miscelaneous TSIG bugfixes 2015-12-30 12:25:58 +01:00
Willem Toorop d85d395770 Options to getdns_query to test suffix appending 2015-12-30 10:44:08 +01:00
Willem Toorop d79884f10a Replace ssize_t with int in conversion funcs tpkg 2015-12-24 16:22:38 +01:00
Willem Toorop a09a051ed5 New code, new dependencies... 2015-12-24 15:01:45 +01:00