summaryrefslogtreecommitdiffstats
path: root/squid-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-09-19 18:26:06 +0000
committerTed Trask <ttrask01@yahoo.com>2008-09-19 18:26:06 +0000
commite67ab5c12f535b0d10ba349ce2cb073c89d2bc01 (patch)
treeadfe7763b2a417ef5f0e5673d5d6739ca2495093 /squid-model.lua
parent28fb85a4404b102e9660c306c2c71e0633c03ddb (diff)
downloadacf-squid-e67ab5c12f535b0d10ba349ce2cb073c89d2bc01.tar.bz2
acf-squid-e67ab5c12f535b0d10ba349ce2cb073c89d2bc01.tar.xz
Modified format library to operate on strings rather than files - makes it more flexible. Removed dependencies and unnecessary _to_string functions - use table.concat instead. Changed remove_blanks_comments to parse_lines. Added parse_linesandwords, replace_line, insert_line, and get_line functions from parser.lua and removed parser.lua. Made slight changes to squid and devtools to reflect library changes.
git-svn-id: svn://svn.alpinelinux.org/acf/squid/trunk@1479 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'squid-model.lua')
-rw-r--r--squid-model.lua32
1 files changed, 17 insertions, 15 deletions
diff --git a/squid-model.lua b/squid-model.lua
index 9eeb11d..4d216ff 100644
--- a/squid-model.lua
+++ b/squid-model.lua
@@ -5,7 +5,7 @@ module (..., package.seeall)
require("modelfunctions")
require("validator")
require("format")
-require("parser")
+require("fs")
-- Set variables
local squidconf = "/etc/squid/squid.conf"
@@ -56,7 +56,7 @@ read_digest_userlist = function()
-- check to see if the file is being used
configcontent = configcontent or fs.read_file(squidconf)
- config = config or parser.parseconfigfile(configcontent)
+ config = config or format.parse_linesandwords(configcontent)
retval.value.status = cfe({ errtxt="Digest authentication not enabled", label="User list status" })
for i,line in ipairs(config) do
@@ -173,7 +173,7 @@ read_config = function()
}
configcontent = configcontent or fs.read_file(squidconf)
- config = config or parser.parseconfigfile(configcontent)
+ config = config or format.parse_linesandwords(configcontent)
if config then
for i,line in ipairs(config) do
@@ -237,13 +237,15 @@ update_config = function(newconfig)
else
didcache = true
end
- elseif first == "auth_param" and string.match(line, "[^%s#]+%s+%S+%s+(%S+)") == "program" then
+ elseif first == "auth_param" then
lastauth = linenum
- line = string.gsub(line, "^[%s#]+", "")
- if not reverseauths[second] then
- line = "# "..line
- else
- didauths[second] = true
+ if string.match(line, "[^%s#]+%s+%S+%s+(%S+)") == "program" then
+ line = string.gsub(line, "^[%s#]+", "")
+ if not reverseauths[second] then
+ line = "# "..line
+ else
+ didauths[second] = true
+ end
end
end
end
@@ -324,7 +326,7 @@ end
read_acls = function()
local acls = cfe({ type="structure", value={}, label="Squid Access Lists" })
configcontent = configcontent or fs.read_file(squidconf)
- config = config or parser.parseconfigfile(configcontent)
+ config = config or format.parse_linesandwords(configcontent)
for i,line in ipairs(config) do
if line[1] == "acl" then
table.insert(acls.value, {line=line.line, linenum=line.linenum})
@@ -338,14 +340,14 @@ read_acl = function(linenum)
local line = cfe({ label="Squid Access List" })
local linecfe = cfe({ value=linenum, label="Line number" })
configcontent = configcontent or fs.read_file(squidconf)
- line.value = parser.getline(configcontent, linenum) or ""
+ line.value = format.getline(configcontent, linenum) or ""
return cfe({ type="group", value={line=line, linenum=linecfe}, label="Squid Access List" })
end
update_acl = function(acl)
-- local success, acl = validate_acl(acl)
configcontent = configcontent or fs.read_file(squidconf)
- configcontent = parser.replaceline(configcontent, acl.value.linenum.value, acl.value.line.value)
+ configcontent = format.replaceline(configcontent, acl.value.linenum.value, acl.value.line.value)
fs.write_file(squidconf, string.gsub(configcontent, "\n+$", ""))
config = nil
configcontent = nil
@@ -355,12 +357,12 @@ end
create_acl = function(acl)
-- local success, acl = validate_acl(acl)
configcontent = configcontent or fs.read_file(squidconf)
- config = config or parser.parseconfigfile(configcontent)
+ config = config or format.parse_linesandwords(configcontent)
local linenum = -1
for i=#config,1,-1 do
if config[i][1] == "acl" then
linenum = config[i].linenum
- configcontent = parser.insertline(configcontent, linenum, acl.value.line.value)
+ configcontent = format.insertline(configcontent, linenum, acl.value.line.value)
break
end
end
@@ -375,7 +377,7 @@ end
delete_acl = function(linenum)
configcontent = configcontent or fs.read_file(squidconf)
- configcontent = parser.replaceline(configcontent, linenum)
+ configcontent = format.replaceline(configcontent, linenum)
fs.write_file(squidconf, string.gsub(configcontent, "\n+$", ""))
config = nil
configcontent = nil