diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-04 10:44:06 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-04 13:47:33 +0300 |
commit | 98ecf5591f98399d766fec6fa7ef5e883cf3da70 (patch) | |
tree | 56fc46c694b9e1fe3a0e7c8a5f93ca4a38132186 /acf | |
parent | ad4db142bbd8bfd0b3fff8e37466435dae262c80 (diff) | |
download | aconf-98ecf5591f98399d766fec6fa7ef5e883cf3da70.tar.bz2 aconf-98ecf5591f98399d766fec6fa7ef5e883cf3da70.tar.xz |
model: do not crash if password not set
Diffstat (limited to 'acf')
-rw-r--r-- | acf/model/aaa.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/acf/model/aaa.lua b/acf/model/aaa.lua index 8dea542..282a246 100644 --- a/acf/model/aaa.lua +++ b/acf/model/aaa.lua @@ -24,7 +24,7 @@ local Password = object.class(M.String) function Password:_validate(context, value) value = object.super(self, M.String):_validate(context, value) - if value:find(hash_pattern) then return value end + if not value or value:find(hash_pattern) then return value end local salt = '' for i = 1,12 do @@ -44,6 +44,7 @@ User.superuser = M.Boolean{default=false} User.roles = M.Set{type=M.Reference{scope='../../../roles'}} function User:check_password(password) + if not self.password then return false end local _, _, algorithm, salt = self.password:find(hash_pattern) if not salt then return false end return hash_password(algorithm, salt, password) == self.password |