Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
dd3f8ac11e
|
|||
|
d93eab4d41
|
|||
|
6117ff372d
|
|||
|
782e744f08
|
|||
|
9337ac72d8
|
@@ -31,6 +31,7 @@ from pyquarantine import storages
|
|||||||
from pyquarantine import whitelists
|
from pyquarantine import whitelists
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
"make_header",
|
||||||
"Quarantine",
|
"Quarantine",
|
||||||
"QuarantineMilter",
|
"QuarantineMilter",
|
||||||
"setup_milter",
|
"setup_milter",
|
||||||
@@ -40,9 +41,10 @@ __all__ = [
|
|||||||
"notifications",
|
"notifications",
|
||||||
"storages",
|
"storages",
|
||||||
"run",
|
"run",
|
||||||
"version",
|
|
||||||
"whitelists"]
|
"whitelists"]
|
||||||
|
|
||||||
|
__version__ = "1.0.6"
|
||||||
|
|
||||||
|
|
||||||
def make_header(decoded_seq, maxlinelen=None, header_name=None,
|
def make_header(decoded_seq, maxlinelen=None, header_name=None,
|
||||||
continuation_ws=' ', errors='strict'):
|
continuation_ws=' ', errors='strict'):
|
||||||
@@ -342,7 +344,7 @@ class QuarantineMilter(Milter.Base):
|
|||||||
if quarantine.host_in_whitelist(hostaddr):
|
if quarantine.host_in_whitelist(hostaddr):
|
||||||
self.logger.debug(
|
self.logger.debug(
|
||||||
f"host {hostaddr[0]} is in whitelist of "
|
f"host {hostaddr[0]} is in whitelist of "
|
||||||
f"quarantine {quarantine['name']}")
|
f"quarantine {quarantine.name}")
|
||||||
self.quarantines.remove(quarantine)
|
self.quarantines.remove(quarantine)
|
||||||
if not self.quarantines:
|
if not self.quarantines:
|
||||||
self.logger.debug(
|
self.logger.debug(
|
||||||
@@ -384,7 +386,8 @@ class QuarantineMilter(Milter.Base):
|
|||||||
# write email header to memory buffer
|
# write email header to memory buffer
|
||||||
self.fp.write(f"{name}: {value}\r\n".encode(
|
self.fp.write(f"{name}: {value}\r\n".encode(
|
||||||
encoding="ascii", errors="replace"))
|
encoding="ascii", errors="replace"))
|
||||||
value = str(make_header(decode_header(value), errors="replace"))
|
header = make_header(decode_header(value), errors="replace")
|
||||||
|
value = str(header).replace("\x00", "")
|
||||||
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))
|
||||||
|
|||||||
@@ -21,14 +21,14 @@ import sys
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
from pyquarantine import QuarantineMilter, setup_milter
|
from pyquarantine import QuarantineMilter, setup_milter
|
||||||
from pyquarantine.version import __version__ as version
|
from pyquarantine import __version__ as version
|
||||||
|
|
||||||
|
|
||||||
def _get_quarantine(quarantines, name):
|
def _get_quarantine(quarantines, name):
|
||||||
try:
|
try:
|
||||||
quarantine = next((q for q in quarantines if q.name == name))
|
quarantine = next((q for q in quarantines if q.name == name))
|
||||||
except StopIteration:
|
except StopIteration:
|
||||||
raise RuntimeError(f"invalid quarantine 'name'")
|
raise RuntimeError("invalid quarantine 'name'")
|
||||||
return quarantine
|
return quarantine
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ class EMailNotification(BaseNotification):
|
|||||||
raise RuntimeError(f"error reading image: {e}")
|
raise RuntimeError(f"error reading image: {e}")
|
||||||
else:
|
else:
|
||||||
filename = basename(img_path)
|
filename = basename(img_path)
|
||||||
img.add_header(f"Content-ID", f"<{filename}>")
|
img.add_header("Content-ID", f"<{filename}>")
|
||||||
self.embedded_imgs.append(img)
|
self.embedded_imgs.append(img)
|
||||||
|
|
||||||
def get_email_body_soup(self, qid, msg):
|
def get_email_body_soup(self, qid, msg):
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import sys
|
|||||||
|
|
||||||
import pyquarantine
|
import pyquarantine
|
||||||
|
|
||||||
from pyquarantine.version import __version__ as version
|
from pyquarantine import __version__ as version
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
__version__ = "1.0.4"
|
|
||||||
2
setup.cfg
Normal file
2
setup.cfg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[metadata]
|
||||||
|
version = attr: pyquarantine.__version__
|
||||||
3
setup.py
3
setup.py
@@ -4,11 +4,8 @@ def read_file(fname):
|
|||||||
with open(fname, 'r') as f:
|
with open(fname, 'r') as f:
|
||||||
return f.read()
|
return f.read()
|
||||||
|
|
||||||
version = {}
|
|
||||||
exec(read_file("pyquarantine/version.py"), version)
|
|
||||||
|
|
||||||
setup(name = "pyquarantine",
|
setup(name = "pyquarantine",
|
||||||
version = version["__version__"],
|
|
||||||
author = "Thomas Oettli",
|
author = "Thomas Oettli",
|
||||||
author_email = "spacefreak@noop.ch",
|
author_email = "spacefreak@noop.ch",
|
||||||
description = "A pymilter based sendmail/postfix pre-queue filter.",
|
description = "A pymilter based sendmail/postfix pre-queue filter.",
|
||||||
|
|||||||
Reference in New Issue
Block a user