Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Interchange: cvs

[interchange: 1/2] * Use Vend::Util::SHA1 in UserDB.

 

 

Interchange cvs RSS feed   Index | Next | Previous | View Threaded


interchange-cvs at icdevgroup

Jul 12, 2013, 7:15 AM

Post #1 of 1 (31 views)
Permalink
[interchange: 1/2] * Use Vend::Util::SHA1 in UserDB.

commit a9b14c27a1f8e07d2cc1cef2c975dcbaae0c37da
Author: Mike Heins <heins [at] icdevgroup>
Date: Fri Jul 12 09:20:46 2013 -0400

* Use Vend::Util::SHA1 in UserDB.
* Fail hard if UserDB uses SHA1 encryption sub but no module.
* Clean up code in Util.pm to separate blocks entirely.

lib/Vend/Config.pm | 10 +++++++---
lib/Vend/UserDB.pm | 4 ++--
lib/Vend/Util.pm | 14 +++++++-------
3 files changed, 16 insertions(+), 12 deletions(-)
---
diff --git a/lib/Vend/Config.pm b/lib/Vend/Config.pm
index 59eb770..72eae5f 100644
--- a/lib/Vend/Config.pm
+++ b/lib/Vend/Config.pm
@@ -3481,9 +3481,13 @@ sub set_default_search {
UserDB => sub {
my $set = $C->{UserDB_repository};
for(keys %$set) {
- next unless defined $set->{$_}{admin};
- $C->{AdminUserDB} = {} unless $C->{AdminUserDB};
- $C->{AdminUserDB}{$_} = $set->{$_}{admin};
+ if( defined $set->{$_}{admin} ) {
+ $C->{AdminUserDB} = {} unless $C->{AdminUserDB};
+ $C->{AdminUserDB}{$_} = $set->{$_}{admin};
+ }
+ if($set->{$_}{encsub} =~ /sha1/i and ! $Vend::Util::SHA1) {
+ return(undef, "Unable to use SHA1 encryption for UserDB, no Digest::SHA or Digest::SHA1 module.");
+ }
}
return 1;
},
diff --git a/lib/Vend/UserDB.pm b/lib/Vend/UserDB.pm
index ffcfbd3..ee43f08 100644
--- a/lib/Vend/UserDB.pm
+++ b/lib/Vend/UserDB.pm
@@ -100,11 +100,11 @@ sub enc_md5_salted {

sub enc_sha1 {
my $obj = shift;
- unless ($HAVE_SHA) {
+ unless ($Vend::Util::SHA1) {
$obj->log_either('SHA passwords unavailable. Is Digest::SHA installed?');
return;
}
- return Digest::SHA::sha1_hex(shift);
+ return Vend::Util::sha1_hex(shift);
}

# Maps the length of the encrypted data to the algorithm that
diff --git a/lib/Vend/Util.pm b/lib/Vend/Util.pm
index a69aeb4..a8a2683 100644
--- a/lib/Vend/Util.pm
+++ b/lib/Vend/Util.pm
@@ -571,15 +571,9 @@ sub random_string {
$r;
}

-# To generate a unique key for caching
-# Not very good without MD5
-#
-my $Md;
-my $Keysub;
-
+## This block defines &Vend::Util::sha1_hex and $Vend::Util::SHA1
use vars qw($SHA1);

-## This block defines &Vend::Util::sha1_hex and $Vend::Util::SHA1
BEGIN {

$SHA1 = 1;
@@ -599,6 +593,12 @@ BEGIN {
}
}

+# To generate a unique key for caching
+# Not very good without MD5
+#
+my $Md;
+my $Keysub;
+
eval {require Digest::MD5 };

if(! $@) {

_______________________________________________
interchange-cvs mailing list
interchange-cvs [at] icdevgroup
http://www.icdevgroup.org/mailman/listinfo/interchange-cvs

Interchange cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.