diff options
| author | 2020-04-08 18:19:06 +0100 | |
|---|---|---|
| committer | 2020-04-08 18:19:06 +0100 | |
| commit | 7fdb9a1e55869c6424f5dd4882147487c14f93a6 (patch) | |
| tree | 57edf8d2c7bc53da8a9cff225c68405c9f4bb62f | |
| parent | fail an alias when an ${} var isn't found (diff) | |
fix regression of message filters not matching without formatting
| -rw-r--r-- | modules/message_filter.py | 16 | ||||
| -rw-r--r-- | src/utils/parse/sed.py | 4 |
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 |
