diff mbox series

gui: Fix remove module in system-config-selinux

Message ID 20190924191221.245789-1-plautrba@redhat.com (mailing list archive)
State Accepted
Headers show
Series gui: Fix remove module in system-config-selinux | expand

Commit Message

Petr Lautrbach Sept. 24, 2019, 7:12 p.m. UTC
When a user tried to remove a policy module with priority other than 400 via
GUI, it failed with a message:

libsemanage.semanage_direct_remove_key: Unable to remove module somemodule at priority 400. (No such file or directory).

This is fixed by calling "semodule -x PRIORITY -r NAME" instead of
"semodule -r NAME".

From Jono Hein <fredwacko40@hotmail.com>
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
---
 gui/modulesPage.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Stephen Smalley Sept. 26, 2019, 12:54 p.m. UTC | #1
On 9/24/19 3:12 PM, Petr Lautrbach wrote:
> When a user tried to remove a policy module with priority other than 400 via
> GUI, it failed with a message:
> 
> libsemanage.semanage_direct_remove_key: Unable to remove module somemodule at priority 400. (No such file or directory).
> 
> This is fixed by calling "semodule -x PRIORITY -r NAME" instead of
> "semodule -r NAME".
> 
>  From Jono Hein <fredwacko40@hotmail.com>
> Signed-off-by: Petr Lautrbach <plautrba@redhat.com>

Thanks, applied.

> ---
>   gui/modulesPage.py | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/gui/modulesPage.py b/gui/modulesPage.py
> index cb856b2d..0584acf9 100644
> --- a/gui/modulesPage.py
> +++ b/gui/modulesPage.py
> @@ -125,9 +125,10 @@ class modulesPage(semanagePage):
>       def delete(self):
>           store, iter = self.view.get_selection().get_selected()
>           module = store.get_value(iter, 0)
> +        priority = store.get_value(iter, 1)
>           try:
>               self.wait()
> -            status, output = getstatusoutput("semodule -r %s" % module)
> +            status, output = getstatusoutput("semodule -X %s -r %s" % (priority, module))
>               self.ready()
>               if status != 0:
>                   self.error(output)
>
diff mbox series

Patch

diff --git a/gui/modulesPage.py b/gui/modulesPage.py
index cb856b2d..0584acf9 100644
--- a/gui/modulesPage.py
+++ b/gui/modulesPage.py
@@ -125,9 +125,10 @@  class modulesPage(semanagePage):
     def delete(self):
         store, iter = self.view.get_selection().get_selected()
         module = store.get_value(iter, 0)
+        priority = store.get_value(iter, 1)
         try:
             self.wait()
-            status, output = getstatusoutput("semodule -r %s" % module)
+            status, output = getstatusoutput("semodule -X %s -r %s" % (priority, module))
             self.ready()
             if status != 0:
                 self.error(output)