librelp 1.4.0 [download]
This new release of librelp is mostly for bugfixing. The most important change is that openssl and gnutls are now both enabled by default and can be used on an as-needed basis.
For more details, please take a look at the changelog below.
Version 1.4.0 – 2019-03-05
NOTE TO PACKAGERS:
Both openssl and GnuTLS are now enabled by default. This is to
enable apps to choice which of the two drivers they want to use.
If you want to disable one or both of the drivers, use
–disable-tls to disable GnuTLS (option name is historic)
–disable-tls-openssl to disable openssl
– build system: enable openssl by default, this means both TLS drivers
are now build by default
– support that both GnuTLS and openssl TLS drivers are active together
This permits the caller to select which one to use via a NEW API
relpEngineSetTLSLibByName() and relpEngineSetTLSLib().
– portability: use GCC __attribute__ only where supported
– bugfix: build problem when HAVE_STRERROR_R is undefined
Thanks to Paul Cameron for the fix.
– bugfix: openssl driver did not properly handle retries when sending
Every TLS library can request i/o call retry if in non-blocking mode.
When sending, the openssl driver did not properly handle this.
Note: the GnuTLS driver was not affected by this bug.
– bugfix: in openssl mode, cert name validation did not work properly
– bugfix: invalid handling of connection fail could lead to abort
… or more precisely to SIGPIPE on the sender app. What exactly happens
in that case depends on SIGPIPE handling in the sender. This is of course
not acceptable or desired behaviour. This patch fixes it.
This commit also includes testbench improvements, especially in regard
to support easier diagnostic of such cases.
– tests: make dummyclient.py compatible with Python2 and Python3
Thanks to whissi for the patch.
– a couple of minor and cosmetic nitfixes, improvements and cleanup