| Patch-URL: http://cvs.fedoraproject.org/viewvc/devel/perl-Razor-Agent/razor-agents-2.85-use-sha-not-sha1.patch?view=log |
| |
| diff -urN razor-agents-2.85.orig/lib/Razor2/Client/Engine.pm razor-agents-2.85/lib/Razor2/Client/Engine.pm |
| --- razor-agents-2.85.orig/lib/Razor2/Client/Engine.pm 2005-06-13 19:42:25.000000000 -0400 |
| +++ razor-agents-2.85/lib/Razor2/Client/Engine.pm 2009-11-01 13:45:08.125369192 -0500 |
| @@ -1,7 +1,6 @@ |
| package Razor2::Client::Engine; |
| |
| use strict; |
| -use Digest::SHA1 qw(sha1_hex); |
| use Data::Dumper; |
| use Razor2::Signature::Ephemeral; |
| use Razor2::Engine::VR8; |
| diff -urN razor-agents-2.85.orig/lib/Razor2/Signature/Ephemeral.pm razor-agents-2.85/lib/Razor2/Signature/Ephemeral.pm |
| --- razor-agents-2.85.orig/lib/Razor2/Signature/Ephemeral.pm 2003-03-03 18:09:50.000000000 -0500 |
| +++ razor-agents-2.85/lib/Razor2/Signature/Ephemeral.pm 2009-11-01 13:45:08.125369192 -0500 |
| @@ -2,9 +2,13 @@ |
| |
| package Razor2::Signature::Ephemeral; |
| use strict; |
| -use Digest::SHA1; |
| use Data::Dumper; |
| |
| +BEGIN { |
| + eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 } |
| + or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) } |
| +} |
| + |
| sub new { |
| |
| my ($class, %args) = @_; |
| @@ -86,16 +90,12 @@ |
| } |
| |
| my $digest; |
| - my $ctx = Digest::SHA1->new; |
| |
| if ($seclength > 128) { |
| - $ctx->add($section1); |
| - $ctx->add($section2); |
| - $digest = $ctx->hexdigest; |
| + $digest = sha1_hex($section1, $section2); |
| } else { |
| debug("Sections too small... reverting back to orginal content."); |
| - $ctx->add($content); |
| - $digest = $ctx->hexdigest; |
| + $digest = sha1_hex($content); |
| } |
| |
| debug("Computed e-hash is $digest"); |
| diff -urN razor-agents-2.85.orig/lib/Razor2/Signature/Whiplash.pm razor-agents-2.85/lib/Razor2/Signature/Whiplash.pm |
| --- razor-agents-2.85.orig/lib/Razor2/Signature/Whiplash.pm 2007-05-08 18:22:36.000000000 -0400 |
| +++ razor-agents-2.85/lib/Razor2/Signature/Whiplash.pm 2009-11-01 13:45:08.124368017 -0500 |
| @@ -7,7 +7,10 @@ |
| |
| package Razor2::Signature::Whiplash; |
| |
| -use Digest::SHA1; |
| +BEGIN { |
| + eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 } |
| + or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) } |
| +} |
| |
| sub new { |
| |
| @@ -683,13 +686,8 @@ |
| # the value of length to the nearest multiple of ``length_error''. |
| # Take the first 20 hex chars from SHA1 and call it the signature. |
| |
| - my $sha1 = Digest::SHA1->new(); |
| - |
| - $sha1->add($host); |
| - $sig = substr $sha1->hexdigest, 0, 12; |
| - |
| - $sha1->add($corrected_length); |
| - $sig .= substr $sha1->hexdigest, 0, 4; |
| + $sig = substr sha1_hex($host), 0, 12; |
| + $sig .= substr sha1_hex($corrected_length), 0, 4; |
| |
| push @sigs, $sig; |
| $sig_meta{$sig} = [$host, $corrected_length]; |
| diff -urN razor-agents-2.85.orig/lib/Razor2/String.pm razor-agents-2.85/lib/Razor2/String.pm |
| --- razor-agents-2.85.orig/lib/Razor2/String.pm 2005-06-13 17:09:59.000000000 -0400 |
| +++ razor-agents-2.85/lib/Razor2/String.pm 2009-11-01 13:45:08.123368518 -0500 |
| @@ -1,11 +1,15 @@ |
| # $Id$ |
| package Razor2::String; |
| |
| -use Digest::SHA1 qw(sha1_hex); |
| use URI::Escape; |
| use Razor2::Preproc::enBase64; |
| use Data::Dumper; |
| |
| +BEGIN { |
| + eval { require Digest::SHA; import Digest::SHA qw(sha1_hex); 1 } |
| + or do { require Digest::SHA1; import Digest::SHA1 qw(sha1_hex) } |
| +} |
| + |
| #use MIME::Parser; |
| |
| require Exporter; |
| @@ -69,15 +73,8 @@ |
| return unless $text && $iv1 && $iv2; |
| die "no ref's allowed" if ref($text); |
| |
| - my $ctx = Digest::SHA1->new; |
| - $ctx->add($iv2); |
| - $ctx->add($text); |
| - my $digest = $ctx->hexdigest; |
| - |
| - $ctx = Digest::SHA1->new; |
| - $ctx->add($iv1); |
| - $ctx->add($digest); |
| - $digest = $ctx->hexdigest; |
| + my $digest = sha1_hex($iv2, $text); |
| + $digest = sha1_hex($iv1, $digest); |
| |
| return (hextobase64($digest), $digest); |
| } |