mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-09-02 15:25:27 +00:00
Let the apparmor.fail error handler print to stderr
The patch also switches to using error() instead of a plain print() for AppArmorException, which means prefixing the error message with 'ERROR: ' References: https://bugs.launchpad.net/apparmor/+bug/1521400 Acked-by: Tyler Hicks <tyhicks@canonical.com> for trunk and 2.10.
This commit is contained in:
@@ -8,12 +8,16 @@
|
|||||||
#
|
#
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
from __future__ import print_function # needed in py2 for print('...', file=sys.stderr)
|
||||||
|
|
||||||
import cgitb
|
import cgitb
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
from apparmor.common import error
|
||||||
|
|
||||||
#
|
#
|
||||||
# Exception handling
|
# Exception handling
|
||||||
#
|
#
|
||||||
@@ -27,8 +31,8 @@ def handle_exception(*exc_info):
|
|||||||
(ex_cls, ex, tb) = exc_info
|
(ex_cls, ex, tb) = exc_info
|
||||||
|
|
||||||
if ex_cls.__name__ == 'AppArmorException': # I didn't find a way to get this working with isinstance() :-/
|
if ex_cls.__name__ == 'AppArmorException': # I didn't find a way to get this working with isinstance() :-/
|
||||||
print('')
|
print('', file=sys.stderr)
|
||||||
print(ex.value)
|
error(ex.value)
|
||||||
else:
|
else:
|
||||||
(fd, path) = tempfile.mkstemp(prefix='apparmor-bugreport-', suffix='.txt')
|
(fd, path) = tempfile.mkstemp(prefix='apparmor-bugreport-', suffix='.txt')
|
||||||
file = os.fdopen(fd, 'w')
|
file = os.fdopen(fd, 'w')
|
||||||
@@ -40,13 +44,13 @@ def handle_exception(*exc_info):
|
|||||||
file.write('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/\n')
|
file.write('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/\n')
|
||||||
file.write('and attach this file.\n')
|
file.write('and attach this file.\n')
|
||||||
|
|
||||||
print(''.join(traceback.format_exception(*exc_info)))
|
print(''.join(traceback.format_exception(*exc_info)), file=sys.stderr)
|
||||||
print('')
|
print('', file=sys.stderr)
|
||||||
print('An unexpected error occoured!')
|
print('An unexpected error occoured!', file=sys.stderr)
|
||||||
print('')
|
print('', file=sys.stderr)
|
||||||
print('For details, see %s' % path)
|
print('For details, see %s' % path, file=sys.stderr)
|
||||||
print('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/')
|
print('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/', file=sys.stderr)
|
||||||
print('and attach this file.')
|
print('and attach this file.', file=sys.stderr)
|
||||||
|
|
||||||
def enable_aa_exception_handler():
|
def enable_aa_exception_handler():
|
||||||
'''Setup handle_exception() as exception handler'''
|
'''Setup handle_exception() as exception handler'''
|
||||||
|
Reference in New Issue
Block a user