Monday, August 06, 2018
It seems that checking the TLS API version number is useless
I've pretty much finished the Lua TLS module and before releasing it,
I thought it might be nice to ensure it compiles with previous versions of libtls.
The main header file contains the defined value TLS_API,
which I assume is updated whenever the API is updated.
So I began the arduous procedure of downloading previous versions of libtls to ensure I can compile against any version.
I started with LibreSSL version 2.7.4
(current when I started—they are now up to 2.8.0 as I write this).
The defined value TLS_API had a value of “20180210”.
I checked version 2.7.0 and no change in libtls.
It wasn't until I got into the pre-2.7 versions that things started going south.
The previous version of TLS_API,
“20170126”,
was first defined in 2.5.1,
and last used in 2.6.5.
But the API changed quite a bit between versions 2.5.1 and 2.6.5.
Five functions were added:
tls_config_set_crl_file()tls_config_set_crl_mem()tls_config_set_ecdhecurves()tls_peer_cert_chain_pem()tls_unload_file()
What's the point of having a defined value like TLS_API if it doesn't change when you add new functions?
Fortunately,
the defined value LIBRESSL_VERSION_NUMBER is updated per version,
so at least I can use that.
Sigh.
![Oh Chrismtas Tree! My Christmas Tree! Rise up and hear the bells! [Self-portrait with a Christmas Tree] Oh Chrismtas Tree! My Christmas Tree! Rise up and hear the bells!](https://www.conman.org/people/spc/about/2025/1203.t.jpg)