aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2020-04-08 18:19:06 +0100
committerGravatar jesopo2020-04-08 18:19:06 +0100
commit7fdb9a1e55869c6424f5dd4882147487c14f93a6 (patch)
tree57edf8d2c7bc53da8a9cff225c68405c9f4bb62f
parentfail an alias when an ${} var isn't found (diff)
fix regression of message filters not matching without formatting
-rw-r--r--modules/message_filter.py16
-rw-r--r--src/utils/parse/sed.py4
2 files changed, 11 insertions, 9 deletions
diff --git a/modules/message_filter.py b/modules/message_filter.py
index a6191a66..0eb08ccf 100644
--- a/modules/message_filter.py
+++ b/modules/message_filter.py
@@ -31,14 +31,16 @@ class Module(ModuleManager.BaseModule):
filters = self._get_filters(event["server"], target)
for filter in filters:
sed = utils.parse.sed.parse(filter)
- type, out = utils.parse.sed.sed(sed, message)
- if type == "m" and out:
- self.log.info("Message matched filter, dropping: %s"
- % event["line"].format())
- event["line"].invalidate()
- return
- elif type == "s":
+ if sed.type == "m":
+ out = utils.parse.sed.sed(sed, message_plain)
+ if out:
+ self.log.info("Message matched filter, dropping: %s"
+ % event["line"].format())
+ event["line"].invalidate()
+ return
+ elif sed.type == "s":
+ out = utils.parse.sed.sed(sed, message)
message = out
if not message == original_message:
diff --git a/src/utils/parse/sed.py b/src/utils/parse/sed.py
index 76b9e567..8a1c895d 100644
--- a/src/utils/parse/sed.py
+++ b/src/utils/parse/sed.py
@@ -76,6 +76,6 @@ def parse(sed_s: str) -> typing.Optional[Sed]:
return SedMatch(type, re.compile(pattern, flags))
return None
-def sed(sed_obj: Sed, s: str) -> typing.Tuple[str, typing.Optional[str]]:
+def sed(sed_obj: Sed, s: str) -> typing.Optional[str]:
out = sed_obj.match(s)
- return sed_obj.type, out
+ return out