diff --git a/intelmq/bots/experts/idea/expert.py b/intelmq/bots/experts/idea/expert.py index 4fb6f4403734cecd95099240396a5347b8190063..eef5f208cf93ae25e0612b82f10d14e1b63c33dc 100644 --- a/intelmq/bots/experts/idea/expert.py +++ b/intelmq/bots/experts/idea/expert.py @@ -6,14 +6,16 @@ from collections import Sequence, Mapping from base64 import b64decode from uuid import uuid4 if version_info >= (3, 0): - from urllib.parse import quote_plus as quot + from urllib.parse import quote_plus basestring = str else: - from urllib import quote_plus as quot + from urllib import quote_plus from intelmq.lib.bot import Bot from intelmq.lib.message import Event +def quot(s): + return quote_plus((s or "").encode("UTF-8")) def get_value(src, value): try: @@ -133,7 +135,7 @@ translation = { "Ref": [lambda s: "malware:" + quot(s["malware.name"] + quot(s.get("malware.version")))] }, { - "Content": lambda s: b64decode(s["raw"]), + "Content": lambda s: b64decode(s["raw"]).decode("ISO-8859-1"), "Type": [lambda s: s["raw"] and "OrigData"], "Ref": ["feed.url"] }