mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 10:07:12 +00:00
Merge utils: catch TypeError exception for binary logs
When a log like system.journal is passed on to aa-genprof, for example, the user receives a TypeError exception: in method 'parse_record', argument 1 of type 'char *' This patch catches that exception and displays a more meaningful message. Fixes: https://gitlab.com/apparmor/apparmor/-/issues/436 Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com> Closes #436 MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/1354 Approved-by: Christian Boltz <apparmor@cboltz.de> Merged-by: John Johansen <john@jjmx.net> (cherry picked from commit cb0f84e1014e0c002735381f09a929ef4dff892c) Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com>
This commit is contained in:
parent
d3a6965a5f
commit
506c98e752
@ -17,6 +17,7 @@ import re
|
||||
import sys
|
||||
import time
|
||||
import LibAppArmor
|
||||
import apparmor.ui as aaui
|
||||
from apparmor.common import AppArmorException, AppArmorBug, open_file_read, DebugLogger
|
||||
|
||||
from apparmor.aamode import validate_log_mode, log_str_to_mode, hide_log_mode, AA_MAY_EXEC
|
||||
@ -95,7 +96,13 @@ class ReadLog:
|
||||
if sys.version_info < (3, 0):
|
||||
# parse_record fails with u'foo' style strings hence typecasting to string
|
||||
msg = str(msg)
|
||||
|
||||
try:
|
||||
event = LibAppArmor.parse_record(msg)
|
||||
except TypeError:
|
||||
aaui.UI_Important(_("WARNING: Cannot process log message, skipping entry. Make sure log is plaintext."))
|
||||
return None
|
||||
|
||||
ev = dict()
|
||||
ev['resource'] = event.info
|
||||
ev['active_hat'] = event.active_hat
|
||||
|
Loading…
x
Reference in New Issue
Block a user