Message ID | 1480410540-5192-1-git-send-email-vmojzis@redhat.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On 11/29/2016 04:09 AM, Vit Mojzis wrote: > Radiobutton was always set to "Permissive" and couldn't be switched. > Update radiobutton together with status text in bottom left corner. > > Signed-off-by: Vit Mojzis <vmojzis@redhat.com> Thanks, applied. However, sepolicy gui doesn't work for me (before or after this change): $ cd selinux $ sudo make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel $ sepolicy gui Traceback (most recent call last): File "/usr/bin/sepolicy", line 699, in <module> args.func(args) File "/usr/bin/sepolicy", line 327, in gui_run sepolicy.gui.SELinuxGui(args.domain, args.test) File "/usr/lib/python2.7/site-packages/sepolicy/gui.py", line 135, in __init__ builder.add_from_file(glade_file) GLib.Error: g-file-error-quark: Failed to open file '/usr/lib64/python2.7/site-packages/sepolicy/sepolicy.glade': No such file or directory (4) Are we failing to install the glade file properly in the Makefiles? And does python/sepolicy/sepolicy/sepolicy.glade belong under gui/ instead? > --- > python/sepolicy/sepolicy/gui.py | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py > index ee78e0c..3c5a9d2 100644 > --- a/python/sepolicy/sepolicy/gui.py > +++ b/python/sepolicy/sepolicy/gui.py > @@ -2609,9 +2609,10 @@ class SELinuxGui(): > def set_enforce_text(self, value): > if value: > self.status_bar.push(self.context_id, _("System Status: Enforcing")) > + self.current_status_enforcing.set_active(True) > else: > self.status_bar.push(self.context_id, _("System Status: Permissive")) > - self.current_status_permissive.set_active(True) > + self.current_status_permissive.set_active(True) > > def set_enforce(self, button): > self.dbus.setenforce(button.get_active()) >
On 11/30/2016 08:44 AM, Vit Mojzis wrote: > The glade file is installed properly, only > python/sepolicy/sepolicy/gui.py is searching for it in the wrong place > (lib64). Please find attached patch that should fix the issue. Thanks, but now I get: $ sepolicy gui (sepolicy:18202): Gtk-WARNING **: Could not load image 'images/booleans.png': Failed to open file '/usr/lib/python2.7/site-packages/sepolicy/images/booleans.png': No such file or directory (sepolicy:18202): Gtk-WARNING **: Overriding tab label for notebook Traceback (most recent call last): File "/usr/bin/sepolicy", line 699, in <module> args.func(args) File "/usr/bin/sepolicy", line 327, in gui_run sepolicy.gui.SELinuxGui(args.domain, args.test) File "/usr/lib/python2.7/site-packages/sepolicy/gui.py", line 517, in __init__ path = sepolicy.find_entrypoint_path(entrypoint) File "/usr/lib/python2.7/site-packages/sepolicy/__init__.py", line 486, in find_entrypoint_path if exe.endswith("_exec_t") and exe not in exclude_list: AttributeError: 'list' object has no attribute 'endswith' > > > On 29.11.2016 15:02, Stephen Smalley wrote: >> On 11/29/2016 04:09 AM, Vit Mojzis wrote: >>> Radiobutton was always set to "Permissive" and couldn't be switched. >>> Update radiobutton together with status text in bottom left corner. >>> >>> Signed-off-by: Vit Mojzis <vmojzis@redhat.com> >> Thanks, applied. However, sepolicy gui doesn't work for me (before or >> after this change): >> $ cd selinux >> $ sudo make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap >> relabel >> $ sepolicy gui >> Traceback (most recent call last): >> File "/usr/bin/sepolicy", line 699, in <module> >> args.func(args) >> File "/usr/bin/sepolicy", line 327, in gui_run >> sepolicy.gui.SELinuxGui(args.domain, args.test) >> File "/usr/lib/python2.7/site-packages/sepolicy/gui.py", line 135, in >> __init__ >> builder.add_from_file(glade_file) >> GLib.Error: g-file-error-quark: Failed to open file >> '/usr/lib64/python2.7/site-packages/sepolicy/sepolicy.glade': No such >> file or directory (4) >> >> Are we failing to install the glade file properly in the Makefiles? >> And does python/sepolicy/sepolicy/sepolicy.glade belong under gui/ >> instead? >> >>> --- >>> python/sepolicy/sepolicy/gui.py | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/python/sepolicy/sepolicy/gui.py >>> b/python/sepolicy/sepolicy/gui.py >>> index ee78e0c..3c5a9d2 100644 >>> --- a/python/sepolicy/sepolicy/gui.py >>> +++ b/python/sepolicy/sepolicy/gui.py >>> @@ -2609,9 +2609,10 @@ class SELinuxGui(): >>> def set_enforce_text(self, value): >>> if value: >>> self.status_bar.push(self.context_id, _("System Status: >>> Enforcing")) >>> + self.current_status_enforcing.set_active(True) >>> else: >>> self.status_bar.push(self.context_id, _("System Status: >>> Permissive")) >>> - self.current_status_permissive.set_active(True) >>> + self.current_status_permissive.set_active(True) >>> def set_enforce(self, button): >>> self.dbus.setenforce(button.get_active()) >>> >
This is caused by recent changes in sepolicy that were not reflected in gui. I'm working on the issue, but it's probably gonna take some time. Thanks for the feedback. On 30.11.2016 14:52, Stephen Smalley wrote: > On 11/30/2016 08:44 AM, Vit Mojzis wrote: >> The glade file is installed properly, only >> python/sepolicy/sepolicy/gui.py is searching for it in the wrong place >> (lib64). Please find attached patch that should fix the issue. > Thanks, but now I get: > $ sepolicy gui > > (sepolicy:18202): Gtk-WARNING **: Could not load image > 'images/booleans.png': Failed to open file > '/usr/lib/python2.7/site-packages/sepolicy/images/booleans.png': No such > file or directory > > (sepolicy:18202): Gtk-WARNING **: Overriding tab label for notebook > Traceback (most recent call last): > File "/usr/bin/sepolicy", line 699, in <module> > args.func(args) > File "/usr/bin/sepolicy", line 327, in gui_run > sepolicy.gui.SELinuxGui(args.domain, args.test) > File "/usr/lib/python2.7/site-packages/sepolicy/gui.py", line 517, in > __init__ > path = sepolicy.find_entrypoint_path(entrypoint) > File "/usr/lib/python2.7/site-packages/sepolicy/__init__.py", line > 486, in find_entrypoint_path > if exe.endswith("_exec_t") and exe not in exclude_list: > AttributeError: 'list' object has no attribute 'endswith' > >> >> On 29.11.2016 15:02, Stephen Smalley wrote: >>> On 11/29/2016 04:09 AM, Vit Mojzis wrote: >>>> Radiobutton was always set to "Permissive" and couldn't be switched. >>>> Update radiobutton together with status text in bottom left corner. >>>> >>>> Signed-off-by: Vit Mojzis <vmojzis@redhat.com> >>> Thanks, applied. However, sepolicy gui doesn't work for me (before or >>> after this change): >>> $ cd selinux >>> $ sudo make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap >>> relabel >>> $ sepolicy gui >>> Traceback (most recent call last): >>> File "/usr/bin/sepolicy", line 699, in <module> >>> args.func(args) >>> File "/usr/bin/sepolicy", line 327, in gui_run >>> sepolicy.gui.SELinuxGui(args.domain, args.test) >>> File "/usr/lib/python2.7/site-packages/sepolicy/gui.py", line 135, in >>> __init__ >>> builder.add_from_file(glade_file) >>> GLib.Error: g-file-error-quark: Failed to open file >>> '/usr/lib64/python2.7/site-packages/sepolicy/sepolicy.glade': No such >>> file or directory (4) >>> >>> Are we failing to install the glade file properly in the Makefiles? >>> And does python/sepolicy/sepolicy/sepolicy.glade belong under gui/ >>> instead? >>> >>>> --- >>>> python/sepolicy/sepolicy/gui.py | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/python/sepolicy/sepolicy/gui.py >>>> b/python/sepolicy/sepolicy/gui.py >>>> index ee78e0c..3c5a9d2 100644 >>>> --- a/python/sepolicy/sepolicy/gui.py >>>> +++ b/python/sepolicy/sepolicy/gui.py >>>> @@ -2609,9 +2609,10 @@ class SELinuxGui(): >>>> def set_enforce_text(self, value): >>>> if value: >>>> self.status_bar.push(self.context_id, _("System Status: >>>> Enforcing")) >>>> + self.current_status_enforcing.set_active(True) >>>> else: >>>> self.status_bar.push(self.context_id, _("System Status: >>>> Permissive")) >>>> - self.current_status_permissive.set_active(True) >>>> + self.current_status_permissive.set_active(True) >>>> def set_enforce(self, button): >>>> self.dbus.setenforce(button.get_active()) >>>>
This patch should get sepolicy gui working again, however it's still unusable due to SETools-4 speed (initial policy analysis takes a few hours at this point, but can be significantly optimised).
diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py index ee78e0c..3c5a9d2 100644 --- a/python/sepolicy/sepolicy/gui.py +++ b/python/sepolicy/sepolicy/gui.py @@ -2609,9 +2609,10 @@ class SELinuxGui(): def set_enforce_text(self, value): if value: self.status_bar.push(self.context_id, _("System Status: Enforcing")) + self.current_status_enforcing.set_active(True) else: self.status_bar.push(self.context_id, _("System Status: Permissive")) - self.current_status_permissive.set_active(True) + self.current_status_permissive.set_active(True) def set_enforce(self, button): self.dbus.setenforce(button.get_active())
Radiobutton was always set to "Permissive" and couldn't be switched. Update radiobutton together with status text in bottom left corner. Signed-off-by: Vit Mojzis <vmojzis@redhat.com> --- python/sepolicy/sepolicy/gui.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)