X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FAuth%2FUser.pm;h=a5e8366e5940178fa969144cdae3e712d7501fc5;hb=3dc80cedd5deba53a4082992de317fbc3acf805c;hp=c5738c3db3c464e93eedd23112e3788450998f41;hpb=84d8f30ecbac4d41009e3f979526a47557f49225;p=ndwebbie.git diff --git a/lib/NDWeb/Auth/User.pm b/lib/NDWeb/Auth/User.pm index c5738c3..a5e8366 100644 --- a/lib/NDWeb/Auth/User.pm +++ b/lib/NDWeb/Auth/User.pm @@ -102,10 +102,20 @@ sub from_session { sub check_password { my ( $self, $password ) = @_; my $query = $self->{c}->model->prepare(q{ - SELECT uid FROM users WHERE uid = ? AND password = md5(?) + SELECT uid FROM users WHERE uid = $1 AND password = crypt($2,password) }); $query->execute($self->id,$password); - if ($query->rows == 1){ + + if ($query->rows == 0) { + $query = $self->{c}->model->prepare(q{ + UPDATE users SET password = $2 + WHERE uid = $1 AND password = md5($2) + RETURNING uid + }); + $query->execute($self->id,$password); + } + + if ($query->rows == 1) { return $self; } return;