From 53d6755451808f8d6eeca8275714d97985d9495b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Weism=C3=BCller=20via=20Development?= Date: Fri, 16 Feb 2018 13:04:50 +0100 Subject: [PATCH] squid: Add RAM-only Proxy functionality MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit As suggested by Oliver "giller" Fieker in bug 10592 I added the functionality to use the squid as ram-only cache. Further it defines the maximum_object_size_in_memory as 2% of the in the webif defined "Memory cache size". The maximum_object_size_in_memory should have a useful size of the defined memory cache and I don't want to create another variable which muste be fulled in by the user. Signed-off-by: Daniel Weismüller Suggested-by: Oliver "giller" Fieker Suggested-by: Kim Wölfel Acked-by: Michael Tremer Cc: Stefan Schantl Signed-off-by: Daniel Weismüller Signed-off-by: Michael Tremer --- html/cgi-bin/proxy.cgi | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 66ca86953a..c36fc4e706 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -401,8 +401,7 @@ if (($proxysettings{'ACTION'} eq $Lang::tr{'save'}) || ($proxysettings{'ACTION'} $errormessage = $Lang::tr{'proxy errmsg filedescriptors'}; goto ERROR; } - if (!($proxysettings{'CACHE_MEM'} =~ /^\d+/) || - ($proxysettings{'CACHE_MEM'} < 1)) + if (!($proxysettings{'CACHE_MEM'} =~ /^\d+/)) { $errormessage = $Lang::tr{'advproxy errmsg mem cache size'}; goto ERROR; @@ -3172,7 +3171,7 @@ END } } - if ($proxysettings{'CACHE_SIZE'} > 0) + if (($proxysettings{'CACHE_SIZE'} > 0) || ($proxysettings{'CACHE_MEM'} > 0)) { print FILE "\n"; @@ -3269,7 +3268,12 @@ cache_dir aufs /var/log/cache $proxysettings{'CACHE_SIZE'} $proxysettings{'L1_DI END ; } else { - print FILE "cache deny all\n\n"; + if ($proxysettings{'CACHE_MEM'} > 0) { + # always 2% of CACHE_MEM defined as max object size + print FILE "maximum_object_size_in_memory " . int($proxysettings{'CACHE_MEM'} * 1024 * 0.02) . " KB\n\n"; + } else { + print FILE "cache deny all\n\n"; + } } print FILE <