From 449e333dbf4c803bb179e7d27f08666fd6e333af Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 18 Nov 2014 10:40:31 +0100 Subject: [PATCH] Do not restore SELinux settings that were not backed up https://fedorahosted.org/freeipa/ticket/4678 Reviewed-By: Petr Vobornik --- ipaplatform/base/tasks.py | 3 ++- ipaplatform/redhat/tasks.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py index a6684d7653d6de8202a489edb1f7a38f4b344bbc..ab2c50332bce9f6eb95e2cb76aa6f7904b542765 100644 --- a/ipaplatform/base/tasks.py +++ b/ipaplatform/base/tasks.py @@ -146,7 +146,8 @@ class BaseTaskNamespace(object): :param required_settings: A dictionary mapping the boolean names to desired_values. - The desired value can be 'on' or 'off'. + The desired value can be 'on' or 'off', + or None to leave the setting unchanged. :param backup_func: A function called for each boolean with two arguments: the name and the previous value diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py index 4977e1c7c496e36d56110bcdf040ab5c932d31a2..c01d8cf8b65b3d93ba204b3453f5c65d556723cf 100644 --- a/ipaplatform/redhat/tasks.py +++ b/ipaplatform/redhat/tasks.py @@ -366,6 +366,8 @@ class RedHatTaskNamespace(BaseTaskNamespace): updated_vars = {} failed_vars = {} for setting, state in required_settings.iteritems(): + if state is None: + continue try: (stdout, stderr, rc) = ipautil.run([paths.GETSEBOOL, setting]) original_state = stdout.split()[2] -- 2.1.0