From b88755b39ee864ce75d08a1405b1c613ada12d1e Mon Sep 17 00:00:00 2001 From: Klas Arvidsson <klas.arvidsson@liu.se> Date: Fri, 17 Jan 2020 00:19:53 +0100 Subject: [PATCH] squid filter program update --- files/squid/helpers/squid-url-rewrite.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/files/squid/helpers/squid-url-rewrite.py b/files/squid/helpers/squid-url-rewrite.py index a35f3b3..6df52a1 100755 --- a/files/squid/helpers/squid-url-rewrite.py +++ b/files/squid/helpers/squid-url-rewrite.py @@ -14,15 +14,18 @@ hostname = socket.gethostname() def block_response(url): quoted_url = urllib.parse.quote(url) - if re.match('.*\.s?html([#?].*)?', url): + if re.match('.*\.s?html([#?].*)?', url) or re.match('.*/[^./]*', url): return 'OK status=307 url="{}?requested={}"'.format(errorpage, quoted_url) else: return 'OK status=307 url="{}"'.format(emptypage) - # return "OK status=302 url=\"" + errorpage + "\"" - # "status" can only be used in the "Using an HTTP redirector" case, - # not in the "Using a re-writer to mangle the URL as it passes" case - # RTFM: https://wiki.squid-cache.org/Features/Redirectors + # Note: + # With a redirector squid ask the client to fetch another page. + # With a re-writer squid ask the web server to fetch the new page. + # "status" can only be used in the "Using an HTTP redirector" case, + # not in the "Using a re-writer to mangle the URL as it passes" case. + # See: + # https://wiki.squid-cache.org/Features/Redirectors def modify_url(line, ruleset): ### [channel-ID <SP>] URL <SP> client_ip "/" fqdn <SP> user <SP> method [<SP> kv-pairs]<NL> -- GitLab