diff options
author | Eugeni Dodonov <eugeni@mandriva.org> | 2009-06-25 19:32:21 +0000 |
---|---|---|
committer | Eugeni Dodonov <eugeni@mandriva.org> | 2009-06-25 19:32:21 +0000 |
commit | e0fb064bf52c9e18009573e900beb93b478fb2bb (patch) | |
tree | 648308120b9447f3794f385cd517ea7ced8e65ac /src/msec/libmsec.py | |
parent | 5f0f9cd16248a75d0a2e1fc52b8f8625fbbbff6a (diff) | |
download | msec-e0fb064bf52c9e18009573e900beb93b478fb2bb.tar msec-e0fb064bf52c9e18009573e900beb93b478fb2bb.tar.gz msec-e0fb064bf52c9e18009573e900beb93b478fb2bb.tar.bz2 msec-e0fb064bf52c9e18009573e900beb93b478fb2bb.tar.xz msec-e0fb064bf52c9e18009573e900beb93b478fb2bb.zip |
Correctly handling unicode messages (#50869).
Diffstat (limited to 'src/msec/libmsec.py')
-rwxr-xr-x | src/msec/libmsec.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/msec/libmsec.py b/src/msec/libmsec.py index d3f8d6e..4f520ae 100755 --- a/src/msec/libmsec.py +++ b/src/msec/libmsec.py @@ -56,8 +56,7 @@ import config # localization try: - cat = gettext.Catalog('msec') - _ = cat.gettext + gettext.install('msec') except IOError: _ = str @@ -218,11 +217,20 @@ class Log: self.logger.setLevel(log_level) + def trydecode(self, message): + """Attempts to decode a unicode message""" + try: + msg = message.decode('UTF-*') + except: + msg = message + return msg + def info(self, message): """Informative message (normal msec operation)""" if self.quiet: # skip informative messages in quiet mode return + message = self.trydecode(message) if self.buffer: self.buffer["info"].append(message) else: @@ -230,6 +238,7 @@ class Log: def error(self, message): """Error message (security has changed: authentication, passwords, etc)""" + message = self.trydecode(message) if self.buffer: self.buffer["error"].append(message) else: @@ -237,6 +246,7 @@ class Log: def debug(self, message): """Debugging message""" + message = self.trydecode(message) if self.buffer: self.buffer["debug"].append(message) else: @@ -244,6 +254,7 @@ class Log: def critical(self, message): """Critical message (big security risk, e.g., rootkit, etc)""" + message = self.trydecode(message) if self.buffer: self.buffer["critical"].append(message) else: @@ -254,6 +265,7 @@ class Log: if self.quiet: # skip warning messages in quiet mode return + message = self.trydecode(message) if self.buffer: self.buffer["warn"].append(message) else: |