Date: Sat, 24 Feb 2018 20:00:31 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329923 - head/stand/lua Message-ID: <201802242000.w1OK0VxW063602@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Sat Feb 24 20:00:31 2018 New Revision: 329923 URL: https://svnweb.freebsd.org/changeset/base/329923 Log: lualoader: Strip config.parse of its I/O privileges config.parse is now purely a parser, rather than a whole proccessor. The standard process for loading a config file has been split out into config.processFile. This clears the way for having nextboot read its own config file and decide there whether it should parse the rest of the file. Modified: head/stand/lua/config.lua Modified: head/stand/lua/config.lua ============================================================================== --- head/stand/lua/config.lua Sat Feb 24 19:51:18 2018 (r329922) +++ head/stand/lua/config.lua Sat Feb 24 20:00:31 2018 (r329923) @@ -134,7 +134,8 @@ local function check_nextboot() return text:match("^nextboot_enable=\"NO\"") == nil end - if not config.parse(nextboot_file, true, check_nextboot_enabled) then + if not config.processFile(nextboot_file, true, check_nextboot_enabled) + then -- This only fails if it actually hit a parse error print("Failed to parse nextboot configuration: '" .. nextboot_file .. "'") @@ -326,10 +327,7 @@ function config.loadmod(mod, silent) return status end --- silent runs will not return false if we fail to open the file --- check_and_halt, if it's set, will be executed on the full text of the config --- file. If it returns false, we are to halt immediately. -function config.parse(name, silent, check_and_halt) +function config.processFile(name, silent, check_and_halt) if silent == nil then silent = false end @@ -345,6 +343,14 @@ function config.parse(name, silent, check_and_halt) return true end end + + return config.parse(text) +end + +-- silent runs will not return false if we fail to open the file +-- check_and_halt, if it's set, will be executed on the full text of the config +-- file. If it returns false, we are to halt immediately. +function config.parse(text) local n = 1 local status = true @@ -473,7 +479,7 @@ function config.load(file) file = "/boot/defaults/loader.conf" end - if not config.parse(file) then + if not config.processFile(file) then print("Failed to parse configuration: '" .. file .. "'") end @@ -483,7 +489,7 @@ function config.load(file) -- These may or may not exist, and that's ok. Do a -- silent parse so that we complain on parse errors but -- not for them simply not existing. - if not config.parse(name, true) then + if not config.processFile(name, true) then print("Failed to parse configuration: '" .. name .. "'") end
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802242000.w1OK0VxW063602>