File: aa-sandbox

package info (click to toggle)
apparmor 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,096 kB
  • sloc: ansic: 24,943; python: 24,914; cpp: 9,074; sh: 8,166; yacc: 2,061; makefile: 1,923; lex: 1,215; pascal: 1,147; perl: 1,033; ruby: 365; lisp: 282; exp: 250; java: 212; xml: 159
file content (40 lines) | stat: -rwxr-xr-x 1,158 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#! /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)