#! /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)