From: Steven Barth Date: Wed, 1 Oct 2008 15:43:12 +0000 (+0000) Subject: Fix a bug preventing login in non-shadow environments X-Git-Tag: 0.9.0~1179 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=07a8c9c43ddecbad508096b8bb1c86bb92c869d1;p=oweals%2Fluci.git Fix a bug preventing login in non-shadow environments --- diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 0bf92e9da..0c18a3636 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -440,11 +440,17 @@ function user.checkpasswd(username, password) local pwd = account.passwd local shadowpw if #pwd == 1 then - for l in io.lines("/etc/shadow") do - shadowpw = l:match("^%s:([^:]+)" % username) - if shadowpw then - pwd = shadowpw - break + if luci.fs.stat("/etc/shadow") then + if not pcall(function() + for l in io.lines("/etc/shadow") do + shadowpw = l:match("^%s:([^:]+)" % username) + if shadowpw then + pwd = shadowpw + break + end + end + end) then + return nil, "Unable to access shadow-file" end end