Cleanup source

This commit is contained in:
2020-03-19 10:33:00 +01:00
parent 9741e93089
commit 30d9d2b779

View File

@@ -172,10 +172,10 @@ class HeaderRule:
# set an empty value to delete the header # set an empty value to delete the header
new_value = "" new_value = ""
else: else:
new_value = self.search.sub(self.value, str(value)) new_value = self.search.sub(self.value, value)
if value != new_value: if value != new_value:
modified.append( modified.append(
(name, Header(s=new_value), index, occurrences[name])) (name, new_value, index, occurrences[name]))
index += 1 index += 1
return modified return modified
@@ -238,7 +238,7 @@ class HeaderMilter(Milter.Base):
value = value.encode( value = value.encode(
errors="surrogateescape").decode(errors="replace") errors="surrogateescape").decode(errors="replace")
self.logger.debug(f"{self.qid}: received header: {name}: {value}") self.logger.debug(f"{self.qid}: received header: {name}: {value}")
value = make_header(decode_header(value), errors="replace") value = str(make_header(decode_header(value), errors="replace"))
self.logger.debug( self.logger.debug(
f"{self.qid}: decoded header: {name}: {value}") f"{self.qid}: decoded header: {name}: {value}")
self.headers.append((name, value)) self.headers.append((name, value))
@@ -255,6 +255,7 @@ class HeaderMilter(Milter.Base):
modified = rule.execute(self.headers) modified = rule.execute(self.headers)
for name, value, index, occurrence in modified: for name, value, index, occurrence in modified:
header = f"{name}: {value}" header = f"{name}: {value}"
enc_value = Header(s=value).encode()
if rule.action == "add": if rule.action == "add":
if rule.log: if rule.log:
self.logger.info( self.logger.info(
@@ -265,7 +266,7 @@ class HeaderMilter(Milter.Base):
f"{self.qid}: add: header: " f"{self.qid}: add: header: "
f"{header}") f"{header}")
self.headers.insert(0, (name, value)) self.headers.insert(0, (name, value))
self.addheader(name, value.encode(), 1) self.addheader(name, enc_value, 1)
else: else:
if rule.action == "mod": if rule.action == "mod":
old_header = "{}: {}".format(*self.headers[index]) old_header = "{}: {}".format(*self.headers[index])
@@ -290,7 +291,7 @@ class HeaderMilter(Milter.Base):
f"(occ. {occurrence}): {header}") f"(occ. {occurrence}): {header}")
del self.headers[index] del self.headers[index]
self.chgheader(name, occurrence, value.encode()) self.chgheader(name, occurrence, enc_value)
return Milter.ACCEPT return Milter.ACCEPT
except Exception as e: except Exception as e:
self.logger.exception( self.logger.exception(