noxxi / p5-io-socket-ssl

IO::Socket::SSL Perl Module
36 stars 59 forks source link

non-existent function Net::SSLeay::SSL_alert_desc_string_long called in ossl_trace #132

Closed pjuhasz closed 1 year ago

pjuhasz commented 1 year ago

At $work, an application that uses SSL sockets began to crash with the following error message after a system upgrade:

Can't locate auto/Net/SSLeay/SSL_alert_d.al in @INC (@INC contains: /usr/bin/../../lib /usr/bin/.. /usr/bin/../.. /usr/bin/../lib /usr/local/lib64/perl5/5.36 /usr/local/share/perl5/5.36 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 3685.

The offending line, which was introduced in IO::Socket::SSL 2.076, is this:

            $msg_name = eval { Net::SSLeay::SSL_alert_desc_string_long($msg_type) } || "Unknown alert";

However, Net::SSLeay's documentation states that the SSL prefix should be stripped from the function name: [https://metacpan.org/dist/Net-SSLeay/view/lib/Net/SSLeay.pod#Low-level-API:-ERR-and-SSLalert-related-functions](https://metacpan.org/dist/Net-SSLeay/view/lib/Net/SSLeay.pod#Low-level-API:-ERR_*-and-SSL_alert_*-related-functions)

So presumably it should be Net::SSLeay::alert_desc_string_long($msg_type).

noxxi commented 1 year ago

Thanks for reporting. This is fixed in ae234e4