mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00
40 lines
1.1 KiB
Python
Executable file
40 lines
1.1 KiB
Python
Executable file
#! /usr/bin/python3
|
|
# ------------------------------------------------------------------
|
|
#
|
|
# Copyright (C) 2012 Canonical Ltd.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of version 2 of the GNU General Public
|
|
# License published by the Free Software Foundation.
|
|
#
|
|
# ------------------------------------------------------------------
|
|
|
|
import optparse
|
|
import sys
|
|
|
|
import apparmor.sandbox
|
|
from apparmor.common import error
|
|
from apparmor.fail import enable_aa_exception_handler
|
|
|
|
enable_aa_exception_handler() # setup exception handling
|
|
|
|
if __name__ == "__main__":
|
|
argv = sys.argv
|
|
parser = optparse.OptionParser()
|
|
apparmor.easyprof.add_parser_policy_args(parser)
|
|
(opt, args) = apparmor.sandbox.parse_args(sys.argv, parser)
|
|
|
|
if len(args) < 1:
|
|
error("Must specify binary")
|
|
|
|
binary = args[0]
|
|
if not apparmor.sandbox.check_requirements(binary):
|
|
sys.exit(1)
|
|
|
|
if opt.withx:
|
|
rc, report = apparmor.sandbox.run_xsandbox(args, opt)
|
|
else:
|
|
rc, report = apparmor.sandbox.run_sandbox(args, opt)
|
|
|
|
apparmor.common.msg(report)
|
|
sys.exit(rc)
|