diff --git a/bazarr/logger.py b/bazarr/logger.py index db7f2476f..64d3de0db 100644 --- a/bazarr/logger.py +++ b/bazarr/logger.py @@ -117,22 +117,20 @@ class BlacklistFilter(ArgsFilteringFilter): """ Log filter for blacklisted tokens and passwords """ + APIKEY_RE = re.compile(r'apikey(?:=|%3D)([a-zA-Z0-9]+)') def __init__(self): super(BlacklistFilter, self).__init__() def filter(self, record): def mask_apikeys(s): - apikeys = re.findall(r'apikey(?:=|%3D)([a-zA-Z0-9]+)', s) + apikeys = self.APIKEY_RE.findall(s) for apikey in apikeys: s = s.replace(apikey, 8 * '*' + apikey[-2:]) return s try: - apikeys = re.findall(r'apikey(?:=|%3D)([a-zA-Z0-9]+)', record.msg) - for apikey in apikeys: - record.msg = record.msg.replace(apikey, 8 * '*' + apikey[-2:]) - + record.msg = mask_apikeys(record.msg) self.filter_args(record, mask_apikeys) except: pass @@ -143,23 +141,21 @@ class PublicIPFilter(ArgsFilteringFilter): """ Log filter for public IP addresses """ + IPV4_RE = re.compile(r'[0-9]+(?:\.[0-9]+){3}(?!\d*-[a-z0-9]{6})') def __init__(self): super(PublicIPFilter, self).__init__() def filter(self, record): def mask_ipv4(s): - ipv4 = re.findall(r'[0-9]+(?:\.[0-9]+){3}(?!\d*-[a-z0-9]{6})', s) + ipv4 = self.IPV4_RE.findall(s) for ip in ipv4: s = s.replace(ip, ip.partition('.')[0] + '.***.***.***') return s try: # Currently only checking for ipv4 addresses - ipv4 = re.findall(r'[0-9]+(?:\.[0-9]+){3}(?!\d*-[a-z0-9]{6})', record.msg) - for ip in ipv4: - record.msg = record.msg.replace(ip, ip.partition('.')[0] + '.***.***.***') - + record.msg = mask_ipv4(record.msg) self.filter_args(record, mask_ipv4) except: pass