summaryrefslogtreecommitdiff
path: root/lib/VNDB/Util/Auth.pm
diff options
context:
space:
mode:
author3dB <3db@3decibels.net>2009-07-28 01:43:10 -0400
committer3dB <3db@3decibels.net>2009-07-28 01:43:10 -0400
commit3d066164e1e0440469cef65946f18605bd50a3c8 (patch)
treecbb799e9f965db89c93604248d9addc90476c9c7 /lib/VNDB/Util/Auth.pm
parentd1b9e8307129ebbe66a36f0bb7e9298286991652 (diff)
Replaced _authGenerateSalt with a better one-liner.
-- Removed _authGenerateSalt in favor of a one-liner in authPreparePassword. -- Fixed a self-inflicted "WTF" mistake in authInit caused by a stray paste.
Diffstat (limited to 'lib/VNDB/Util/Auth.pm')
-rw-r--r--lib/VNDB/Util/Auth.pm28
1 files changed, 7 insertions, 21 deletions
diff --git a/lib/VNDB/Util/Auth.pm b/lib/VNDB/Util/Auth.pm
index 8e3f7da6..81c6c573 100644
--- a/lib/VNDB/Util/Auth.pm
+++ b/lib/VNDB/Util/Auth.pm
@@ -25,10 +25,7 @@ sub authInit {
return 0 if length($str) < 44;
my $token = substr($str, 4, 40);
my $uid = substr($str, 44);
-
- if ($self->dbSessionCheck($uid, $token)) {
- $self ($self->dbSessionCheck($uid, $token))f->{_auth} = $self->dbUserGet(uid => $uid, what => 'mymessages')->[0];
- }
+ $self->{_auth} = $self->dbUserGet(uid => $uid, what => 'mymessages')->[0] if $self->dbSessionCheck($uid, $token);
}
@@ -56,6 +53,7 @@ sub authLogin {
$self->resHeader('Set-Cookie', "vndb_auth=$cookie; expires=$expString; path=/; domain=$self->{cookie_domain}");
return 1;
}
+
return 0;
}
@@ -103,8 +101,7 @@ sub _authCheck {
my($self, $user, $pass) = @_;
return 0 if
- !$user || length($user) > 15 || length($user) < 2
- || !$pass;
+ !$user || length($user) > 15 || length($user) < 2 || !$pass;
my $d = $self->dbUserGet(username => $user, what => 'mymessages')->[0];
return 0 if !defined $d->{id} || !$d->{rank};
@@ -135,26 +132,15 @@ sub _authEncryptPass{
# Prepares a plaintext password for database storage
# Arguments: pass
-# Returns: hashref of the encrypted pass and salt ready for database insertion
+# Returns: list (pass, salt)
sub authPreparePass{
my($self, $pass) = @_;
- my %o;
- $o{salt} = _authGenerateSalt();
- $o{passwd} = authEncryptPass($pass, $o{salt});
- return %o;
+ my $salt = join '', map chr(rand(93)+33), 1..9;
+ my $hash = authEncryptPass($pass, $salt);
+ return ($hash, $salt);
}
-# Generates a 9 character salt
-# Returns salt as a string
-sub _authGenerateSalt {
- my $s;
- for (my $i = 0; $i < 9; $i++) {
- $s .= chr(rand(93) + 33);
- }
- return $s;
-}
-
1;