From 39eafd643ab51d01312cccd460e4f3d9b8816aab Mon Sep 17 00:00:00 2001 From: Andreas Brodmann Date: Mon, 7 Jan 2008 12:34:07 +0000 Subject: update to comply with the new css git-svn-id: svn://svn.alpinelinux.org/acf/squid/trunk@489 ab2d0c66-481e-0410-8bed-d214d4d58bed --- squid-model.lua | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 120 insertions(+), 11 deletions(-) (limited to 'squid-model.lua') 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 -- cgit v1.2.3