Only attempt to load Digest::SHA

`Digest::SHA` has been a core module for a long time, and
`Digest::SHA1` has not been updated in a long time.
This commit is contained in:
Richard Hansen 2024-06-03 22:37:59 -04:00
parent 1e1e100d7f
commit 1401ff4aea
2 changed files with 10 additions and 13 deletions

View file

@ -15,6 +15,10 @@ repository history](https://github.com/ddclient/ddclient/commits/master).
[5b104ad1](https://github.com/ddclient/ddclient/commit/5b104ad116c023c3760129cab6e141f04f72b406) [5b104ad1](https://github.com/ddclient/ddclient/commit/5b104ad116c023c3760129cab6e141f04f72b406)
* All log messages are now written to STDERR, not a mix of STDOUT and STDERR. * All log messages are now written to STDERR, not a mix of STDOUT and STDERR.
[#676](https://github.com/ddclient/ddclient/pull/676) [#676](https://github.com/ddclient/ddclient/pull/676)
* For `--protocol=freedns` and `--protocol=nfsn`, the core module
`Digest::SHA` is now required. Previously, `Digest::SHA1` was used (if
available) as an alternative to `Digest::SHA`.
[#685](https://github.com/ddclient/ddclient/pull/685)
### New features ### New features

View file

@ -2600,21 +2600,14 @@ sub encode_base64 ($;$) {
## load_sha1_support ## load_sha1_support
###################################################################### ######################################################################
sub load_sha1_support { sub load_sha1_support {
my $why = shift; my ($protocol) = @_;
my $sha1_loaded = eval { require Digest::SHA1 }; eval { require Digest::SHA; } or fatal(<<"EOM");
my $sha_loaded = eval { require Digest::SHA }; Error loading the Perl module Digest::SHA needed for $protocol update.
unless ($sha1_loaded || $sha_loaded) { On Debian, the package libdigest-sha-perl must be installed.
fatal("%s", <<"EOM");
Error loading the Perl module Digest::SHA1 or Digest::SHA needed for $why update.
On Debian, the package libdigest-sha1-perl or libdigest-sha-perl must be installed.
EOM EOM
} Digest::SHA->import(qw/sha1_hex/);
if ($sha_loaded) {
Digest::SHA->import(qw/sha1_hex/);
} elsif ($sha1_loaded) {
Digest::SHA1->import(qw/sha1_hex/);
}
} }
###################################################################### ######################################################################
## load_json_support ## load_json_support
###################################################################### ######################################################################