Blame SOURCES/0066-fix-rich-limit-table-to-strip-non-printables-to-C0-a.patch

fa246d
From ff6e65737413d54b6f6964f72827a92fdbecc182 Mon Sep 17 00:00:00 2001
fa246d
From: Eric Garver <eric@garver.life>
fa246d
Date: Fri, 8 Jan 2021 13:38:15 -0500
fa246d
Subject: [PATCH 68/68] fix(rich): limit table to strip non-printables to C0
fa246d
 and C1
fa246d
fa246d
Generating the table was taking an unreasonable amount of memory.
fa246d
Stripping C0 and C1 should cover most scenarios while limiting memory
fa246d
usage.
fa246d
fa246d
Fixes: ac5960856991 ("fix(rich): non-printable characters removed from rich rules")
fa246d
(cherry picked from commit 015704b44f81d535a868fe28368f977cefd28638)
fa246d
(cherry picked from commit 629a53ef027146f8e4e486c40c8bde04cda830d3)
fa246d
---
fa246d
 src/firewall/functions.py | 7 ++++++-
fa246d
 1 file changed, 6 insertions(+), 1 deletion(-)
fa246d
fa246d
diff --git a/src/firewall/functions.py b/src/firewall/functions.py
fa246d
index d20b702e047e..1ea9f4309234 100644
fa246d
--- a/src/firewall/functions.py
fa246d
+++ b/src/firewall/functions.py
fa246d
@@ -43,7 +43,12 @@ from firewall.config import FIREWALLD_TEMPDIR, FIREWALLD_PIDFILE
fa246d
 PY2 = sys.version < '3'
fa246d
 
fa246d
 NOPRINT_TRANS_TABLE = {
fa246d
-    i: None for i in range(0, sys.maxunicode + 1) if not chr(i).isprintable()
fa246d
+    # Limit to C0 and C1 code points. Building entries for all unicode code
fa246d
+    # points requires too much memory.
fa246d
+    # C0 = [0, 31]
fa246d
+    # C1 = [127, 159]
fa246d
+    #
fa246d
+    i: None for i in range(0, 160) if not (i > 31 and i < 127)
fa246d
 }
fa246d
 
fa246d
 def getPortID(port):
fa246d
-- 
fa246d
2.27.0
fa246d