diff --git a/ChangeLog.md b/ChangeLog.md index f376ad9..6ac8d0c 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -15,6 +15,10 @@ repository history](https://github.com/ddclient/ddclient/commits/master). [5b104ad1](https://github.com/ddclient/ddclient/commit/5b104ad116c023c3760129cab6e141f04f72b406) * All log messages are now written to STDERR, not a mix of STDOUT and STDERR. [#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 diff --git a/ddclient.in b/ddclient.in index 51ce3f9..b758420 100755 --- a/ddclient.in +++ b/ddclient.in @@ -2600,21 +2600,14 @@ sub encode_base64 ($;$) { ## load_sha1_support ###################################################################### sub load_sha1_support { - my $why = shift; - my $sha1_loaded = eval { require Digest::SHA1 }; - my $sha_loaded = eval { require Digest::SHA }; - unless ($sha1_loaded || $sha_loaded) { - 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. + my ($protocol) = @_; + eval { require Digest::SHA; } or fatal(<<"EOM"); +Error loading the Perl module Digest::SHA needed for $protocol update. +On Debian, the package libdigest-sha-perl must be installed. EOM - } - if ($sha_loaded) { - Digest::SHA->import(qw/sha1_hex/); - } elsif ($sha1_loaded) { - Digest::SHA1->import(qw/sha1_hex/); - } + Digest::SHA->import(qw/sha1_hex/); } + ###################################################################### ## load_json_support ######################################################################