diff options
| author | Jo-Philipp Wich <jow@openwrt.org> | 2012-06-27 14:12:42 +0000 |
|---|---|---|
| committer | Jo-Philipp Wich <jow@openwrt.org> | 2012-06-27 14:12:42 +0000 |
| commit | 2fc7e33a39ff7a777a6f5174927d194455a5dba0 (patch) | |
| tree | 73dea2519cc99d17083df5e96999e0879fdc7781 | |
| parent | cc1007d4718984424133dc0e690ce8fda0558091 (diff) | |
luci-0.10: merge r8794
| -rw-r--r-- | libs/sys/luasrc/sys.lua | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 75b6cb4a2d..6e06d0c721 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -596,13 +596,14 @@ user.getuser = nixio.getpw --- Retrieve the current user password hash. -- @param username String containing the username to retrieve the password for -- @return String containing the hash or nil if no password is set. +-- @return Password database entry function user.getpasswd(username) local pwe = nixio.getsp and nixio.getsp(username) or nixio.getpw(username) local pwh = pwe and (pwe.pwdp or pwe.passwd) if not pwh or #pwh < 1 or pwh == "!" or pwh == "x" then - return nil + return nil, pwe else - return pwh + return pwh, pwe end end @@ -611,9 +612,9 @@ end -- @param pass String containing the password to compare -- @return Boolean indicating wheather the passwords are equal function user.checkpasswd(username, pass) - local pwh = user.getpasswd(username) - if pwh then - return (nixio.crypt(pass, pwh) == pwh) + local pwh, pwe = user.getpasswd(username) + if pwe then + return (pwh == nil or nixio.crypt(pass, pwh) == pwh) end return false end |
