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