From 07a8c9c43ddecbad508096b8bb1c86bb92c869d1 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Wed, 1 Oct 2008 15:43:12 +0000 Subject: Fix a bug preventing login in non-shadow environments --- libs/sys/luasrc/sys.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 -- cgit v1.2.3