From ecdd22b143ba95a34a46247c77d7b6ba281617eb Mon Sep 17 00:00:00 2001
From: Klas Arvidsson <klas.arvidsson@liu.se>
Date: Wed, 28 Oct 2020 15:04:39 +0100
Subject: [PATCH] added access to empt and error page when BLOCK_ALL enabled,
 and bugfix

---
 files/squid/helpers/squid-url-rewrite.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/files/squid/helpers/squid-url-rewrite.py b/files/squid/helpers/squid-url-rewrite.py
index 92b01a7..b7137b4 100755
--- a/files/squid/helpers/squid-url-rewrite.py
+++ b/files/squid/helpers/squid-url-rewrite.py
@@ -9,6 +9,10 @@ import urllib.parse
 
 emptypage = "https://www.ida.liu.se/edu/ugrad/datortenta/empty"
 errorpage = "https://www.ida.liu.se/edu/ugrad/datortenta/blocked.php"
+
+emptyrex = "^https?://www\.ida\.liu\.se/edu/ugrad/datortenta/empty"
+errorrex = "^https?://www\.ida\.liu\.se/edu/ugrad/datortenta/blocked\.php\?.*"
+
 filterlog = "/var/log/squid/filter.log"
 basedir = "/usr/libexec/squid/helpers"
 hostname = socket.gethostname()
@@ -76,7 +80,9 @@ def main():
 
     block_all = basedir + "/../BLOCK_ALL"
     if os.path.isfile(block_all):
-        ruleset.append( ["^.*", False] )
+        ruleset.append( [re.compile(emptyrex), True] )
+        ruleset.append( [re.compile(errorrex), True] )
+        ruleset.append( [re.compile("^.*"), False] )
 
     devel_rules = basedir + "/../devel.rules"
     if 'devel' in hostname and os.path.isfile(devel_rules):
-- 
GitLab