Subject: | no NPN in LibreSSL, again |
LibreSSL has removed support for NPN and the first idea was to set
OPENSSL_NO_NEXTPROTONEG to make this information available.
Unfortunately OpenSSL has never set this define and all kind of
programs break in different ways when compiled with this. So LibreSSL
had to remove the OPENSSL_NO_NEXTPROTONEG define again.
This gets us back to the situation that Net::SSLeay is exporting the
NPN symbols although they do not work. Then IO::Socket::SSL is confused.
I see two possible ways to fix this:
1. Replace the non-working !defined(OPENSSL_NO_NEXTPROTONEG) with a
check for TLSEXT_TYPE_next_proto_neg. According to the LibreSSL
Developers this should also work with all OpenSSL versions.
2. Add a !defined(LIBRESSL_VERSION_NUMBER) to the existing check to
explicitly disable NPN for LibreSSL.
I have attached patches for both versions. Choose yourself what matches
the style of your module better.
Subject: | patch-SSLeay_xs-NO_NPN |
Message body not shown because it is not plain text.
Subject: | patch-SSLeay_xs-TYPE_NPN |
Message body not shown because it is not plain text.