Commit Graph

110 Commits

Author SHA1 Message Date
Willem Toorop fe79e7e633 Bump version 2021-05-26 23:29:44 +02:00
Willem Toorop eeb460af8d Merge branch 'develop' of github.com:getdnsapi/getdns into develop 2021-05-26 16:06:30 +02:00
Willem Toorop 515127289c Merge branch 'tcp-send-timeout' of https://github.com/maciejsszmigiero/getdns into maciejsszmigiero-tcp-send-timeout 2021-05-26 15:56:55 +02:00
Willem Toorop ae090a29b1
Merge pull request #482 from neheb/patch-1
val_secalgo: add missing DSA header
2021-05-26 15:48:10 +02:00
Willem Toorop 55be327f69 Fix wrong extension names from merge 2021-05-26 15:42:35 +02:00
Willem Toorop 3966459fdb Merge branch 'feature/installdlls' of https://github.com/banburybill/getdns into banburybill-feature/installdlls 2021-05-26 15:12:59 +02:00
Willem Toorop c1b6903e58
Merge pull request #472 from cohall-2020/develop
Skip check_c_source_runs when cross-compiling.
2021-05-26 11:21:43 +02:00
Willem Toorop 8abc3b62b8
Merge pull request #468 from renaudallard/develop
Added checks for LibreSSL and OpenBSD
2021-05-26 11:18:20 +02:00
Jan Vcelak 03fc32984e build: fix naming of extension libraries 2020-10-05 12:23:27 +02:00
Rosen Penev 80cdfb3bd0
fix compilation without deprecated OpenSSL APIs
Several cmake header checks were missing and added.

Added rsa.h include.

Remove ENGINE_load_dynamic. ENGINE_load_builtin_engines already does
this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-08-04 19:54:18 -07:00
Maciej S. Szmigiero 606a88f9aa
Add "tcp_send_timeout" option to set a TCP send data timeout
When using Stubby as a system DNS over TLS resolver with a Internet
connection that disconnects and reconnects from time to time there is often
a long waiting time (~20 minutes) after the connection reconnects before
DNS queries start to work again.

This is because in this particular case all the upstream TLS TCP
connections in Stubby are stuck waiting for upstream server response.
Which will never arrive since the host external IP address might have
changed and / or NAT router connection tracking entries for these TCP
connections might have been removed when the Internet connection
reconnected.

By default Linux tries to retransmit data on a TCP connection 15 times
before finally terminating it.
This takes 16 - 20 minutes, which is obviously a very long time to wait for
system DNS resolving to work again.
This is a real problem on weak mobile connections.

Thankfully, there is a "TCP_USER_TIMEOUT" per-socket option that allows
explicitly setting how long the network stack will wait in such cases.

Let's add a matching "tcp_send_timeout" option to getdns that allows
setting this option on outgoing TCP sockets.
For backward compatibility the code won't try to set it by default.

With this option set to, for example, 15 seconds Stubby recovers pretty
much instantly in such cases.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2020-07-13 00:21:16 +02:00
Jim Hague c9072b2526 Add system libraries when checking OpenSSL functions.
If OpenSSL is a static library, linking the test programs will require
system libraries.
2020-06-24 22:07:29 +01:00
Jim Hague 1c97459ec3 Install the DLLs when installing on Windows. 2020-06-24 14:36:30 +01:00
Roger Shimizu 7c6188c53d Fix install path for cmake build since we use GNUInstallDirs
So we use install path below since cmake v3.0 [1]:
 - CMAKE_INSTALL_LIBDIR
 - CMAKE_INSTALL_INCLUDEDIR

[1] https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
2020-05-27 00:30:33 +09:00
cohall-2020 320dd098a8
Update CMakeLists.txt 2020-04-28 23:56:40 +02:00
Renaud Allard 31031d7c57 Added checks for LibreSSL and OpenBSD 2020-03-24 14:14:39 +01:00
Jim Hague f01e7188c8 CMake libunbound fixups.
1. ub_ctx_set_stub is in unbound.h, not unbound-events.h.
2. Only bother looking for unbound event API if enabled.
3. If building stub only, ensure all libunbound items are off. This is necessary in case we first configure without stub only, and then change to stub only.

Fixes #463
2020-03-04 09:45:52 +00:00
Willem Toorop 1b3f570792 Bump version for release 2020-02-28 15:39:53 +01:00
Jim Hague ab49db8aa5 Tighten Nettle version checking, and fix build issue with Nettle >= 3.4.
Nettle 3.4 introduced accessor functions for obtaining nettle_secp_256r1 and nettle_secp_384r1. Use them if present.

Fixes #458
2020-02-25 13:30:25 +00:00
Willem Toorop e3fbe4fb51 getdns-1.6.0-rc.1 2020-02-21 14:21:12 +01:00
Willem Toorop dadddb0d7b Detect if __func__ can be used with debugging 2020-02-20 21:09:17 +01:00
Willem Toorop 4453febf2d Build eventloop support libraries by default
Resolves issue #169
2020-02-20 20:25:35 +01:00
Willem Toorop a6a2695fee Update stubby release & Changelog 2019-12-20 14:02:23 +01:00
Willem Toorop 24824bb413 Not string.h but strings.h! 2019-12-20 11:23:45 +00:00
Willem Toorop 2cc4865b14
Merge pull request #451 from getdnsapi/feature/readme-polish
Feature/readme polish
2019-12-18 15:02:07 +01:00
Willem Toorop f701af7508 Remove INSTALL from CMakeLists.txt too 2019-12-18 14:53:26 +01:00
Willem Toorop 6b1ba31334 Switch to semvers 2.0 2019-12-18 12:29:21 +01:00
Willem Toorop 293011c27f Bump version + move CodeStyle to project-doc 2019-12-16 13:47:14 +01:00
Willem Toorop 17d5627529 Make TCP_FASTOPEN work again for linux and FreeBSD 2019-12-13 16:18:53 +01:00
Sara Dickinson d92a91e771 Fix up unit tests for all the event loops.
Various housekeeping
2019-11-29 10:50:49 +00:00
Sara Dickinson 0fc75dfbaf Work around issue in cmake (after 3.5 but fixed in 3.12) where object libraries could not be used with target_link_library().
Tweak libcheck/windows logic.

Hacks to make tests pass with strange bionic system resolver behaviour
Add to README that xenial doesn’t have libunbound-dev 1.5.9 packaged
2019-11-28 16:22:45 +00:00
Sara Dickinson b455c3feca If we want to use only libidn2 then we need to move to bionic for the travis build (the libidn2 package for xenial is too old!). So update the travis build for this.
Fix the default mode for STUB_ONLY build for Windows vs linux
2019-11-18 16:59:29 +00:00
Sara Dickinson 38f59b7bea Remove libidn support
More updates to README
2019-11-18 14:05:50 +00:00
Sara Dickinson 323e6a6ba6 Update submodules and fix issue with loading local hosts 2019-11-15 14:29:33 +00:00
Sara Dickinson 80b0c7a45e Add missing compile flags so JSON parsing of listen_addresses works!!!! 2019-11-14 17:43:26 +00:00
Sara Dickinson 8b3e3412f5 Merge branch 'feature/cmake' of https://github.com/getdnsapi/getdns into feature/cmake_testfix 2019-11-14 12:38:15 +00:00
Sara Dickinson ffbc49cc2d Get all of the tests run by ‘run-all.sh’ working apart from those that require valgrind…….
update stubby commit and ymlx commit to remove build warnings
2019-11-14 11:36:18 +00:00
Jim Hague 277a4ae9c7 Add test for new libuv callback styles.
This fixes a build warning on Mac.
2019-11-13 18:07:31 +00:00
Jim Hague 7a1e72d51e Increase minimum libunbound version to 1.5.9 to get pluggable event handling.
At Willem's suggestion.
2019-11-01 12:10:52 +00:00
Jim Hague 0e432cc7c2 Add option to build Doxygen.
This requires a change to the Doxyfile. I can't see a way to avoid this.
2019-10-31 13:41:04 +00:00
Jim Hague ba54c50779 Add options to build the example programs. 2019-10-31 12:59:28 +00:00
Jim Hague 07a074c1b1 Add binary build dir as include interface for the getdns libraries.
Any library user will need that to find the getdns header files.
2019-10-30 18:12:23 +00:00
Jim Hague a46ded25b6 Implement enabling and checking for TCP Fast Open. 2019-10-30 17:21:25 +00:00
Jim Hague ffa5d6144f Add manual enable/disable of the poll event loop.
And fix the detection of poll().
2019-10-30 14:40:11 +00:00
Jim Hague cbed43ed59 Add ENABLE_EDNS_COOKIES. 2019-10-30 14:09:13 +00:00
Jim Hague c75d8df399 Remove obsolete comment. 2019-10-30 14:02:49 +00:00
Jim Hague 74d9404759 FIrst pass at GnuTLS support. 2019-10-30 14:02:32 +00:00
Jim Hague b0ef0887db Add libunbound dependencies where necessary.
I think it's only needed for getdns_query and getdns_server_mon because it gets included in config.h, of all places.
2019-10-29 16:53:19 +00:00
Jim Hague bb59275ba9 More Windows system libraries. These are used by libuv. 2019-10-29 15:46:04 +00:00
Jim Hague 4af076f5fb Ensure include directories for external libraries are on the path. 2019-10-29 15:38:54 +00:00