summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 10:44:06 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-10-04 13:47:33 +0300
commit98ecf5591f98399d766fec6fa7ef5e883cf3da70 (patch)
tree56fc46c694b9e1fe3a0e7c8a5f93ca4a38132186
parentad4db142bbd8bfd0b3fff8e37466435dae262c80 (diff)
downloadaconf-98ecf5591f98399d766fec6fa7ef5e883cf3da70.tar.bz2
aconf-98ecf5591f98399d766fec6fa7ef5e883cf3da70.tar.xz
model: do not crash if password not set
-rw-r--r--acf/model/aaa.lua3
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