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