- set and get functions are added.
- Existing transport functions retained for backwards compatibility.
- Basic combinations work as before, but underlying functional changes and cleanup are not complete yet...
- Context level options for timeouts and max_transactions_per_tcp_connection coming soon...
The way that extensions are described in documentation can make it appear to a naive user that they are function names. Quoting the strings makes it clearer that they are just strings.
(it's obvious in retrospect, but I needed to look at the source to get this)
Version 0.1.7 built libgetdns.so.0 instead of libgetdns.so.1. This
broke anything depending on the package keeping the same SONAME from
0.1.6 to 0.1.7.
The problem stems from a broken libversion in upstream's configure.ac.
This is worked around in 0.1.8 by another change to GETDNS_LIBVERSION,
but the change isn't correct either, since interfaces have been added
again (in partcular, the GETDNS_TRANSPORT_TLS_* constants have been
added, which affects the API at least, for tools trying to compile
against the newer version).
Note that the commentary in configure.ac about how to update
libversion is correct up to a point, but then breaks things badly.
This patch removes that as well.
Here is the canonical reference for how to update libversion:
https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
- timeouts are not being rescheduled on fallback
- several error cases are not being handled correctly (e.g. 8.8.8.8) and a user callback is not always called
- the fallback mechanism is not generic (specific to tls to tcp)
2) Also add detection of TLS 1.2 in openssl during configure and warn that it if not available then TLS will not be available. Using TLS_ONLY in stub mode will then error with BAD_CONTEXT. TLS/TCP will fallback to TCP.
3) Explicitly disallow use of TLS_ONLY in RECURSIVE mode since it isn't supported yet. TLS/TCP will fallback to TCP.
4) Fix for MAC OS X build where openssl not linked correctly