Commit Graph

2062 Commits

Author SHA1 Message Date
Willem Toorop cefeed2b47 PRIsz usage like PRIu64 etc. 2017-09-27 13:15:12 +02:00
Willem Toorop 7ac289f726 dependencies 2017-09-27 13:07:11 +02:00
Willem Toorop a7fc760141 Dependencies 2017-09-27 12:47:01 +02:00
Willem Toorop bf2e08e2df Move yaml config handling to Stubby 2017-09-27 12:45:13 +02:00
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
Hoda Rohani 6ec0f2e021 add get functions to check the values 2017-05-08 12:49:59 +02:00
Hoda Rohani 2ac13e0807 Merge pull request #302 from getdnsapi/devel/rr-types
Devel/rr types
2017-05-02 17:58:03 +02:00
Willem Toorop 1ff6771c47 Merge branch 'develop' of github.com:getdnsapi/getdns into develop 2017-05-02 17:36:41 +02:00
Willem Toorop db856f5227 Allow for simultaneous jobs
Resolves issue #166
2017-05-02 17:34:50 +02:00
Willem Toorop ed08025c38 A better approach for the Windows strdup issue 2017-05-02 17:22:06 +02:00
Willem Toorop dab93cd197 TSIG and TKEY parsing by gldns 2017-05-02 16:28:55 +02:00
Willem Toorop 1e44ea7bd8 NSAP-PTR rdata is STR after all 2017-05-02 16:10:08 +02:00
Willem Toorop 16d97b607c Add missing RR types SMIMEA and AVC
+ fix rdata of TA RR type
2017-05-02 15:54:12 +02:00
Willem Toorop 352fef644e Check for unimplemented RR types 2017-05-02 15:20:57 +02:00
Willem Toorop 37fa7a1f07 Test correct rr-types output 2017-05-02 15:08:25 +02:00
Willem Toorop dbbf778ae8 TALINK 2017-05-02 15:04:57 +02:00
Willem Toorop 4c73b5e156 EID and NIMLOC 2017-05-02 14:59:02 +02:00
Willem Toorop ad53010cd2 NSAP-PTR 2017-05-02 14:50:39 +02:00
Willem Toorop 3b465d3600 Another small bug in str2wire function 2017-05-02 14:29:47 +02:00
Willem Toorop d1d95f4955 OPENPGPKEY support 2017-05-02 14:11:45 +02:00
Willem Toorop 066ef2ddaa Fix TAG rdata type presentation format 2017-05-02 14:01:21 +02:00
Willem Toorop cc9451d364 More rr-dict coverage by removing unused funcs 2017-05-02 12:55:51 +02:00
Willem Toorop 2a6c4b35cb Fix unit tests to allow for fixed IPSECKEY 2017-05-02 12:14:20 +02:00
Willem Toorop dbc1719206 Zero sized gateways with IPSECKEY gateway_type 0 2017-05-02 11:44:47 +02:00
Hoda Rohani 80897d2b86 reorder rrs 2017-04-26 14:45:07 +02:00
Hoda Rohani 62fa69c461 Issue 108: Create a test to check all RR types 2017-04-26 14:32:30 +02:00
Hoda Rohani 6f7f6046eb Extend server capabilities with valgrind 2017-04-19 12:34:01 +02:00
Hoda Rohani 193bc618a5 Merge branch 'develop' of https://github.com/getdnsapi/getdns into develop 2017-04-19 12:09:10 +02:00
Hoda Rohani 6f3db561f3 Bugfix in converting IPs in str2dict
+ tpkg test for server capabilities
2017-04-19 12:07:55 +02:00
Willem Toorop a670606849 Rearrange doxygen into subject groups 2017-04-13 20:30:59 +02:00
Willem Toorop b4eecd59ab Merge branch 'develop' into release/1.1.0 2017-04-13 15:46:24 +02:00
Willem Toorop 02516c4079 Two last warnings 2017-04-13 15:45:59 +02:00
Willem Toorop eb8fe6184a getdnsapi.net DNS over TLS ips to match the name 2017-04-13 11:47:44 +02:00
Willem Toorop d5dcdac58c Validate tls_auth_name
Deals with issue #270
2017-04-13 11:19:22 +02:00
Willem Toorop 691d1a77e6 Fix VS Code analysis warning
Should settle issue #239
2017-04-13 10:59:20 +02:00
Hoda Rohani 6c4af3af93 unintiallized array 2017-04-13 09:44:08 +02:00
Willem Toorop 0da79ae77a Fix to compile with libressl. Thanks phicoh. 2017-04-12 23:05:17 +02:00
wtoorop 0857926965 Merge pull request #283 from wtoorop/devel/doxygen
Devel/doxygen
2017-04-12 22:53:21 +02:00
Willem Toorop 8c45f1fded All remaining doxygen documentation
Existing documentation needs to be reviewed too though...
2017-04-12 22:50:17 +02:00
Sara Dickinson 6e66754795 Nope - just add uncensored as the yeti servers would require a different trust anchor 2017-04-12 18:19:34 +01:00
Willem Toorop 2226c722a9 Extra context setters 2017-04-12 12:35:46 +02:00
Willem Toorop 68a87e4cee Event loop extension functions documentation 2017-04-12 11:21:25 +02:00
Willem Toorop 708e520989 Spelling fixes from Andreas Schulze 2017-04-11 23:33:24 +02:00
Willem Toorop a060e723f2 Doxygen documentation for everything in getdns.h 2017-04-11 23:29:33 +02:00
Sara Dickinson ce7ee62355 Should we update stubby.conf to include 2 of the new test servers? 2017-04-11 15:24:10 +01:00
Willem Toorop d28283a850 Merge remote-tracking branch 'upstream/develop' into devel/doxygen 2017-04-10 12:17:59 +02:00
Willem Toorop e6696d9557 getdns_context_unset_edns_maximum_udp_payload_size 2017-04-06 20:53:18 +02:00
Willem Toorop c9b3e3cf7b Allow cleanup of naked idle timeouts 2017-04-06 20:50:34 +02:00
Willem Toorop 2d011e3d19 Merge branch 'features/unset_max_udp_payload_sz' into release/1.1.0 2017-04-06 19:40:35 +02:00
Willem Toorop c2edc94a3a Clear timeout event when getting dnssec chain
With full recursion
2017-04-06 15:18:12 +02:00
Willem Toorop e35a2182a9 missing #include 2017-04-06 12:24:27 +02:00
Willem Toorop 4ceec33d08 Do something about TLS renegotiation. 2017-04-06 11:46:10 +02:00
Willem Toorop e08d3592a0 Schedule timeout when collecting for dnssec chain 2017-04-06 11:20:08 +02:00
Willem Toorop f8c7d8b5d5 Network request submission and callback reporting 2017-04-05 22:43:27 +02:00
Willem Toorop 2220c1a48d Options for request debugging 2017-04-05 17:53:39 +02:00
Willem Toorop 67baa1d651 getdns_context_unset_edns_maximum_udp_payload_size 2017-04-05 12:37:48 +02:00
Willem Toorop edecca8b63 smime verification of root-anchors.xml in ~/.getdns 2017-03-27 09:21:29 -05:00
wtoorop fe49bc1c69 Merge pull request #279 from dkg/feature/padding-policy
Implement sensible default padding policy.
2017-03-27 08:19:31 -05:00
Daniel Kahn Gillmor f2a90925bc getdns-query: S is no longer a valid transport label. 2017-03-26 14:38:43 -05:00
Daniel Kahn Gillmor 9de4d6537b Implement sensible default padding policy.
This commit changes the semantics of tls_query_padding_blocksize()
slightly.  Where previously both 0 and 1 meant "no padding", this
commit changes 1 to mean "pad using a sensible policy".

At NDSS 2017's DNS privacy workshop, I presented an empirical study of
DNS padding policies:

https://www.internetsociety.org/events/ndss-symposium/ndss-symposium-2017/dns-privacy-workshop-2017-programme#session3

The slide deck is here:
https://dns.cmrg.net/ndss2017-dprive-empirical-DNS-traffic-size.pdf

The resulting recommendation from the research is that a simple
padding policy is relatively cheap and still protective of metadata
when DNS traffic is encrypted:

 * queries should be padded to a multiple of 128 octets
 * responses should be padded to a multiple of 468 octets

Since getdns is only currently doing queries over tls, we only have to
implement the first part of this policy :)
2017-03-26 14:37:28 -05:00
Willem Toorop f4fe2cb6c5 Merge branch 'develop' into hackathon/zeroconf-dnssec 2017-03-26 10:46:50 -05:00
wtoorop 148dfabf88 Merge pull request #276 from huitema/develop
Fixing the select and poll event loops for Windows
2017-03-26 10:20:48 -05:00
Willem Toorop 03efb66991 Keep connections open with sync requests too 2017-03-26 10:16:25 -05:00
huitema 6f0b08a400 Fixing the select event loop so it does not give up for naked timers in Windows.
Making sure the poll event loop works on windows.
Fixing the poll event loop so it does not give up for naked timers in Windows.
2017-03-26 10:07:44 -05:00
Willem Toorop 8864dfce92 Merge branch 'develop' into hackathon/zeroconf-dnssec 2017-03-25 20:37:36 -05:00
Willem Toorop 007208a122 Merge branch 'develop' of github.com:getdnsapi/getdns into develop 2017-03-25 20:22:54 -05:00
Willem Toorop 9fa6ab5994 Clang pragma's with clang only 2017-03-25 20:22:34 -05:00
Willem Toorop b7d16e3c89 One more leak 2017-03-25 17:00:02 -05:00
Willem Toorop 6316c558bc typo 2017-03-25 21:45:08 +01:00
Willem Toorop 3eb6ebf5e4 Fix memory leak 2017-03-25 21:33:30 +01:00
Willem Toorop 5f6e47d091 Only equip with peer cert when transport is TLS 2017-03-25 21:26:05 +01:00
Willem Toorop a2efd8f6c1 Report peer certificate in call_reporting 2017-03-25 19:36:20 +01:00
Willem Toorop 767ca21bc0 Debugging for anchor management 2017-03-25 19:02:51 +01:00
Willem Toorop ed0b655af0 Update doxygen 2017-03-25 06:45:02 -05:00
Willem Toorop 15b451d71b Recommit parts of "Minor fixes in MDNS code to make sure it does work after the recent loop tightening." 2017-03-23 13:09:34 +01:00
Willem Toorop 2a496969cd Fixes for mdns 2017-03-23 12:53:44 +01:00
Willem Toorop c275b205d3 Create doxygen tagfile 2017-03-23 10:58:18 +01:00
Willem Toorop f67314c1c1 Unbound event API without header compile fix 2017-03-22 14:36:16 +01:00
Willem Toorop 426fc238da Fixes for FreeBSD warnings when compiling tests
/usr/local/include/check.h:454:75: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]
     _ck_assert_failed(__FILE__, __LINE__, "Assertion '"#expr"' failed" , ## __VA_ARGS__, NULL)
/usr/local/include/check.h:454:75: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]
2017-03-22 14:10:15 +01:00
Willem Toorop b2ac3849b7 Fxies for two NetBSD compiler warnings
ubkey-pinning.c -o pubkey-pinning.lo
./pubkey-pinning.c: In function '_getdns_verify_pinset_match':
./pubkey-pinning.c:385: warning: 'prev' may be used uninitialized in this function
IX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -c ./context.c -o context.lo
./context.c: In function '_getdns_upstream_shutdown':
./context.c:760: warning: comparison between signed and unsigned
2017-03-22 13:50:11 +01:00
Willem Toorop b48a92c8f5 Max OS-X and FreeBSD multicast portability 2017-03-22 12:33:13 +01:00
Willem Toorop a7c824c756 Update changelog and documentation 2017-03-22 11:52:07 +01:00
Willem Toorop 5d12545391 Bugfix in handling UDP backing off 2017-03-22 10:52:55 +01:00
Willem Toorop fa99b206e8 Updated readme & new groups for doxygen 2017-03-21 12:28:48 +01:00
Willem Toorop fe446a0d66 Minor fixes 2017-03-20 23:17:44 +01:00
wtoorop 52e3d2e1b0 Merge pull request #265 from saradickinson/feature/new_settings
Feature/new settings
2017-03-20 22:25:52 +01:00
Willem Toorop a5876d57fe Dependencies 2017-03-20 21:58:45 +01:00
Willem Toorop a77a335370 Comment out dead assignement
To silence static code analysis
2017-03-20 21:57:57 +01:00
Willem Toorop 24abf43de1 Fit mdns code with pending dns netreqs on EMFILE 2017-03-20 21:33:19 +01:00
Willem Toorop ed0d4d044c Merge remote-tracking branch 'upstream/develop' into features/mdns-client 2017-03-20 16:42:24 +01:00
Willem Toorop a3fe958387 Sync with unbound 2017-03-20 16:41:57 +01:00
Willem Toorop 0048066a2a Test op coding practices 2017-03-20 16:15:02 +01:00
Willem Toorop 0891e16147 Pend netreqs when out of filedescriptors 2017-03-20 15:20:17 +01:00
Willem Toorop 8b09633c94 Bug and mem-leak fix 2017-03-20 11:03:15 +01:00
Christian Huitema ed66edf52a Making sure that the project compiles on Windows when HAVE_MDNS_SUPPORT is present.
Moving the 2 additional LRU functions from mdns.c to lruhash.c
Defining the 2 additional functions in lruhash.h
2017-03-17 12:19:54 -07:00
Sara Dickinson 1cf39c9134 Typo 2017-03-17 18:33:33 +00:00
Sara Dickinson d8f4aebdee Merge branch 'feature/parallel_upstreams' into feature/new_settings 2017-03-17 17:48:52 +00:00
Sara Dickinson 915689141b Fix symbol order 2017-03-17 17:47:30 +00:00
Sara Dickinson 68eadedc10 Fix rogue bracket 2017-03-17 17:35:47 +00:00
Sara Dickinson 6f7bad5d73 Add new configuration parameters for TLS back off time and connection retries 2017-03-17 17:26:18 +00:00
Sara Dickinson dd76132a92 Implement round robin for UDP. Not sure this is the best option though. Noticed it results in more timeouts if one resolver isn't responding because it is retried more frequently. Willem - please review. 2017-03-17 17:16:14 +00:00
Sara Dickinson 1d4e3dd790 Update the name of the new option to 'round_robin_upstreams' 2017-03-17 16:53:03 +00:00
Sara Dickinson 6734a00d59 Improve the logging 2017-03-17 11:25:47 +00:00
Sara Dickinson 2a1a6768cb Add unit test and catch a typo 2017-03-16 16:26:34 +00:00
Sara Dickinson f0f3c43552 - Add a new mode where for TLS (and infact TCP too) the upstream selection simply cycles over all the upstreams rather than treating them as an ordered list and always using the first open one.
- Make IP field in debug output fixed width
- Collect all the one line config options at the top of the stubby.conf file to make it easier to read
2017-03-16 14:51:46 +00:00
Willem Toorop 5ea181172a Reschedule pending netreqs 2017-03-15 15:16:42 +01:00
Willem Toorop 14c9f3aafc Track netreqs "in flight" 2017-03-14 17:17:56 +01:00
Willem Toorop b8f43c8acd Mention the number of simultaneous queries in error (and success) 2017-03-14 15:20:56 +01:00
Willem Toorop 0655a08fa7 Unit test for set_limit_outstanding_queries 2017-03-14 15:03:43 +01:00
Willem Toorop 639239f45c Schedule dnsreqs with absolute timeout/expiry time 2017-03-13 14:20:47 +01:00
Willem Toorop 79ce0cff85 Make mdns compile on Linux 2017-03-09 14:36:20 +01:00
Willem Toorop f1968d1e2c Merge branch 'devel/ub-symbol-mapping' into features/mdns-client 2017-03-09 13:09:56 +01:00
Willem Toorop 82c92f8dc7 Better dependency rewriting 2017-03-09 13:02:05 +01:00
Willem Toorop f751de696a Import lruhash and lookup3 from unbound 2017-03-09 12:08:53 +01:00
Willem Toorop 5b5123a79d HAVE_PTHREAD instead of HAVE_PTHREADS like unbound 2017-03-09 11:46:15 +01:00
Willem Toorop 5a2ee50de3 Have a define for any debugging 2017-03-09 11:40:39 +01:00
Willem Toorop dd656b7421 More comprehensible auxiliary directory names
(in src/util)
2017-03-09 10:44:38 +01:00
Willem Toorop 0ecaf163d9 Update original source directly 2017-03-08 23:14:24 +01:00
Willem Toorop e02442eb98 Original val_secalgo files + symbol mapping 2017-03-08 23:04:52 +01:00
Willem Toorop ec685e900d Map rbtree symbols 2017-03-08 22:10:22 +01:00
Willem Toorop de1ab4c8a4 Merge branch 'develop' into huitema-develop 2017-03-06 16:07:12 +01:00
Christian Huitema 4058529081 First version of the MDNS multicast client that actually works. 2017-03-03 16:52:02 -08:00
Willem Toorop 09baade016 Print pinsets Bas64 too
+ bugfix in reading base64
+ base64 pinsets in stubby.conf
2017-02-28 07:28:18 -08:00
Willem Toorop 6a9e2f4a56 Base64 primitive in json input 2017-02-27 16:22:52 -08:00
Willem Toorop bbd2fb8cf0 Although safe, a bit scary 2017-02-27 14:30:44 -08:00
Christian Huitema 03307a7b71 Code almost complete for the MDNS multicast + cache.
Of course, we still need a lot of testing.
2017-02-23 17:55:31 -08:00
Sara Dickinson 7c8605c3b1 And fix the whitespace... 2017-02-23 17:03:00 +00:00
Sara Dickinson f71dd2bf71 Re-order so checks pass! 2017-02-23 16:50:29 +00:00
Sara Dickinson ebdf657fd7 Change pins for IPv6 addresses for Sinodun privacy servers!
Improve logging of auth failure
2017-02-23 16:48:16 +00:00
Sara Dickinson ff4ecd5b39 Couple of extra output messages so Stubby users in strict mode know why the authentication failed 2017-02-23 15:38:45 +00:00
Sara Dickinson 1b7aef5a88 Add a new GETDNS_RETURN code for the case where no upstream is considered valid and hence a query cannot even be scheduled. Only applies when using purely stateful transports. This can happen when using Stubby if there are problems with connections to upstreams. 2017-02-23 14:49:17 +00:00
Sara Dickinson 356408955d Update the SPKI pin in the stubby.conf file for the Sinodun/Surfnet servers. 2017-02-23 13:55:43 +00:00
Sara Dickinson 09df4e2d5d Fix spacing error in stubby help output 2017-02-23 13:55:43 +00:00
Willem Toorop 4b6962cd9a Use __FUNC__ instead of function for protability
It is #defined to __FUNCTION__ or to __func__ depending on what configure detected.
2017-02-19 09:55:10 +01:00
Willem Toorop b3a06f1944 A bit more consistency in user_callback usage 2017-02-19 09:47:41 +01:00
Willem Toorop 8fccd66813 cancel_outstanding_requests by transaction_id
to prevent double frees as side effect of getdns_dns_req being canceled by user callbacks.
2017-02-19 09:39:10 +01:00
Willem Toorop ba7dfbeec0 Misplaced event clear in stub.c 2017-02-18 15:56:06 +01:00
Willem Toorop 74b1f77357 Cancel get validation chain getdns_dns_reqs
And miscellaneous little other scheduling fixes and optimizations
2017-02-18 13:16:25 +01:00
Willem Toorop a453678094 Debug the call to poll 2017-02-18 10:07:04 +01:00
Willem Toorop 7e9956b19e Call cancel callbacks only when callback exists 2017-02-17 23:39:35 +01:00
Willem Toorop 6ed3d77523 Cancel child validation chain dns_reqs on ...
parent dns_req cancelation.
2017-02-17 23:35:50 +01:00
Willem Toorop 990800d9f9 Bugfix poll_eventloop initialization error 2017-02-17 13:16:06 +01:00
Willem Toorop df45a2f1c7 Dependencies 2017-02-16 23:03:31 +01:00
Willem Toorop 91dd991348 Cancel requests without callback 2017-02-16 22:55:15 +01:00
Willem Toorop a6859a08d3 Remove getrlimit from poll_eventloop
No use to check for this limit, because the filedescriptor is already open.
2017-02-16 22:48:16 +01:00
Willem Toorop d20bbde25e Fixed time allocation and free for fd_events 2017-02-16 22:41:37 +01:00
Willem Toorop f6d46689b6 Fixed time allocation and free for to_events 2017-02-16 16:26:41 +01:00
Willem Toorop 2d35993c83 Timeout events in array 2017-02-16 15:22:57 +01:00
Willem Toorop e87e907128 Constants for Edward Curves 2017-02-16 11:01:48 +01:00
wtoorop 17a5a5db92 Merge pull request #258 from wtoorop/devel/_vfixed_gbuffers
A special bit for the snprintf style modus operandi of fixed gldns gbuffer's
2017-02-16 10:51:20 +01:00
Willem Toorop 445470d831 Rename a gldns function 2017-02-16 10:32:17 +01:00