Re: [PATCH] policycoreutils/gui: fix system-config-selinux editing features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/21/2016 01:05 PM, Stephen Smalley wrote:
> On 10/19/2016 08:36 AM, Vit Mojzis wrote:
>> Return column definitions to portsPage (gui fails to load otherwise).
>>
>> fcontextPage:
>>   "ftype" dropdown was filled from 2 sources (system-config-selinux.glade
>>   and fcontextPage - from seobject module) which resulted in duplicate
>>   and invalid options. When given to "semanage fcontext -f", ftype has to be
>>   converted to 1 letter argument mode.
>>
>> TreeView.get_selection().get_selected() can return "None" if no item is selected
>> (the list can be empty). Test if correct iterator was acquired.
> 
> Thanks.  However, I can't seem to get system-config-selinux built from
> upstream to run before or after this patch:
> $ system-config-selinux
> Traceback (most recent call last):
>   File "/usr/share/system-config-selinux/system-config-selinux.py", line
> 36, in <module>
>     import gnome
> ImportError: No module named gnome
> 
> Are there other changes in Fedora that are required?

Never mind, found the dependency.  Thanks, applied.  I do still see this
unrelated warning:
/usr/share/system-config-selinux/system-config-selinux.py:80: Warning:
g_object_get_valist: object class 'GnomeProgram' has no property named
'default-icon'
  xml =
gtk.glade.XML("/usr/share/system-config-selinux/system-config-selinux.glade",
domain=PROGNAME)

> 
>>
>> Fixes:
>>   https://bugzilla.redhat.com/show_bug.cgi?id=1344842
>>
>> Signed-off-by: vmojzis <vmojzis@xxxxxxxxxx>
>> ---
>>  policycoreutils/gui/fcontextPage.py             | 17 +++++------------
>>  policycoreutils/gui/portsPage.py                |  6 ++++++
>>  policycoreutils/gui/semanagePage.py             |  4 ++--
>>  policycoreutils/gui/system-config-selinux.glade |  2 +-
>>  4 files changed, 14 insertions(+), 15 deletions(-)
>>
>> diff --git a/policycoreutils/gui/fcontextPage.py b/policycoreutils/gui/fcontextPage.py
>> index c176de4..2e26666 100644
>> --- a/policycoreutils/gui/fcontextPage.py
>> +++ b/policycoreutils/gui/fcontextPage.py
>> @@ -105,13 +105,6 @@ class fcontextPage(semanagePage):
>>          self.load()
>>          self.fcontextEntry = xml.get_widget("fcontextEntry")
>>          self.fcontextFileTypeCombo = xml.get_widget("fcontextFileTypeCombo")
>> -        liststore = self.fcontextFileTypeCombo.get_model()
>> -        for k in seobject.file_types:
>> -            if len(k) > 0 and k[0] != '-':
>> -                iter = liststore.append()
>> -                liststore.set_value(iter, 0, k)
>> -        iter = liststore.get_iter_first()
>> -        self.fcontextFileTypeCombo.set_active_iter(iter)
>>          self.fcontextTypeEntry = xml.get_widget("fcontextTypeEntry")
>>          self.fcontextMLSEntry = xml.get_widget("fcontextMLSEntry")
>>  
>> @@ -183,7 +176,7 @@ class fcontextPage(semanagePage):
>>              fspec = store.get_value(iter, SPEC_COL)
>>              ftype = store.get_value(iter, FTYPE_COL)
>>              self.wait()
>> -            (rc, out) = getstatusoutput("semanage fcontext -d -f '%s' '%s'" % (ftype, fspec))
>> +            (rc, out) = getstatusoutput("semanage fcontext -d -f '%s' '%s'" % (seobject.file_type_str_to_option[ftype], fspec))
>>              self.ready()
>>  
>>              if rc != 0:
>> @@ -194,14 +187,14 @@ class fcontextPage(semanagePage):
>>              self.error(e.args[0])
>>  
>>      def add(self):
>> -        ftype = ["", "--", "-d", "-c", "-b", "-s", "-l", "-p"]
>>          fspec = self.fcontextEntry.get_text().strip()
>>          type = self.fcontextTypeEntry.get_text().strip()
>>          mls = self.fcontextMLSEntry.get_text().strip()
>>          list_model = self.fcontextFileTypeCombo.get_model()
>> -        active = self.fcontextFileTypeCombo.get_active()
>> +        it = self.fcontextFileTypeCombo.get_active_iter()
>> +        ftype = list_model.get_value(it,0)
>>          self.wait()
>> -        (rc, out) = getstatusoutput("semanage fcontext -a -t %s -r %s -f '%s' '%s'" % (type, mls, ftype[active], fspec))
>> +        (rc, out) = getstatusoutput("semanage fcontext -a -t %s -r %s -f '%s' '%s'" % (type, mls, seobject.file_type_str_to_option[ftype], fspec))
>>          self.ready()
>>          if rc != 0:
>>              self.error(out)
>> @@ -220,7 +213,7 @@ class fcontextPage(semanagePage):
>>          iter = self.fcontextFileTypeCombo.get_active_iter()
>>          ftype = list_model.get_value(iter, 0)
>>          self.wait()
>> -        (rc, out) = getstatusoutput("semanage fcontext -m -t %s -r %s -f '%s' '%s'" % (type, mls, ftype, fspec))
>> +        (rc, out) = getstatusoutput("semanage fcontext -m -t %s -r %s -f '%s' '%s'" % (type, mls, seobject.file_type_str_to_option[ftype], fspec))
>>          self.ready()
>>          if rc != 0:
>>              self.error(out)
>> diff --git a/policycoreutils/gui/portsPage.py b/policycoreutils/gui/portsPage.py
>> index b6445db..b8fdaad 100644
>> --- a/policycoreutils/gui/portsPage.py
>> +++ b/policycoreutils/gui/portsPage.py
>> @@ -23,6 +23,12 @@ import os
>>  import gobject
>>  import sys
>>  import seobject
>> +
>> +TYPE_COL = 0
>> +PROTOCOL_COL = 1
>> +MLS_COL = 2
>> +PORT_COL = 3
>> +
>>  try:
>>      from subprocess import getstatusoutput
>>  except ImportError:
>> diff --git a/policycoreutils/gui/semanagePage.py b/policycoreutils/gui/semanagePage.py
>> index 1f14d56..27367f3 100644
>> --- a/policycoreutils/gui/semanagePage.py
>> +++ b/policycoreutils/gui/semanagePage.py
>> @@ -130,8 +130,8 @@ class semanagePage:
>>          dlg.destroy()
>>  
>>      def deleteDialog(self):
>> -        store, iter = self.view.get_selection().get_selected()
>> -        if self.verify(_("Are you sure you want to delete %s '%s'?" % (self.description, store.get_value(iter, 0))), _("Delete %s" % self.description)) == gtk.RESPONSE_YES:
>> +        store, it = self.view.get_selection().get_selected()
>> +        if (it is not None) and (self.verify(_("Are you sure you want to delete %s '%s'?" % (self.description, store.get_value(it, 0))), _("Delete %s" % self.description)) == gtk.RESPONSE_YES):
>>              self.delete()
>>  
>>      def use_menus(self):
>> diff --git a/policycoreutils/gui/system-config-selinux.glade b/policycoreutils/gui/system-config-selinux.glade
>> index 05a697e..4547b3f 100644
>> --- a/policycoreutils/gui/system-config-selinux.glade
>> +++ b/policycoreutils/gui/system-config-selinux.glade
>> @@ -729,7 +729,7 @@ regular file
>>  directory
>>  character device
>>  block device
>> -socket
>> +socket file
>>  symbolic link
>>  named pipe
>>  </property>
>>
> 
> _______________________________________________
> Selinux mailing list
> Selinux@xxxxxxxxxxxxx
> To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
> To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.
> 

_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux