diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-09-19 18:26:06 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-09-19 18:26:06 +0000 |
commit | e67ab5c12f535b0d10ba349ce2cb073c89d2bc01 (patch) | |
tree | adfe7763b2a417ef5f0e5673d5d6739ca2495093 | |
parent | 28fb85a4404b102e9660c306c2c71e0633c03ddb (diff) | |
download | acf-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
-rw-r--r-- | squid-model.lua | 32 |
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 |