--- /usr/lib/perl5/vendor_perl/5.8.8/Crypt/CBC.pm.orig  2006-10-27
12:03:19.000000000 -0600
+++ /usr/lib/perl5/vendor_perl/5.8.8/Crypt/CBC.pm       2006-10-27
12:03:47.000000000 -0600
@@ -90,6 +90,7 @@
     my $random_iv = 1 unless defined $iv;
     croak "Initialization vector must be exactly $bs bytes long when
using the $cipher cipher" if defined $iv and length($iv) != $bs;

+    my $literal_key = $options->{literal_key} || (exists $options->{regenerate_key} && !$options->{regenerate_key});
     my $legacy_hack = $options->{insecure_legacy_decrypt};
     my $padding     = $options->{padding} || 'standard';

@@ -142,6 +143,7 @@
                  'keysize'     => $ks,
                   'header_mode' => $header_mode,
                  'legacy_hack' => $legacy_hack,
+                 'literal_key' => $literal_key,
                   'pcbc'        => $pcbc,
                  'make_random_salt' => $random_salt,
                  'make_random_iv'   => $random_iv,
@@ -359,6 +361,8 @@
   my $pass  = shift;
   my $ks    = $self->{keysize};

+  return $pass if $self->{literal_key};
+
   my $material = md5($pass);
   while (length($material) < $ks)  {
     $material .= md5($material);
