Fix semanage permissive subcommands (#1286325)

This commit is contained in:
Petr Lautrbach 2015-12-11 13:33:37 +01:00
parent 787e3d7645
commit 01cacd6e90
2 changed files with 34 additions and 13 deletions

View File

@ -655466,7 +655466,7 @@ index 0000000..e2befdb
+ packages=["policycoreutils"],
+)
diff --git a/policycoreutils-2.4/semanage/semanage b/policycoreutils-2.4/semanage/semanage
index dd63010..69b9c49 100644
index dd63010..852fecf 100644
--- a/policycoreutils-2.4/semanage/semanage
+++ b/policycoreutils-2.4/semanage/semanage
@@ -1,4 +1,4 @@
@ -655688,16 +655688,37 @@ index dd63010..69b9c49 100644
def setupBooleanParser(subparsers):
generated_usage = generate_custom_usage(usage_boolean, usage_boolean_dict)
@@ -652,7 +666,7 @@ def setupPermissiveParser(subparsers):
parser_add_noheading(permissiveParser, "permissive")
parser_add_noreload(permissiveParser, "permissive")
@@ -632,12 +646,17 @@ def handlePermissive(args):
OBJECT = object_dict['permissive']()
OBJECT.set_reload(args.noreload)
- if args.action is "add":
- OBJECT.add(args.type)
if args.action is "list":
OBJECT.list(args.noheading)
- if args.action is "delete":
- OBJECT.delete(args.type)
+ elif args.type != None:
+ if args.action is "add":
+ OBJECT.add(args.type)
+ if args.action is "delete":
+ OBJECT.delete(args.type)
+ else:
+ args.parser.print_usage(sys.stderr)
+ sys.stderr.write(_('semanage permissive: error: the following argument is required: type\n'))
+ sys.exit(1)
def setupPermissiveParser(subparsers):
permissiveParser = subparsers.add_parser('permissive', help=_('Manage process type enforcement mode'))
@@ -654,6 +673,7 @@ def setupPermissiveParser(subparsers):
parser_add_store(permissiveParser, "permissive")
- permissiveParser.add_argument('type', nargs='?', default=None, help=_('type'))
+ permissiveParser.add_argument('type', nargs='+', default=None, help=_('type'))
permissiveParser.add_argument('type', nargs='?', default=None, help=_('type'))
permissiveParser.set_defaults(func=handlePermissive)
+ permissiveParser.set_defaults(parser=permissiveParser)
def handleDontaudit(args):
@@ -670,11 +684,11 @@ def setupDontauditParser(subparsers):
OBJECT = object_dict['dontaudit']()
@@ -670,11 +690,11 @@ def setupDontauditParser(subparsers):
def handleExport(args):
manageditems=[ "boolean", "login", "interface", "user", "port", "node", "fcontext", "module"]
for i in manageditems:
@ -655711,7 +655732,7 @@ index dd63010..69b9c49 100644
sys.exit(0)
@@ -743,10 +757,10 @@ def handleImport(args):
@@ -743,10 +763,10 @@ def handleImport(args):
commandParser = createCommandParser()
args = commandParser.parse_args(mkargv(l))
args.func(args)
@ -655724,7 +655745,7 @@ index dd63010..69b9c49 100644
sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
sys.exit(1)
except KeyboardInterrupt:
@@ -764,11 +778,11 @@ def setupImportParser(subparsers):
@@ -764,11 +784,11 @@ def setupImportParser(subparsers):
def createCommandParser():
commandParser = seParser(prog='semanage',
@ -655741,7 +655762,7 @@ index dd63010..69b9c49 100644
#To add a new subcommand define the parser for it in a function above and call it here.
subparsers = commandParser.add_subparsers(dest='subcommand')
setupImportParser(subparsers)
@@ -788,7 +802,7 @@ def createCommandParser():
@@ -788,7 +808,7 @@ def createCommandParser():
def make_io_args(args):
# import/export backward compability
@ -655750,7 +655771,7 @@ index dd63010..69b9c49 100644
args_file = []
args_ie = []
args_subcommand = []
@@ -808,6 +822,8 @@ def make_io_args(args):
@@ -808,6 +828,8 @@ def make_io_args(args):
return args_subcommand+args_ie+args_file
def make_args(sys_args):
@ -655759,7 +655780,7 @@ index dd63010..69b9c49 100644
args = []
if "-o" in sys_args[1:] or "-i" in sys_args[1:]:
args=make_io_args(sys_args[1:])
@@ -822,21 +838,21 @@ def do_parser():
@@ -822,21 +844,21 @@ def do_parser():
args = commandParser.parse_args(make_args(sys.argv))
args.func(args)
sys.exit(0)

View File

@ -18,7 +18,7 @@ Source2: policycoreutils_man_ru2.tar.bz2
Source3: system-config-selinux.png
Source4: sepolicy-icons.tgz
# use make-rhat-patches.sh to create following patches from https://github.com/fedora-selinux/selinux/
# HEAD https://github.com/fedora-selinux/selinux/commit/d0f3cdcf325dc08aae2a2884c9cdcb35d82baf19
# HEAD https://github.com/fedora-selinux/selinux/commit/aa4f35f0b462af8bd0f02cf8d948ba2e824dd082
Patch: policycoreutils-rhat.patch
Patch1: sepolgen-rhat.patch
Patch100: policycoreutils-fix-semanage-python3.patch