mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 16:35:02 +01:00

With the recent addition of features like ptrace and signals that give warnings and then ignore the subset of rules when the features directory indicates that the kernel does not support mediating such features, at least one of the language tests fails in a chroot environment where the apparmor securityfs tree is not mounted inside it. To compensate, a features file containing the current supported features is included, and the simple.pl test driver is modified to pass it as an argument to the parser, so that it will act as if the environment supports all our current features. A simple python script is included that was used to generate the features file based on the current feature set. Signed-off-by: Steve Beattie <steve@nxnw.org> Acked-by: Seth Arnold <seth.arnold@canonical.com>
37 lines
1.1 KiB
Python
Executable file
37 lines
1.1 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
# ------------------------------------------------------------------
|
|
#
|
|
# Copyright (C) 2014 Canonical Ltd.
|
|
# Author: Steve Beattie <steve@nxnw.org>
|
|
#
|
|
# 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.
|
|
#
|
|
# ------------------------------------------------------------------
|
|
|
|
from testlib import read_features_dir
|
|
from argparse import ArgumentParser
|
|
import os
|
|
from sys import stderr, exit
|
|
|
|
DEFAULT_FEATURES_DIR='/sys/kernel/security/apparmor/features'
|
|
|
|
def main():
|
|
p = ArgumentParser()
|
|
|
|
p.add_argument('fdir', action="store", nargs='?', metavar="features_dir",
|
|
default=DEFAULT_FEATURES_DIR, help="path to features directory")
|
|
config = p.parse_args()
|
|
|
|
if not os.path.exists(config.fdir):
|
|
print('Unable to find apparmor features directory "%s"' % config.fdir, file=stderr)
|
|
return 1
|
|
|
|
features = read_features_dir(config.fdir)
|
|
print(features)
|
|
|
|
return 0
|
|
|
|
if __name__ == "__main__":
|
|
exit(main())
|