Commit Graph

1488 Commits

Author SHA1 Message Date
Willem Toorop 05fb6edfcb Linking to allow running stubby from src/tools 2016-10-16 05:39:04 -05:00
Willem Toorop 838375fe66 Run stubby in foreground by default 2016-10-16 05:32:05 -05:00
Willem Toorop ec04dc21ee Stubby defaults in help text 2016-10-14 10:14:38 -05:00
Willem Toorop 3d356bd35e Stubby runs in background by default 2016-10-14 09:51:17 -05:00
Willem Toorop 58b5ead67a Make stubby act as stubby 2016-10-14 08:24:25 -05:00
Willem Toorop 3f965e68c0 Stubby is getdns_query with a different name 2016-10-14 12:02:23 +02:00
Willem Toorop 47e718eeb8 OpenSSL 1.1 support 2016-10-13 23:04:50 +02:00
Willem Toorop c84ff93e4f Anticipate Mac OS X glibtoolize 2016-08-25 12:40:02 +02:00
Sara Dickinson f156f2f24a Had to change some preprocessor checks to get all the options to compile 2016-08-08 17:07:46 +01:00
Sara Dickinson 6f9bfffe9f Catch another error path for failed connections 2016-08-08 16:12:33 +01:00
Sara Dickinson fdbefa17ec Add timer for back off on upstream (use 1 hr). Reset as new upstream when re-instated. 2016-08-05 17:25:27 +01:00
Sara Dickinson a1461d51ec Add abbreviated logging mode for daemon 2016-08-05 14:10:55 +01:00
Sara Dickinson 0432fe37c4 Tinker with upstream keepalive 2016-08-04 16:10:23 +01:00
Willem Toorop a7e5f65f65 Merge branch 'develop' into release/v1.1.0a1 2016-07-21 11:35:03 +02:00
Jerry Lundström 8c54142790 Use type and not struct 2016-07-17 11:44:34 +02:00
Willem Toorop 903605570b Doxygen documentation of the new prototypes 2016-07-14 17:57:17 +02:00
Willem Toorop 94292f5bc7 Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-14 16:22:53 +02:00
Willem Toorop f685a0c8b8 Unsigned expression >= 0 is always true 2016-07-14 16:18:50 +02:00
Willem Toorop 0736453bed Doxygen fixes 2016-07-14 15:53:53 +02:00
Willem Toorop 255cc9ab36 First bit of set_from_os loads OS defaults 2016-07-14 15:42:49 +02:00
Willem Toorop e857f680ce Dependencies (but this time good) 2016-07-14 15:05:46 +02:00
Willem Toorop 0340b74604 Dependencies 2016-07-14 15:04:19 +02:00
Willem Toorop 8b31ad5df1 Logic error 2016-07-14 15:03:47 +02:00
Willem Toorop 80ea8637d1 Recover src/tools 2016-07-14 14:50:26 +02:00
Willem Toorop ebba1d4cce Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-14 14:45:16 +02:00
Willem Toorop 99d8672bee Fix few possible NULL dereference issues 2016-07-14 14:24:32 +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
Willem Toorop af70671641 parentheses around comparison in operand of ‘&’ 2016-07-14 13:46:12 +02:00
Willem Toorop b4e7a82e11 EDNS0 padding is RFC 2016-07-14 13:40:49 +02:00
Willem Toorop 74b57d4679 Resync utils with unbound source 2016-07-14 13:33:11 +02:00
Willem Toorop 470fb7a5fb !0 is not necessarily 1 2016-07-14 11:42:21 +02:00
Willem Toorop fed4818c27 Fix idle_timeout without keepalive for TLS 2016-07-14 11:03:33 +02:00
wtoorop 79f92cedd2 Merge pull request #197 from saradickinson/feature/upstream_handling
Feature/upstream handling
2016-07-14 10:58:32 +02:00
Sara Dickinson 6c73144b50 Minor logging updates 2016-07-13 17:39:26 +01: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 31f1375b8e Merge branch 'release/v1.0.0b2' into release/v1.1.0a1 2016-07-13 15:30:28 +02:00
Willem Toorop 9f7ceeded3 Don't SSL_library_init() on every context create
It will not be called when the second bit from the set_from_os parameter is set.
This deals with issue #117
2016-07-13 15:28:08 +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
Willem Toorop d0f01b6bc4 Default values for extensions in context 2016-07-07 14:47:38 +02:00
Sara Dickinson 105d7acfa9 Just re-read RFC7858 and realised that TLS does support idle connections without keepalive. It is just TCP that doesn't. 2016-07-04 17:02:18 +01:00
Sara Dickinson 5e1575dabc Correct the logic for upstream back off 2016-07-04 17:02:18 +01: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
wtoorop 61bcf0e5b7 Merge pull request #186 from saradickinson/documentation/doxygen_updates
Initial pass at updating Doxygen modules for getdns.h. Also add info …
2016-06-28 12:05:54 +02:00
wtoorop 66b7bb2ca1 Merge pull request #190 from saradickinson/bugfix/transport_test
Split the recursive transport test 6 into 3 and add a shorter timeout…
2016-06-28 11:54:58 +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 75b0fef741 Update some type/value names and revert to original order of declarations with manual ordering within the page 2016-06-25 18:09:56 +01:00
Sara Dickinson d3309e89e8 Initial pass at updating Doxygen modules for getdns.h. Also add info on using context_create multithreaded.
- this is a rough first pass at making the oxygen Modules page more consistent and user navigable
  as a handy index into getdns
- I think a further re-org is needed in a later update, also haven't touched getdns_extra.h yet
- Added a few functions descriptions too, but still many functions without comments... a WIP
- Updated man page for context_create with multi-threaded instructions as a short term fix
2016-06-25 18:09:56 +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 734a6625c4 s/inline static/static inline/g 2016-06-23 15:03:46 +02:00
wtoorop a435932b04 Features/call reporting timeout (#1)
* Timed out and canceled netreqs are finished too

* Minor code duplication elemination

* Blah typo

* Embarrassing logic error
2016-06-23 14:02:55 +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
Robert Groenenberg 60c6c8d8ca Fixed build 2016-06-21 13:19:11 +02:00
Robert Groenenberg 3634fff4dd Return call_reporting info in case of timeout, so that we can see
which server did not respond.
2016-06-20 18:39:15 +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 2555980b41 Forgot to update symbols 2016-06-17 17:07:26 +02:00
Willem Toorop 2873645068 get current (pluggable) eventloop from context
So applications can schedule events against it...
2016-06-17 16:50:47 +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 e228f526a3 when nothing else, result[canonical_name] is qname 2016-06-09 16:12:06 +02:00
Willem Toorop 49840c9a85 Some more uniform _getdns_rrset usage 2016-06-09 15:03:51 +02:00
Willem Toorop e27bfcedb6 Merge branch 'develop' into devel/getdns_rrset 2016-06-09 14:13:11 +02:00
Willem Toorop 27110e0943 DNSSEC wildcard validation issue 2016-06-09 10:44:25 +02:00
Willem Toorop 8679633cd9 One more _getdns_rrset caused dnssec fix 2016-06-08 16:03:45 +02:00
Willem Toorop 6e7f66b216 Sorting of SRVs according to RFC2782
Could be optimized... but alas
2016-06-08 12:44:23 +02:00
Willem Toorop 457a4bec92 develop merge fix 2016-06-08 10:57:03 +02:00
Willem Toorop 490aac1b48 Merge branch 'develop' into features/getdns_service 2016-06-08 10:21:29 +02:00
Willem Toorop 2d22b8729d Locks must be >= 0 2016-06-07 17:21:10 +02:00
Willem Toorop e16efbbeee Small bugs from the _getdns_rrset move 2016-06-07 17:08:35 +02:00
Willem Toorop cf675a9284 Add srv_addresses when query was for SRV
Moved _getdns_rrset iterators to rr-iter.[ch] in the process
2016-06-07 16:52:10 +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 40477d3f00 CNAME loops protection 2016-05-30 17:02:28 +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 e01211d6b4 Debug setting that keeps connections open 2016-05-25 15:57:37 +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 888cba625c DNSSEC extensions overwrite curtom headers
to make roadblock avoidance work in daemon mode
2016-05-23 16:40:26 +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 5b832e457c Allow dns_root_servers to be given by bindata too 2016-05-23 15:53:36 +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 938eef1b00 String bindata's secretly contain final '\0' 2016-05-22 21:58:50 +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 0bc8eb65b3 Sort symbols the same on all systems 2016-05-19 15:24:01 +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