From 8138c8475d9573b834ca8dcba1b8f37647d61212 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 29 Sep 2008 22:12:56 +0000 Subject: [PATCH] Work around OpenWRT / Busybox shadow password quirks --- libs/sys/luasrc/sys.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 4bf294678..0bf92e9da 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -438,18 +438,18 @@ function user.checkpasswd(username, password) if account then local pwd = account.passwd - if pwd == "!" then - return true - elseif pwd == "x" then - pwd = nil + local shadowpw + if #pwd == 1 then for l in io.lines("/etc/shadow") do - pwd = l:match("^%s:([^:]+)" % username) - if pwd then + shadowpw = l:match("^%s:([^:]+)" % username) + if shadowpw then + pwd = shadowpw break end end - if not pwd then - return nil, "No shadow password for " .. username + + if pwd == "!" then + return true end end -- 2.11.0