From: Dominic Hargreaves <dom@earth.li>
Date: Sun, 30 Dec 2012 15:38:53 +0000
Subject: [PATCH] Replace Digest::SHA1 with Digest::SHA

Debian no longer ships Digest::SHA1, and Digest::SHA is a core
module starting with perl 5.10.

Bug-Debian: http://bugs.debian.org/694476
---
 lib/MT.pm            |    4 ++--
 lib/MT/App/Wizard.pm |    4 ++--
 lib/MT/AtomServer.pm |    4 ++--
 lib/MT/CMS/Blog.pm   |    2 +-
 lib/MT/L10N/de.pm    |    4 ++--
 lib/MT/L10N/es.pm    |    4 ++--
 lib/MT/L10N/fr.pm    |    4 ++--
 lib/MT/L10N/ja.pm    |    4 ++--
 lib/MT/L10N/nl.pm    |    4 ++--
 mt-check.cgi         |    4 ++--
 10 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/lib/MT.pm b/lib/MT.pm
index e88159d..4eb8a71 100644
--- a/lib/MT.pm
+++ b/lib/MT.pm
@@ -2733,7 +2733,7 @@ sub _commenter_auth_params {
 }
 
 sub _openid_commenter_condition {
-    eval { require Digest::SHA1; };
+    eval { require Digest::SHA; };
     return $@ ? 0 : 1;
 }
 
@@ -2775,7 +2775,7 @@ sub core_commenter_authenticators {
             class      => 'MT::Auth::GoogleOpenId',
             login_form => 'comment/auth_googleopenid.tmpl',
             condition  => sub {
-                eval { require Digest::SHA1; require Crypt::SSLeay; };
+                eval { require Digest::SHA; require Crypt::SSLeay; };
                 return 0 if $@;
                 return 1;
             },
diff --git a/lib/MT/App/Wizard.pm b/lib/MT/App/Wizard.pm
index deb8570..40c8cc6 100644
--- a/lib/MT/App/Wizard.pm
+++ b/lib/MT/App/Wizard.pm
@@ -257,8 +257,8 @@ sub init_core_registry {
                 label =>
                     'This module and its dependencies are required in order to restore from a backup.',
             },
-            'Digest::SHA1' => {
-                link => 'http://search.cpan.org/dist/Digest-SHA1',
+            'Digest::SHA' => {
+                link => 'http://search.cpan.org/dist/Digest-SHA',
                 label =>
                     'This module and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.',
             },
diff --git a/lib/MT/AtomServer.pm b/lib/MT/AtomServer.pm
index 4e2fd54..9d1038f 100644
--- a/lib/MT/AtomServer.pm
+++ b/lib/MT/AtomServer.pm
@@ -11,7 +11,7 @@ use XML::Atom;
 use XML::Atom::Util qw( first textValue );
 use base qw( MT::App );
 use MIME::Base64 ();
-use Digest::SHA1 ();
+use Digest::SHA ();
 use MT::Atom;
 use MT::Util qw( encode_xml );
 use MT::Author;
@@ -199,7 +199,7 @@ sub authenticate {
         return $app->auth_failure( 403, 'X-WSSE UsernameToken timed out' );
     }
     $auth->{Nonce} = MIME::Base64::decode_base64( $auth->{Nonce} );
-    my $expected = Digest::SHA1::sha1_base64(
+    my $expected = Digest::SHA::sha1_base64(
         $auth->{Nonce} . $auth->{Created} . $user->api_password );
 
     # Some base64 implementors do it wrong and don't put the =
diff --git a/lib/MT/CMS/Blog.pm b/lib/MT/CMS/Blog.pm
index 5b65abf..cb7960c 100644
--- a/lib/MT/CMS/Blog.pm
+++ b/lib/MT/CMS/Blog.pm
@@ -481,7 +481,7 @@ sub cfg_registration {
     return $app->permission_denied()
         unless $app->can_do('edit_config');
 
-    eval { require Digest::SHA1; };
+    eval { require Digest::SHA; };
     my $openid_available = $@ ? 0 : 1;
 
     my %param = ();
diff --git a/lib/MT/L10N/de.pm b/lib/MT/L10N/de.pm
index 79e99a8..5be72af 100644
--- a/lib/MT/L10N/de.pm
+++ b/lib/MT/L10N/de.pm
@@ -194,7 +194,7 @@ use vars qw( @ISA %Lexicon );
 	'IO::Uncompress::Gunzip is required in order to decompress files in backup/restore operation.' => 'IO::Compress::Gunzip ist zum Entpacken von Dateien bei Sicherungs- und Wiederherstellungs-Vorgängen erforderlich.',
 	'Archive::Zip is required in order to archive files in backup/restore operation.' => 'Archive::Zip ist zur Nutzung von Archiven bei Sicherungs-und Wiederherstellungs-Vorgängen erforderlich.',
 	'XML::SAX and its dependencies are required in order to restore a backup created in a backup/restore operation.' => 'XML::SAX und/oder seine Abhhängigkeiten sind für Wiederherstellungs-Vorgänge erforderlich.',
-	'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA1 und seine Abhängigkeiten sind zur Authentifizierung mittels OpenID (einschließlich LiveJournal) eroforderlich.',
+	'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA und seine Abhängigkeiten sind zur Authentifizierung mittels OpenID (einschließlich LiveJournal) eroforderlich.',
 	'Mail::Sendmail is required in order to send mail via an SMTP Server.' => 'Mail::Sendmail ist zum Versand von E-Mail über SMTP-Server erforderlich.',
 	'This module is used in a test attribute for the MTIf conditional tag.' => 'Dieses Modul ist für ein test-Attribut des MTIf-Befehls erforderlich.',
 	'This module is used by the Markdown text filter.' => 'Dieses Modul ist für den Markdown-Textfilter erforderlich.',
@@ -3200,7 +3200,7 @@ use vars qw( @ISA %Lexicon );
 	'(No role selected)' => '(Keine Rolle gewählt)',
 	'Select roles' => 'Rollen awählen',
 	'Authentication Methods' => 'Authentifizierungs- methoden',
-	'The Perl module required for OpenID commenter authentication (Digest::SHA1) is missing.' => 'Das zur OpenID-Authentifizierung erforderliche Perl-Modul Digest::SHA1 fehlt.',
+	'The Perl module required for OpenID commenter authentication (Digest::SHA) is missing.' => 'Das zur OpenID-Authentifizierung erforderliche Perl-Modul Digest::SHA fehlt.',
 	'Please select authentication methods to accept comments.' => 'Wählen Sie, auf welche Weise sich Kommentar-Autoren authentifizieren können sollen.',
 	'Require E-mail Address for Comments via TypePad' => 'Für über TypePad eingehende Kommentare E-Mail-Adresse des Autors verlangen',
 	'Visitors must allow their TypePad account to share their e-mail address when commenting.' => 'Zur Anmeldung über TypePad muss das TypePad-Benutzerkonto so konfiguriert sein, daß es die E-Mail-Adresse des Autors übermittelt.',
diff --git a/lib/MT/L10N/es.pm b/lib/MT/L10N/es.pm
index 3cf7bed..a4d79a9 100644
--- a/lib/MT/L10N/es.pm
+++ b/lib/MT/L10N/es.pm
@@ -194,7 +194,7 @@ use vars qw( @ISA %Lexicon );
 	'IO::Uncompress::Gunzip is required in order to decompress files in backup/restore operation.' => 'IO::Uncompress::Gunzip es necesario para descomprimir los ficheros en las operaciones de copia de respaldo/restauración.',
 	'Archive::Zip is required in order to archive files in backup/restore operation.' => 'Archive::Zip es necesario para archivar los ficheros en las operaciones de copia de respaldo/restauración.',
 	'XML::SAX and its dependencies are required in order to restore a backup created in a backup/restore operation.' => 'XML::SAX y/o sus dependencias son necesarias para las operaciones de copia de respaldo/restauración.',
-	'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA1 y sus dependencias son necesarias para que los comentaristas se autentifiquen mediante proveedores OpenID, incluyendo LiveJournal.',
+	'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA y sus dependencias son necesarias para que los comentaristas se autentifiquen mediante proveedores OpenID, incluyendo LiveJournal.',
 	'Mail::Sendmail is required in order to send mail via an SMTP Server.' => 'Mail::Sendmail es necesario para enviar correo mediante un servidor SMTP.',
 	'This module is used in a test attribute for the MTIf conditional tag.' => 'La etiqueta condicional MTIf utiliza este módulo en un atributo de comprobación.',
 	'This module is used by the Markdown text filter.' => 'El filtro de textos Markdown utiliza este módulo.',
@@ -3202,7 +3202,7 @@ que la dirección provista es correcta y le pertenece.',
 	'(No role selected)' => '(Sin rol seleccionado',
 	'Select roles' => 'Seleccionar roles',
 	'Authentication Methods' => 'Métodos de autentificación',
-	'The Perl module required for OpenID commenter authentication (Digest::SHA1) is missing.' => 'El módulo de Perl necesario para la autentificación de comentaristas mendiante OpenID (Digest::SHA1) no está instalado.',
+	'The Perl module required for OpenID commenter authentication (Digest::SHA) is missing.' => 'El módulo de Perl necesario para la autentificación de comentaristas mendiante OpenID (Digest::SHA) no está instalado.',
 	'Please select authentication methods to accept comments.' => 'Por favor, seleccione los métodos de autentificación para aceptar comentarios.',
 	'Require E-mail Address for Comments via TypePad' => 'Requerir la dirección de correo de los comentarios a través de TypePad',
 	'Visitors must allow their TypePad account to share their e-mail address when commenting.' => 'Los visitantes deben permitir a su cuenta de TypePad compartir la dirección de correo al comentar.',
diff --git a/lib/MT/L10N/fr.pm b/lib/MT/L10N/fr.pm
index 39c47a9..7397a5b 100644
--- a/lib/MT/L10N/fr.pm
+++ b/lib/MT/L10N/fr.pm
@@ -194,7 +194,7 @@ use vars qw( @ISA %Lexicon );
 	'IO::Uncompress::Gunzip is required in order to decompress files in backup/restore operation.' => 'IO::Uncompress::Gunzip est nécessaire afin de décompresser les fichiers lors des opérations de sauvegarde et de restauration.',
 	'Archive::Zip is required in order to archive files in backup/restore operation.' => 'Archive::Zip est nécessaire afin d\'archiver les fichiers lors des opérations de sauvegarde et de restauration.',
 	'XML::SAX and its dependencies are required in order to restore a backup created in a backup/restore operation.' => 'XML::SAX et ses dépendances sont nécessaires lors des opérations de restauration.',
-	'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA1 et ses dépendances sont requises afin de permettre aux auteurs de commentaire d\'être identifiés en utilisant les fournisseurs OpenID, comme LiveJournal.',
+	'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA et ses dépendances sont requises afin de permettre aux auteurs de commentaire d\'être identifiés en utilisant les fournisseurs OpenID, comme LiveJournal.',
 	'Mail::Sendmail is required in order to send mail via an SMTP Server.' => 'Mail::Sendmail est nécessaire afin d\'envoyer des e-mails via un serveur SMTP.',
 	'This module is used in a test attribute for the MTIf conditional tag.' => 'Ce module est utilisé dans attribut de test pour la balise conditionnelle MTIf.',
 	'This module is used by the Markdown text filter.' => 'Ce module est utilisé par le filtre de texte Markdown',
@@ -3207,7 +3207,7 @@ use vars qw( @ISA %Lexicon );
 	'(No role selected)' => '(aucun role sélectionné)',
 	'Select roles' => 'Sélectionnez des rôles',
 	q{Authentication Methods} => q{Méthode d'authentification},
-	q{The Perl module required for OpenID commenter authentication (Digest::SHA1) is missing.} => q{Le module Perl nécessaire pour l'authentification OpenID (Digest::SHA1) est manquant.},
+	q{The Perl module required for OpenID commenter authentication (Digest::SHA) is missing.} => q{Le module Perl nécessaire pour l'authentification OpenID (Digest::SHA) est manquant.},
 	q{Please select authentication methods to accept comments.} => q{Veuillez sélectionner les méthodes d'authorisation acceptées pour les commentaires.},
 	'Require E-mail Address for Comments via TypePad' => 'Demander une adresse e-mail pour les commentaires via TypePad',
 	q{Visitors must allow their TypePad account to share their e-mail address when commenting.} => q{Les visiteurs doivent autoriser leur compte TypePad à partager leur adresse e-mail lorsqu'ils commentent.},
diff --git a/lib/MT/L10N/ja.pm b/lib/MT/L10N/ja.pm
index 3fa958d..6aa67f7 100644
--- a/lib/MT/L10N/ja.pm
+++ b/lib/MT/L10N/ja.pm
@@ -191,7 +191,7 @@ use vars qw( @ISA %Lexicon );
 	'IO::Uncompress::Gunzip is required in order to decompress files in backup/restore operation.' => 'IO::Uncompress::Gunzipのインストールは必須ではありません。バックアップと復元で圧縮の機能を利用する場合に必要となります。',
 	'Archive::Zip is required in order to archive files in backup/restore operation.' => 'Archive::Zipのインストールは必須ではありません。バックアップと復元で圧縮の機能を利用する場合に必要となります。',
 	'XML::SAX and its dependencies are required in order to restore a backup created in a backup/restore operation.' => 'XML::SAXは復元の機能を利用する場合に必要となります。',
-	'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA1のインストールは必須ではありませんが、LiveJournal、あるいはOpenIDでコメント投稿者を認証するために必要になります。',
+	'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHAのインストールは必須ではありませんが、LiveJournal、あるいはOpenIDでコメント投稿者を認証するために必要になります。',
 	'Mail::Sendmail is required in order to send mail via an SMTP Server.' => 'Mail::SendmailはSMTPサーバーを経由してメールを送信する場合に必要となります。',
 	'This module is used in a test attribute for the MTIf conditional tag.' => 'MT:Ifタグの機能で使われます。',
 	'This module is used by the Markdown text filter.' => 'Markdown形式を利用するために必要です。',
@@ -3195,7 +3195,7 @@ use vars qw( @ISA %Lexicon );
 	'(No role selected)' => '(ロールが選択されていません)',
 	'Select roles' => 'ロール選択',
 	'Authentication Methods' => '認証方式',
-	'The Perl module required for OpenID commenter authentication (Digest::SHA1) is missing.' => 'OpenIDを利用するのに必要なPerlモジュール(Digest::SHA1)がありません。',
+	'The Perl module required for OpenID commenter authentication (Digest::SHA) is missing.' => 'OpenIDを利用するのに必要なPerlモジュール(Digest::SHA)がありません。',
 	'Please select authentication methods to accept comments.' => 'コメント投稿者の認証方式を選択してください。',
 	'Require E-mail Address for Comments via TypePad' => 'TypePad経由のコメントにメールアドレスを要求する',
 	'Visitors must allow their TypePad account to share their e-mail address when commenting.' => 'ビジターはコメント時にメールアドレスを共有するのにTypePadアカウントが許可されています。',
diff --git a/lib/MT/L10N/nl.pm b/lib/MT/L10N/nl.pm
index 4859846..cd63ace 100644
--- a/lib/MT/L10N/nl.pm
+++ b/lib/MT/L10N/nl.pm
@@ -194,7 +194,7 @@ use vars qw( @ISA %Lexicon );
 	'IO::Uncompress::Gunzip is required in order to decompress files in backup/restore operation.' => 'IO::Uncompress::Gunzip is vereist om bestanden te kunnen decomprimeren in een backup/restore operatie.',
 	'Archive::Zip is required in order to archive files in backup/restore operation.' => 'Archive::Zip is vereist om bestanden te kunnen archiveren in een backup/restore operatie.',
 	'XML::SAX and its dependencies are required in order to restore a backup created in a backup/restore operation.' => 'XML::SAX en/of de vereisten hiervoor zijn vereist om een restore te kunnen uitvoeren.',
-	'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA1 en de daarvoor benodigde bestanden zijn vereist om reageerders te kunnen toestaan zich aan te melden via OpenID providers, waaronder LiveJournal.',
+	'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.' => 'Digest::SHA en de daarvoor benodigde bestanden zijn vereist om reageerders te kunnen toestaan zich aan te melden via OpenID providers, waaronder LiveJournal.',
 	'Mail::Sendmail is required in order to send mail via an SMTP Server.' => 'Mail::Sendmail is vereist om mail te kunnen versturen via een SMTP server.',
 	'This module is used in a test attribute for the MTIf conditional tag.' => 'Deze module wordt gebruikt in een testattribuut voor de MTIf conditionele tag.',
 	'This module is used by the Markdown text filter.' => 'Deze module is vereist voor de Markdown tekstfilter.',
@@ -3201,7 +3201,7 @@ use vars qw( @ISA %Lexicon );
 	'(No role selected)' => '(Geen rol geselecteerd)',
 	'Select roles' => 'Selecteer rollen',
 	'Authentication Methods' => 'Methodes voor authenticatie',
-	'The Perl module required for OpenID commenter authentication (Digest::SHA1) is missing.' => 'De perl module die vereist is voor authenticatie van reageerders via OpenID (Digest::SHA1) ontbreekt.',
+	'The Perl module required for OpenID commenter authentication (Digest::SHA) is missing.' => 'De perl module die vereist is voor authenticatie van reageerders via OpenID (Digest::SHA) ontbreekt.',
 	'Please select authentication methods to accept comments.' => 'Gelieve een authenticatiemethode te selecteren om reacties te kunnen ontvangen.',
 	'Require E-mail Address for Comments via TypePad' => 'E-mail adres vereisen voor reacties via TypePad',
 	'Visitors must allow their TypePad account to share their e-mail address when commenting.' => 'Bezoekers moeten hun TypePad account toestaan om hun e-mail adres te delen als ze willen reageren.',
diff --git a/mt-check.cgi b/mt-check.cgi
index 3de68b9..5c4d1ce 100755
--- a/mt-check.cgi
+++ b/mt-check.cgi
@@ -631,10 +631,10 @@ my @CORE_OPT = (
         )
     ],
 
-    [   'Digest::SHA1',
+    [   'Digest::SHA',
         0, 0,
         translate(
-            'Digest::SHA1 and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.'
+            'Digest::SHA and its dependencies are required in order to allow commenters to be authenticated by OpenID providers including LiveJournal.'
         )
     ],
     [   'Mail::Sendmail',
-- 
1.7.9.5

