diff options
author | Eric Wong <e@80x24.org> | 2023-03-07 08:47:15 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-03-07 19:12:35 +0000 |
commit | 010b3a1482c1c1c24c447e9ea4b6b24ddd4577bb (patch) | |
tree | 058628b484c43b21c34a7927d7aa51c3ac68f0be /lib/PublicInbox/SHA.pm | |
parent | 8eca0987cfbcea8b1276d9852fb26d0ddb11ed3b (diff) | |
download | public-inbox-010b3a1482c1c1c24c447e9ea4b6b24ddd4577bb.tar.gz |
In older OpenSSL, EVP_get_digestbyname() didn't work properly without calling OpenSSL_add_all_digests(), first. However, OpenSSL_add_all_digests() is deprecated by OpenSSL 1.1.0 in favor of OPENSSL_init_crypto(). Of course, OpenSSL_init_crypto() isn't available in OpenSSL 1.0.1k nor Net::SSLeay as of 1.93_02 (2023-02-22). Thus, instead of relying on string lookups and conditional subroutine calls, just call EVP_sha1() and EVP_sha256() which work on both old and new systems. Tested with Net::SSLeay 1.55 and OpenSSL 1.0.1k on on CentOS 7.x
Diffstat (limited to 'lib/PublicInbox/SHA.pm')
-rw-r--r-- | lib/PublicInbox/SHA.pm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/SHA.pm b/lib/PublicInbox/SHA.pm index da70beef..81f62618 100644 --- a/lib/PublicInbox/SHA.pm +++ b/lib/PublicInbox/SHA.pm @@ -20,8 +20,8 @@ BEGIN { unless (eval(<<'EOM')) { use Net::SSLeay 1.43; my %SHA = ( - 1 => Net::SSLeay::EVP_get_digestbyname('sha1'), - 256 => Net::SSLeay::EVP_get_digestbyname('sha256'), + 1 => Net::SSLeay::EVP_sha1(), + 256 => Net::SSLeay::EVP_sha256(), ); sub new { |