ddclient protocol freedns cannot load Digest::Sha1 sha1_hex()

Bug #1228766 reported by Steve Dum
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ddclient (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

With Ubuntu 13.04 libdigest-sha1-perl no longer exists. Instead the package libdigest-hmac-perl provides the routine sha1_hex.
This is also true for 12.10 (and possibly 12.04). The following patch will handle the changes and remain backward compatible.
diff 3.8.1/ddclient 3.8.1patched/ddclient
1781a1787,1792
> if ($sha1_loaded) {
> import Digest::SHA1 (qw/sha1_hex/);
> } else {
> $sha1_loaded = eval { require Digest::SHA};
> import Digest::SHA (qw/sha1_hex/) if $sha1_loaded;
> }
1785c1796
< On Debian, the package libdigest-sha1-perl must be installed.
---
> On Debian, the package libdigest-sha1-perl or libdigest-hmac-perl must be installed.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ddclient (Ubuntu):
status: New → Confirmed
Revision history for this message
Marc Pignat (swid) wrote :

13.10 daily build is still affected.

The fix is in upstream trunk (load Digest::SHA1 or Digest::SHA)
Can you please import it?

Thank you in advance

Best regards

Marc

Revision history for this message
angela_schmid (angela-schmid) wrote :

And still the issue exists in Ubuntu 14.04.

Preparing to unpack .../ddclient_3.8.1-1ubuntu2_all.deb ...
Unpacking ddclient (3.8.1-1ubuntu2) ...
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for ureadahead (0.100.0-16) ...
ureadahead will be reprofiled on next reboot
Setting up ddclient (3.8.1-1ubuntu2) ...
update-rc.d: warning: stop runlevel arguments (1) do not match ddclient Default-Stop values (0 1 6)
FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL: On Debian, the package libdigest-sha1-perl must be installed.

Revision history for this message
angela_schmid (angela-schmid) wrote :

Had to change ddclient:

sub load_sha1_support {
    my $sha1_loaded = eval {require Digest::SHA};
    unless ($sha1_loaded) {
        fatal(<<"EOM");
Error loading the Perl module Digest::SHA1 needed for freedns update.
On Debian, the package libdigest-sha1-perl must be installed.
EOM
    }
    import Digest::SHA (qw/sha1_hex/);
}

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.