Commit Briefs
drop #include <sys/cdefs.h> from vis.h
Doesn't seem to be available on many systems. It is also not strictly needed since we include vis.h only after headers like stdlib.h that already pulls in the type it needs.
address the strnvis(3) portability fiasco
strnvis originates on OpenBSD. When NetBSD added it to their libc they decided to swap the argument. Without starting a holy war on the "best" argument order, adding an implementation of a function that's widely available and making its signature purposefully incompatible is beyond justification. FreeBSD (and so macos too?) followed NetBSD in this, so we end up with *two* major and incompatible strnvis implementations. libbsd is in a limbo, they started with the OpenBSD version but they'll probably switch to the NetBSD version in the future. That's why we can't have nice things. Do the right thing(tm) and check for the presence of the original strnvis(3), if not available or broken use the bundled one.
unbreak config_test() when !use_privsep_crypto
The new config_test() fails miserably when the privsep crypto engine is not enabled. As a temporary workaround, forcibly disable it during config_test() as we're not going to run anyway.
try hard at loading the configuration during conftest (-n)
Attempt to do also a few more steps that were previously done only at runtime. This can help verifying that the keypairs are matching for example, but also that there are no typos in the path to the root directories. Was requested some time ago by Marian Mizik, thanks for the feature request!
add `log syslog facility' to use a different syslog(3) facility
Was requested ages ago by Karl Jeacle, now that there is some better support for configuring the logging there's no excuse to add this. It helps with filtering from syslog.d / syslog.conf.
set the default logging style back to legacy
I think the condensed is better but it'll need to change post 2.0 to accomodate for logging the number of bytes read in the body of a titan request (and it's weird to hardcode a zero there.) 2.0 will ship with the legacy logging style thus.
titan: better logging for unexpected EOFs
upon an unexpected EOF, tls_error() returns NULL, so log the real reason iomux returned -1.