Commit Graph

1908 Commits

Author SHA1 Message Date
Willem Toorop 114b5785f7 Doxygen documentation for Zero configuration DNSSEC
+ rename of getdns_context_(get|set)_trust_anchor_*()
         to getdns_context_(get|set)_trust_anchors_*()
2017-09-22 12:25:56 +02:00
Willem Toorop a3bfee7d0a Issues from unit tests 2017-09-22 11:12:27 +02:00
Willem Toorop da2aa634d3 Make appdata_dir configurable +
settings via getdns_context_config()
2017-09-21 17:06:29 +02:00
Willem Toorop 1b47ce4d10 Slightly different function prototypes 2017-09-21 12:38:49 +02:00
Willem Toorop 712f62a4c1 Things that came out of compiling on Windows 2017-09-21 11:03:38 +02:00
Willem Toorop 8897bdf18f dependencies 2017-09-20 15:55:24 +02:00
Willem Toorop 7c229c40cd Merge branch 'features/zeroconf-dnssec' into release/v1.2.0 2017-09-20 15:45:27 +02:00
Willem Toorop fbc1526f47 Merge branch 'devel/compile-on-windows' into release/v1.2.0 2017-09-20 15:40:31 +02:00
Willem Toorop e6536bb2ef Typo 2017-09-20 15:18:43 +02:00
Willem Toorop 36943a4380 A dnsreq is bogus if any of its netreqs is 2017-09-20 14:42:35 +02:00
Willem Toorop 17d7ee79f2 Fix NULL pointer dereference 2017-09-20 12:44:14 +02:00
Willem Toorop f0f2afbca7 Fetch TA before resolve for full recursion too 2017-09-20 12:40:59 +02:00
Willem Toorop e2abb8aff4 Fetch TA when ZONE or APP TASRC and bogus answer 2017-09-20 11:44:21 +02:00
Willem Toorop 34d35f9e79 Track updating TA's with root DNSKEY rrset 2017-09-20 10:30:13 +02:00
Willem Toorop e2ffaf3e07 Less activity to detect XML verify failure 2017-09-18 11:49:43 +02:00
Willem Toorop 737f49d2cc Setup libunbound ta's after processing XML 2017-09-18 09:59:22 +02:00
Willem Toorop 463855d274 Writability test for application data 2017-09-16 18:16:21 +02:00
Willem Toorop aa74c0a3d5 One more pleasing travis fix 2017-09-14 16:43:10 +02:00
Willem Toorop e6051976dd travis specific fixed 2017-09-14 16:32:53 +02:00
Willem Toorop 57e6487d76 Some more fixes specific to travis 2017-09-14 16:02:37 +02:00
Willem Toorop 6d29f7fb65 Fix issues accumulated when tpkg didn't work 2017-09-14 15:14:00 +02:00
Willem Toorop 8c4ed6294e Merge branch 'develop' into features/zeroconf-dnssec 2017-09-14 12:27:47 +02:00
Willem Toorop 836c651539 Initial fixes from John to compile getdns on Windows 2017-09-14 12:25:25 +02:00
Willem Toorop f31eb517e0 Lazy TA and time checking 2017-09-14 11:47:02 +02:00
Jim Hague dcc6cd36c6 Merge pull request #2 from saradickinson/features/yaml
Change extension from .yaml to .yml
2017-09-13 17:56:47 +01:00
Jim Hague 80b2eacc26 Merge branch 'develop' into features/yaml 2017-09-13 16:55:11 +00:00
Jim Hague b20aedd182 Update the getdns_yaml2*() Doxygen comments. 2017-09-13 17:42:24 +01:00
Sara Dickinson 8618e4b731 Change extension from .yaml to .yml 2017-09-13 17:41:16 +01:00
Jim Hague 8139201f12 Allow YAML input to be just a list or scalar as well as a map.
This allows getdns_yaml2list(), getdns_yaml2bindata() and getdns_yaml2int() to work as expected.

Update the YAML test to check these.
2017-09-13 17:29:41 +01:00
wtoorop 22d1345491 Merge pull request #333 from saradickinson/variable_tls_backoff
Variable tls backoff
2017-09-13 17:00:56 +02:00
Willem Toorop 92a0db58da Merge remote-tracking branch 'upstream/develop' into features/zeroconf-dnssec 2017-09-13 16:56:33 +02:00
Sara Dickinson 8fab939d2c Merge branch 'features/yaml' of https://github.com/banburybill/getdns into features/yaml 2017-09-13 15:53:47 +01:00
Jim Hague 0c39696b64 Add '-f' to tpkg usage message. 2017-09-13 15:50:20 +01:00
Sara Dickinson 8f683ef3c9 Merge branch 'develop' of https://github.com/getdnsapi/getdns into variable_tls_backoff 2017-09-13 15:50:17 +01:00
Sara Dickinson 8c331d580a Improve usage of getdns to make file extension clearer 2017-09-13 15:48:42 +01:00
Jim Hague 9e47919f42 Merge commit 'a9029581bc18870e8a1b84f77e546500bad7ec0e' into features/yaml 2017-09-13 15:46:47 +01:00
Jim Hague 57c40b147d Fix capturing exit code of a test.
tpkg was not capturing the exit code of the test, but the exit code of the write_result actions.
2017-09-13 15:02:36 +01:00
Jim Hague 9683a64f73 Add test 255-yaml-config with basic test of getdns_yaml2dict. 2017-09-13 15:01:13 +01:00
Sara Dickinson f0190e4f03 Add 2 missing parameters from the config output 2017-09-13 13:02:01 +01:00
Willem Toorop 8f3ce9af35 Configurable zero configuration DNSSEC parameters 2017-09-13 14:00:54 +02:00
Jim Hague c74e8353a8 Move to clang-friendly way of marking unused function parameters as used. 2017-09-13 12:50:18 +01:00
Sara Dickinson 453b94269b Updates to makefiles for s/stubby.conf/stubby.yaml 2017-09-13 12:45:56 +01:00
Sara Dickinson f53e5645d9 Improve the comments about the new backoff handling.
Remove unnecessary log.
2017-09-13 10:00:56 +01:00
Jim Hague 6c95f4177d Add YAML configuration option.
Add new extra functions getdns_yaml2(dict|list|bindata|value)(). These are like their getdns_str2() counterparts, but take YAML input rather than JSON.

YAML introduces a new dependency, on libyaml. YAML can be disabled at configuration time, in which case the dependency is removed.

Modify getdns_query such that if a configuration file name includes ".yaml" it will be processed as a YAML configuration, not a JSON configuration.

Internally, getdns_yaml2*() work by passing the YAML string through a simple translation to JSON. At present, this translation assumes that configuration is the only use case, and so will error if the outer layer of the YAML input is not a map. This in effect means that at present all getdns_yaml2*() functions apart from getdns_yaml2dict() will give an error on the YAML translation to JSON.
2017-09-12 16:47:57 +01:00
Sara Dickinson b760a2ced2 Refine the logging levels to match the errors given when backing off, etc. 2017-09-12 15:01:02 +01:00
Sara Dickinson 729af1d159 Allow backed-off upstreams to be re-instated if all our upstreams are unusable (e.g. if the network is down).
But limit re-tries for a given netreq to the total number of upstreams before failing. This should (roughly) allow 2 retries per upstream of the correct transport before bailing out. Otherwise we are stuck in a loop retrying forever!
2017-09-12 13:47:56 +01:00
Willem Toorop 8aa46b305d Merge branch 'develop' into features/zeroconf-dnssec 2017-09-11 11:09:58 +02:00
Sara Dickinson 42945cfc08 Make the backoff time incrementally increase until the upstream starts working again 2017-09-08 17:28:37 +01:00
Sara Dickinson 2e4e3873e4 First pass at fixing problems when connections to servers are lost.
Need to reset connection state if connections fail at setup and on read/write if there are no more messages queued.
This means we will back-off servers that fail, so we should think about using a shorter backoff default in stubby
because otherwise temporarily loss of the network connection will mean having to restart stubby.
Also some minor changes to logging.
2017-09-06 11:05:08 +01:00
Willem Toorop c6d40d9adc Merge branch 'develop' into features/zeroconf-dnssec 2017-09-04 16:43:37 +02:00
Willem Toorop d2c258158f Flag for live logging 2017-09-04 10:04:17 +02:00
Willem Toorop 48209a038c Fix things that came out of static analysis 2017-09-02 12:47:04 +02:00
Willem Toorop 084286513f Fix permissions 2017-09-02 12:18:57 +02:00
Willem Toorop f25ae85030 Get keys from correct position 2017-09-02 12:10:50 +02:00
Willem Toorop d340305dcc Show tpkg execution live 2017-09-02 11:38:20 +02:00
Willem Toorop 2b07f221c4 And actually copy over results 2017-09-02 11:22:01 +02:00
Willem Toorop bf31b2f7db Collect report from static analysis 2017-09-02 11:20:21 +02:00
Willem Toorop 21f538f60c Forgot ; 2017-09-01 17:00:34 +02:00
Willem Toorop bf23968226 Final for loop initializations elimination 2017-09-01 16:50:31 +02:00
Willem Toorop 70ec5ea4d0 Some more for loop initializations 2017-09-01 16:34:06 +02:00
Willem Toorop 5c8765fefe No variable initializations in for loops 2017-09-01 16:23:26 +02:00
Willem Toorop 98379bbd38 Add RR type DOA
Without rdata yet, just to pass unit tests
2017-09-01 16:10:56 +02:00
Willem Toorop 2ed2871549 Merge branch 'develop' into features/zeroconf-dnssec 2017-08-30 15:09:39 +02:00
Willem Toorop fe6d2c9749 /* fallthrough */ must be first comment before case 2017-08-24 13:58:13 +02:00
Willem Toorop 5a94081634 Make switch/case fallthroughs explicit
+1 fallthrough bugfix in getdns_query
2017-08-24 13:51:58 +02:00
Sara Dickinson a6669482d8 Merge pull request #329 from getdnsapi/devel/without-stubby
Devel/without stubby
2017-08-23 15:25:27 +01:00
Willem Toorop f949f4a136 Sync with unbound 2017-08-22 12:42:52 +02:00
Willem Toorop 516570e1f8 Include stubby (building) in tpkg testing 2017-08-22 12:16:48 +02:00
Willem Toorop 6024f9d72e Merge branch 'develop' into devel/without-stubby 2017-08-22 11:27:11 +02:00
Willem Toorop e57011a3ea Compile without stubby by default
And with stubby from repo (as submodule) when --with-stubby is specified
2017-08-22 11:25:47 +02:00
Sara Dickinson 33ff6a95ac Fix issue on macOX 10.10 where TCP fast open is detected but not implemented causing TCP to fail. The fix allows fallback to regular TCP in this case and is also more robust for cases where connectx() fails for some reason. 2017-08-18 17:59:49 +01:00
wtoorop f03ac9ab7b Merge pull request #324 from saradickinson/docs/fix_set_from_os
Remove mention of using the second bit in set_from_os to init OpenSSL…
2017-08-18 15:56:13 +02:00
wtoorop da7083f55a Merge pull request #316 from wtoorop/devel/roadblocks_and_valchains
Devel/roadblocks and valchains
2017-08-18 15:55:56 +02:00
wtoorop 5701fb99c9 Merge pull request #321 from neilcook/stub_fixes
Stub fixes
2017-08-18 15:53:23 +02:00
wtoorop ae0dd866aa Merge pull request #313 from MelindaShore/develop
Modified Dockerfile to check out getdns master
2017-08-18 15:52:49 +02:00
Sara Dickinson 05016e3a3a Remove mention of using the second bit in set_from_os to init OpenSSL as this no longer applies 2017-08-04 14:17:50 +01:00
Neil Cook 1555c432f5 Fix array bounds bug in upstream_select 2017-07-31 22:51:24 +01:00
Neil Cook 2d7d6581b4 Ensure netreq->fd is set to -1 after close()/closesocket()
If netreq->fd is not set to -1, then multiple functions close the
same socket. This causes major issues in multithread code where the
socket must not be closed multiple times as it may be owned by a
different thread.
2017-07-31 22:48:09 +01:00
Willem Toorop e11dc92df1 Hopefully the last warning 2017-07-15 18:38:31 +02:00
Willem Toorop 84430e02cd Actually working roadblocks and getting validation chains 2017-07-15 17:48:24 +02:00
Willem Toorop bceb6c8c87 Resubmit netreqs when roadblocks need to be avoided 2017-07-15 11:14:35 +02:00
Willem Toorop c5acb3769b Exit with error when answers were bogus 2017-07-06 21:28:34 +02:00
Willem Toorop d589adf120 Use -V option in transport tests 2017-07-06 12:19:14 +02:00
Willem Toorop d402603f4a Merge branch 'develop' of github.com:getdnsapi/getdns into develop 2017-07-06 12:13:30 +02:00
Willem Toorop 4478745955 No output from getdns_query to stdout except the result (unless -V is used)
Resolves issue #315
2017-07-06 12:08:09 +02:00
Sara Dickinson 28c41c3495 Move the SYNC/ASYNC response text to after the dict so the dict is the first thing output and can be parsed without stripping this text (request from user). 2017-07-06 12:03:35 +02:00
Willem Toorop 44065bead8 Initial windows work 2017-07-06 00:26:21 +02:00
Willem Toorop 7151e6fd44 Deal with leaking timeouts (between sync and async loop) 2017-07-01 01:01:17 +02:00
Willem Toorop 11138ff678 Also register application set trust anchors 2017-07-01 01:00:40 +02:00
Willem Toorop 59ff5e8178 0 terminate xml files 2017-07-01 00:45:09 +02:00
Willem Toorop 2b20f35e0e Write fetched trust anchor 2017-07-01 00:05:20 +02:00
Willem Toorop 8ec1f8eae9 Happy Eyeballs 2017-06-30 22:51:03 +02:00
Willem Toorop f9bdedbf84 Reconnect on pipelining failure 2017-06-30 22:00:14 +02:00
Willem Toorop 4a5f03ebbe Anticipate surplus reads 2017-06-30 21:14:02 +02:00
Willem Toorop 77d13f885e unused function warning 2017-06-30 11:08:20 +02:00
Willem Toorop 61561dd527 Fix warnings & dependencies 2017-06-30 10:45:51 +02:00
Willem Toorop 3e6c5775ff Fetch and equip context with trust-anchors 2017-06-30 10:18:07 +02:00
Willem Toorop 742588dd6f Merge branch 'develop' into hackathon/zeroconf-dnssec 2017-06-29 11:09:30 +02:00
Melinda Shore 146638ab94 Modified Dockerfile to check out getdns master and to use unbound-anchor to install dnssec trust root 2017-06-28 22:11:30 -08:00
wtoorop 45884a2dd7 Merge pull request #310 from getdnsapi/features/getdns_context_set_logfunc
A configurable log function
2017-06-28 22:55:45 +02:00
Willem Toorop 91ccbcd7df Typo? 2017-06-28 21:45:54 +02:00
wtoorop 280e72a0fe Merge pull request #311 from MelindaShore/develop
Basic Dockerfile for stubby.
2017-06-28 21:28:31 +02:00
Willem Toorop 19479d4089 Merge branch 'develop' into features/getdns_context_set_logfunc 2017-06-28 21:22:55 +02:00
Willem Toorop 264135e799 Reintroduct timestamps and replace GETDNS_DAEMON: with STUBBY: 2017-06-28 21:09:40 +02:00
Willem Toorop 8235250fb6 Rename SYSTEM_DAEMON in LOG_UPSTREAM_STATS 2017-06-28 20:57:53 +02:00
Willem Toorop fb267938c3 Start with fetching root-anchors remotely
Also lays the foundation for looking up upstreams by name and DANE authentication of upstreams.
2017-06-28 20:35:30 +02:00
Sara Dickinson 55acf6662c Fix for outputting the address string in the DAEMON log 2017-06-28 17:58:38 +01:00
Willem Toorop 195f4c59c8 Fix for the constants declaration issue 2017-06-27 07:49:01 +02:00
Melinda Shore b0c55d540f Basic Dockerfile for stubby. 2017-06-26 17:17:16 -08:00
Willem Toorop 04e554086a A configurable log function
Currently used only for DAEMON_DEBUG
2017-06-27 00:23:22 +02:00
Willem Toorop ce43942cbe Respond to socket errors 2017-06-26 16:57:23 +02:00
Willem Toorop ff1ebbf671 Hmmm... this time the warning does make sense 2017-06-22 13:09:45 +02:00
Willem Toorop 2962baa050 Old (not so smart) compiler warns for uninitialized variable 2017-06-22 12:48:22 +02:00
Willem Toorop 69b3f6f558 Remove unnecessary initialization (scan-build) 2017-06-22 12:43:33 +02:00
Willem Toorop e2f1d3badb Dependencies 2017-06-22 12:41:01 +02:00
Willem Toorop 4a1008e02c New deps for anchor.lo 2017-06-22 12:28:07 +02:00
Willem Toorop 7ea3beaa6a Equip context with xml read trust anchors 2017-06-22 12:27:20 +02:00
Willem Toorop 6b70160659 getdnsify function names, even though they're static 2017-06-22 10:30:13 +02:00
Willem Toorop a2cf568190 RFC7958 root-anchors.xml parsing 2017-06-22 00:36:26 +02:00
Willem Toorop a7ed88fbed Add yxml as submodule 2017-06-20 16:00:37 +02:00
Willem Toorop e496d13777 Start with getting files from user area 2017-06-20 15:38:32 +02:00
Willem Toorop b0af051809 Initialize in correct order 2017-06-20 12:20:11 +02:00
Willem Toorop 4275ea6ffa Merge branch 'develop' into hackathon/zeroconf-dnssec 2017-06-20 10:06:00 +02:00
Willem Toorop ac084db231 Don't build libtool stubby if installed directly 2017-06-19 12:19:14 +02:00
Willem Toorop 5e1cceca82 Stubby is installed from getdns_query directly 2017-06-19 12:12:09 +02:00
Willem Toorop a07290a9b0 Bugfix for parallel make install 2017-06-19 12:06:34 +02:00
Willem Toorop 9a273cf144 Get rid of superfluous struct member query_id 2017-06-15 21:24:40 +02:00
Willem Toorop 1d87437854 ERROR all outstanding netreqs whith a failed statefull upstream
Remove the currently processed netreq first, so it can be retries with another upstream/transport.
We MUST add netreq to the netreqs_by_query_id map even before we write to it, to have a reliable store of taken query ids.
2017-06-15 21:15:00 +02:00
Willem Toorop d9158e639b Clear netreq_by_query_id on upstream failure
But don't error the specific netreq then!
2017-06-15 17:21:05 +02:00
Willem Toorop e2be41d352 Don't segfault on IPv6 unavailability
Resolved issue #306?  Review needed!
Shoud upstream_failed cancel all the netreqs?
2017-06-14 15:36:53 +02:00
Willem Toorop e00100b388 s/recieve/receive/ 2017-06-09 11:24:51 +02:00
Willem Toorop 9b548a76c9 Resync with Unbound 2017-06-08 14:48:22 +02:00
Willem Toorop 878a229bea Don't test OARC servers 2017-06-08 14:06:58 +02:00
Sara Dickinson d2e8ac9e61 Change script name so it is specific for macOS (which is the new ‘official’ name for Mac OS X!)
Add the copyright statement to the stubby-setdns-macos.sh file
2017-06-07 17:00:21 +01:00
Sara Dickinson 305a6f6b6a 1) Add a stubby-setdns script (for MAC OS X only at the moment) to support Homebrew formula
2) Remove the OARC server from the default config. So now only include the servers that commit to not logging user data. Can make this clearer once we have a yaml config file.
3) Update makefile to include stubby.conf and stubby-setdns in dist tarball
2017-06-02 11:52:56 +01:00
Willem Toorop a9464993dd bugfix #286 reschedule reused listening addresses 2017-06-01 16:24:24 +02:00
Willem Toorop 8cef8b1f95 Use libtool from correct location 2017-06-01 15:32:50 +02:00
Willem Toorop c5d000b552 Merge branch 'develop' of github.com:getdnsapi/getdns into develop 2017-05-23 16:04:39 +02:00
Willem Toorop 8c27d285a8 Dependencies 2017-05-23 16:04:31 +02:00
Hoda Rohani 1e99398576 travis doesn't support ipv6? 2017-05-22 16:59:07 +02:00
Hoda Rohani 69408816b4 Merge remote-tracking branch 'origin/develop' into coverage 2017-05-22 09:48:18 +02:00
Hoda Rohani 21fe94c06e copy transport test to tpkg and extend more to check tsig
add unit test for tls connection
2017-05-18 09:30:51 +02:00
Willem Toorop 67d787d74a Merge branch 'develop' into hackathon/zeroconf-dnssec 2017-05-12 15:39:02 +02:00
Willem Toorop 3d4193fa41 Actually start building! 2017-05-10 23:04:31 +02:00
Willem Toorop 760b813333 Schedule resource depletion tpkg's sequentually 2017-05-10 23:01:57 +02:00
Hoda Rohani 053845332d adding more get functions to the tests 2017-05-10 16:47:51 +02:00
Willem Toorop 6ca0b8b481 Run tpkg tests in parallel too 2017-05-10 16:35:32 +02:00
Willem Toorop e152842573 Fail event-loops-unit-tests tpkg when tests fail 2017-05-10 14:39:59 +02:00
Willem Toorop 1eae032743 tpkg tests build in parallel 2017-05-10 14:35:01 +02:00
Willem Toorop e127365900 Parallel testing support 2017-05-10 14:10:29 +02:00