summaryrefslogtreecommitdiffstats
path: root/squid-model.lua
diff options
context:
space:
mode:
authorAndreas Brodmann <andreas.brodmann@gmail.com>2008-01-07 12:34:07 +0000
committerAndreas Brodmann <andreas.brodmann@gmail.com>2008-01-07 12:34:07 +0000
commit39eafd643ab51d01312cccd460e4f3d9b8816aab (patch)
tree51c7c702f374b18a856febc885ccd69712cc9e7c /squid-model.lua
parent0071cbee3bb2e577ffdae85d5ce00987b1f5e276 (diff)
downloadacf-squid-39eafd643ab51d01312cccd460e4f3d9b8816aab.tar.bz2
acf-squid-39eafd643ab51d01312cccd460e4f3d9b8816aab.tar.xz
update to comply with the new css
git-svn-id: svn://svn.alpinelinux.org/acf/squid/trunk@489 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'squid-model.lua')
-rw-r--r--squid-model.lua131
1 files changed, 120 insertions, 11 deletions
diff --git a/squid-model.lua b/squid-model.lua
index 3c80828..6c272c6 100644
--- a/squid-model.lua
+++ b/squid-model.lua
@@ -2,6 +2,8 @@
-- Copyright(c) 2007 A. Brodmann - Licensed under terms of GPL2
module (..., package.seeall)
+require "format"
+
squidconf = "/etc/squid/squid.conf"
--- the tokenizer functions - must be dislocated into a library later
@@ -106,7 +108,7 @@ update_adv_config = function( config )
local ptr = io.open( squidconf, "wb+" )
if ptr ~= nil then
- ptr:write( config )
+ ptr:write( format.dostounix( config ) )
ptr:close()
else
retval = "update_config(): Error, failed to open " .. squidconf .. "!\n"
@@ -411,14 +413,14 @@ config_preblock_copy = function( fromfile, tofile, tag )
end
end
-copy_postblock_copy = function( fromfile, tofile )
+config_postblock_copy = function( fromfile, tofile )
local done = false
local line = ""
while not done do
line = fromfile:read( "*l" )
if line ~= nil then
- tmpfile:write( line .. "\n" )
+ tofile:write( line .. "\n" )
else
done = true
end
@@ -467,7 +469,7 @@ update_basic_config = function( config )
tmpfile = io.open( tmpfilename, "w+" )
cfgfile = io.open( squidconf, "r" )
done = false
-
+
config_preblock_copy( cfgfile, tmpfile, "### ACF-SQUID-TAG-0007" )
local don2 = false
@@ -481,14 +483,26 @@ update_basic_config = function( config )
else
if string.sub( line, 1, 11 ) == "cache_peer " then
don2 = true
- local lap = 0
+ local lap = 1
local cfg2tok = tokenizer.new( line, " " )
- local tmpstr = ""
- while tmpstr ~= nil do
-
+ local tmpval = ""
+ local newstr = ""
+ local tmparr = {}
+ cfg2tok, tmpval = tokenizer.next( cfg2tok )
+ while tmpval ~= nil do
+ tmparr[lap] = tmpval
+ if lap == 2 then
+ newstr = newstr .. config.filterip.value .. " "
+ elseif lap == 4 then
+ newstr = newstr .. config.filterport.value .. " "
+ else
+ newstr = newstr .. tmpval .. " "
+ end
+ lap = lap + 1
+ cfg2tok, tmpval = tokenizer.next( cfg2tok )
end
-
- tmpfile:write( "http_port " .. config.proxyip.value .. ":" .. config.proxyport.value .. "\n" )
+
+ tmpfile:write( newstr .. "\n" )
else
tmpfile:write( line .. "\n" )
end
@@ -512,7 +526,68 @@ update_basic_config = function( config )
while not done do
line = cfgfile:read( "*l" )
-
+ if string.sub( line, 1, 7 ) == "### ACF" then
+ done = true
+ tmpfile:write( line .. "\n" )
+ else
+ if config.diskcache.value == "yes" then
+ if string.sub( line, 1, 16 ) == "#cache_dir diskd" then
+ tmpfile:write( string.sub( line, 2 ) .. "\n" )
+ elseif string.sub( line, 1, 14 ) == "cache_dir null" then
+ tmpfile:write( "#" .. line .. "\n" )
+ else
+ tmpfile:write( line .. "\n" )
+ end
+ else
+ if string.sub( line, 1, 15 ) == "cache_dir diskd" then
+ tmpfile:write( "#" .. line .. "\n" )
+ elseif string.sub( line, 1, 15 ) == "#cache_dir null" then
+ tmpfile:write( string.sub( line, 2 ) .. "\n" )
+ else
+ tmpfile:write( line .. "\n" )
+ end
+ end
+ end
+ end
+
+ config_postblock_copy( cfgfile, tmpfile )
+
+ tmpfile:close()
+ cfgfile:close()
+ os.rename( tmpfilename, squidconf )
+
+
+ --- cache access log parameters
+ tmpfilename = os.tmpname()
+ tmpfile = io.open( tmpfilename, "w+" )
+ cfgfile = io.open( squidconf, "r" )
+ done = false
+
+ config_preblock_copy( cfgfile, tmpfile, "### ACF-SQUID-TAG-0003" )
+
+ while not done do
+ line = cfgfile:read( "*l" )
+ if string.sub( line, 1, 7 ) == "### ACF" then
+ done = true
+ tmpfile:write( line .. "\n" )
+ else
+ if config.accesslog.value == "yes" then
+ if string.sub( line, 1, 17 ) == "#cache_access_log" then
+ tmpfile:write( string.sub( line, 2 ) .. "\n" )
+ elseif string.sub( line, 1, 18 ) == "# cache_access_log" then
+ tmpfile:write( string.sub( line, 3 ) .. "\n" )
+ else
+ tmpfile:write( line .. "\n" )
+ end
+ else
+ if string.sub( line, 1, 16 ) == "cache_access_log" then
+ tmpfile:write( "#" .. line .. "\n" )
+ else
+ tmpfile:write( line .. "\n" )
+ end
+ end
+
+ end
end
config_postblock_copy( cfgfile, tmpfile )
@@ -521,6 +596,40 @@ update_basic_config = function( config )
cfgfile:close()
os.rename( tmpfilename, squidconf )
+
+ --- cache access log parameters
+ tmpfilename = os.tmpname()
+ tmpfile = io.open( tmpfilename, "w+" )
+ cfgfile = io.open( squidconf, "r" )
+ done = false
+
+ config_preblock_copy( cfgfile, tmpfile, "### ACF-SQUID-TAG-0005" )
+
+ while not done do
+ line = cfgfile:read( "*l" )
+ if string.sub( line, 1, 7 ) == "### ACF" then
+ done = true
+ tmpfile:write( line .. "\n" )
+ else
+ if string.sub( line, 1, 18 ) == "acl SSL_ports port" then
+ tmpfile:write( "acl SSL_ports port " .. config.sslports.value .. "\n" )
+ elseif string.sub( line, 1, 19 ) == "acl Safe_ports port" then
+ tmpfile:write( "acl Safe_ports port " .. config.safeports.value .. "\n" )
+ elseif string.sub( line, 1, 34 ) == "acl ContentFilter urlpath_regex -i" then
+ tmpfile:write( "acl ContentFilter urlpath_regex -i " .. config.filterregex.value .. "\n" )
+ else
+ tmpfile:write( line .. "\n" )
+ end
+ end
+ end
+
+ config_postblock_copy( cfgfile, tmpfile )
+
+ tmpfile:close()
+ cfgfile:close()
+ os.rename( tmpfilename, squidconf )
+
+
return error
end