diff options
author | Yorhel <git@yorhel.nl> | 2008-10-26 13:23:15 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2008-10-26 13:23:15 +0100 |
commit | 45802c119b3f3a36ffae3296b37d51dd3a454f29 (patch) | |
tree | dde77096c1d248596c0c1d9b25f546db881ffd11 /lib/VNDB/Util/Auth.pm | |
parent | 3fb8a1ca280184cbe9b9873b2c736cab446414ac (diff) |
Removing all files we're not going to use with the rewrite
...this is basically everything we're going to rewrite
Diffstat (limited to 'lib/VNDB/Util/Auth.pm')
-rw-r--r-- | lib/VNDB/Util/Auth.pm | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/lib/VNDB/Util/Auth.pm b/lib/VNDB/Util/Auth.pm deleted file mode 100644 index 6f265253..00000000 --- a/lib/VNDB/Util/Auth.pm +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -# N E E D S M O A R S A L T ! - - -package VNDB::Util::Auth; - -use strict; -use warnings; -use Exporter 'import'; -use Digest::MD5 'md5_hex'; -use Crypt::Lite; # simple, small and easy encryption for cookies - -use vars ('$VERSION', '@EXPORT'); -$VERSION = $VNDB::VERSION; -@EXPORT = qw| AuthCheckCookie AuthLogin AuthLogout AuthInfo AuthCan AuthAddTpl |; - - -{ # local data for these 2 methods only - my $crl = Crypt::Lite->new(debug => 0); - my $scrt = md5_hex($VNDB::COOKEY); - -sub AuthCheckCookie { - my $self = shift; - my $info = $self->{_Req} || $self; - $info->{_auth} = {} if !exists $info->{_auth}; - - my $cookie = $self->ReqCookie('vndb_auth'); - return 0 if !$cookie; - my $str = $crl->decrypt($cookie, $scrt); - return 0 if length($str) < 36; - my $pass = substr($str, 4, 32); - my $user = substr($str, 36); - return _AuthCheck($self, $user, $pass); -} - -sub AuthLogin { - my $self = shift; - my $user = lc(scalar shift); - my $psbk = shift; - my $pass = md5_hex($psbk); - my $keep = shift; - my $to = shift; - my $status = _AuthCheck($self, $user, $pass); - if($status == 1) { - (my $cookie = $crl->encrypt("VNDB$pass$user", $scrt)) =~ s/\r?\n//g; - $self->ResRedirect($to, "post"); - $self->ResAddHeader('Set-Cookie', "vndb_auth=$cookie; " . ($keep ? 'expires=Sat, 01-Jan-2030 00:00:00 GMT; ' : ' ') . "path=/; domain=$self->{CookieDomain}"); - return 1; - } - return $status; -} -} # end of local data - -sub AuthLogout { - my $self = shift; - $self->ResRedirect('/', 'temp'); - $self->ResAddHeader('Set-Cookie', "vndb_auth= ; expires=Sat, 01-Jan-2000 00:00:00 GMT; path=/; domain=$self->{CookieDomain}"); -} - -sub AuthInfo { - my $self = shift; - my $info = $self->{_Req} || shift; - return $info->{_auth} || {}; -} - -sub AuthCan { - my $self = shift; - my $act = shift; - my $info = $self->{_Req} || shift; - return $self->{ranks}[($info->{_auth}{rank}||0)+1]{$act}; -} - -sub _AuthCheck { - my $self = shift; - my $user = shift; - my $pass = shift; - my $info = $self->{_Req} || shift; - - $info->{_auth} = undef; - - return 2 if !$user || length($user) > 15 || length($user) < 2; - return 3 if !$pass || length($pass) != 32; - - my $d = $self->DBGetUser(username => $user, passwd => $pass)->[0]; - return 4 if !defined $d->{id}; - return 5 if !$d->{rank}; - - $d->{oldvnlist} = $self->DBGetVNList(uid => $d->{id}, results => 1)->[0] ? 1 : 0; - $info->{_auth} = $d; - - return 1; -} - - -# adds the keys AuthLoggedin, AuthRank, AuthUsername, AuthMail, AuthId -sub AuthAddTpl { - my $self = shift; - my $info = $self->{_Req} || shift; - my %tpl; - - if($info->{_auth}{id}) { - %tpl = ( - AuthLoggedin => 1, - AuthRank => $info->{_auth}{rank}, - AuthRankname => $self->{ranks}[0][0][$info->{_auth}{rank}], - AuthUsername => $info->{_auth}{username}, - AuthMail => $info->{_auth}{mail}, - AuthId => $info->{_auth}{id}, - AuthNsfw => $info->{_auth}{flags} & $VNDB::UFLAGS->{nsfw}, - AuthOldList => $info->{_auth}{oldvnlist}, - ); - } else { - %tpl = ( - AuthLoggedin => 0, - AuthRank => '', - AuthRankname => '', - AuthUsername => '', - AuthMail => '', - AuthId => 0, - AuthNsfw => 0, - ); - } - $tpl{'Auth'.$_} = $self->{ranks}[($info->{_auth}{rank}||0)+1]{$_} - for (keys %{$self->{ranks}[0][1]}); - $self->ResAddTpl(%tpl); -} - -1; - |