Description of problem: When I try to access the Mageia Control Center MCC-in "Security" tab and try to access "Security Configuration and system audit", the error message appears: "This program was not closed properly" This error occurs in Mageia 5, Alpha 1, KDE 4.13.95, with the "Portuguese of Brazil language." Accessing a terminal as root, typing "drakconf", accessing the CCM, and accessing mode-chart and the security tab "Security Configuration and audit system", the error message appears: "This program was not closed properly" and appears in terminal: [mageia5-alpha1@localhost ~]$ su - Senha: [root@localhost ~]# drakconf LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. "/usr/sbin/drakmenustyle" is not executable [Menus] at /usr/libexec/drakconf line 831. "/usr/sbin/drakbackup" is not executable [Backups] at /usr/libexec/drakconf line 831. "/usr/sbin/tomoyo-gui" is not executable [Tomoyo Policy] at /usr/libexec/drakconf line 831. "/usr/sbin/drakguard" is not executable [Parental Controls] at /usr/libexec/drakconf line 831. java version "1.7.0_65" OpenJDK Runtime Environment (mageia-2.5.1.1.mga5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) ___________________ When I change to English (U.S.) language, will not appear the error message, but also does not work because it does not allow configuration changes, and appears in terminal: [mageia5-alpha1@localhost ~]$ su - Password: [root@localhost ~]# drakconf LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. "/usr/sbin/drakmenustyle" is not executable [Menus] at /usr/libexec/drakconf line 831. "/usr/sbin/drakbackup" is not executable [Backups] at /usr/libexec/drakconf line 831. "/usr/sbin/tomoyo-gui" is not executable [Tomoyo Policy] at /usr/libexec/drakconf line 831. "/usr/sbin/drakguard" is not executable [Parental Controls] at /usr/libexec/drakconf line 831. java version "1.7.0_65" OpenJDK Runtime Environment (mageia-2.5.1.1.mga5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) INFO: Starting gui.. INFO: loading exceptions file /etc/security/msec/exceptions: No such file or directory INFO: No exceptions loaded INFO: Detected base msec level 'standard' /usr/share/msec/msecgui.py:213: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations filemenu = Gtk.MenuItem(topmenu, use_underline=True) /usr/lib64/python2.7/site-packages/gi/overrides/__init__.py:175: Warning: The property GtkMisc:xalign is deprecated and shouldn't be used anymore. It will be removed in a future version. return super_init_func(self, **new_kwargs) /usr/share/msec/msecgui.py:219: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations menuitem = Gtk.MenuItem(submenu, use_underline=True) /usr/share/msec/msecgui.py:236: DeprecationWarning: Gtk.modify_font is deprecated label.modify_font(Pango.FontDescription("13")) /usr/share/msec/msecgui.py:572: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "n_rows, n_columns, homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations table = Gtk.Table(4, 4, False) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1445: DeprecationWarning: Gtk.attach is deprecated Gtk.Table.attach(self, child, left_attach, right_attach, top_attach, bottom_attach, xoptions, yoptions, xpadding, ypadding) /usr/share/msec/msecgui.py:591: Warning: The property GtkMisc:yalign is deprecated and shouldn't be used anymore. It will be removed in a future version. label.set_property("yalign", 0.5) /usr/share/msec/msecgui.py:604: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Configure")) /usr/share/msec/msecgui.py:618: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Update now")) /usr/share/msec/msecgui.py:646: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Configure")) /usr/share/msec/msecgui.py:667: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Show results")) /usr/share/msec/msecgui.py:673: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Run now")) /usr/share/msec/msecgui.py:832: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:897: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.notify_mail = Gtk.CheckButton(_("Send security alerts by email to:")) /usr/share/msec/msecgui.py:919: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.notify_desktop = Gtk.CheckButton(_("Display security alerts on desktop")) /usr/share/msec/msecgui.py:490: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1103: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.periodic_checks = Gtk.CheckButton(_("Enable periodic security checks")) /usr/share/msec/msecgui.py:1155: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1192: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Add a rule")) /usr/share/msec/msecgui.py:1197: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Delete")) /usr/share/msec/msecgui.py:1227: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1319: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Add a rule")) /usr/share/msec/msecgui.py:1324: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Delete")) Switching to secure Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' Switching to secure Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' Switching to webserver Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' AttributeError: 'ListStore' object has no attribute 'get_iter_root' /usr/share/msec/msecgui.py:1650: PyGTKDeprecationWarning: The "buttons" argument must be a Gtk.ButtonsType enum value. Please use the "add_buttons" method for adding buttons. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:537: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "title, transient_for, flags, add_buttons" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self._init(*args, **new_kwargs) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:567: Warning: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version. self.add_button(text, response) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:567: Warning: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version. self.add_button(text, response) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given) _________________________ Version-Release number of selected component (if applicable): Mageia 5 Alpha 1, KDE 4.13.95, 54 bits msec-gui-1.4-1.mga5.x86_64.rpm How reproducible: Accessing "Security Configuration and system audit" in MCC. Steps to Reproduce: 1. 2. 3. Reproducible: Steps to Reproduce:
Hi, Do you had try reconfigure system's localisation ? I think to an encoding problem between UTF and other encoding maybe. I had a similary problem and switching localisation help me ( maybe look for UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) ) so I tried : # localedrake I don't know precisly what i changed but now it is : $ locale LANG=fr_FR LC_CTYPE=fr_FR LC_NUMERIC=fr_FR LC_TIME=fr_FR LC_COLLATE=fr_FR LC_MONETARY=fr_FR LC_MESSAGES=fr_FR LC_PAPER=fr_FR LC_NAME=fr_FR LC_ADDRESS=fr_FR LC_TELEPHONE=fr_FR LC_MEASUREMENT=fr_FR LC_IDENTIFICATION=fr_FR LC_ALL= and know all work fine...
CC: (none) => lameri
With the "Portuguese of Brazil (pt_BR) language", the same error occurs when I try to access "Security Configuration and system audit". The error message appears: "This program was not closed properly" [mageia-5-Alpha-1@localhost ~]$ locale LANG=pt_BR.UTF-8 LC_CTYPE=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LC_COLLATE=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LC_MESSAGES=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_TELEPHONE=pt_BR.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 LC_ALL= [[mageia-5-Alpha-1@localhost ~]$ su - Senha: [root@localhost ~]# drakconf LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589. LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589. "/usr/sbin/drakmenustyle" is not executable [Menus] at /usr/libexec/drakconf line 831. "/usr/sbin/drakbackup" is not executable [Backups] at /usr/libexec/drakconf line 831. "/usr/sbin/tomoyo-gui" is not executable [Tomoyo Policy] at /usr/libexec/drakconf line 831. "/usr/sbin/drakguard" is not executable [Parental Controls] at /usr/libexec/drakconf line 831. java version "1.7.0_65" OpenJDK Runtime Environment (mageia-2.5.1.1.mga5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) [root@localhost ~]#
don't you have a corrupted system ? (regarding your previous bug)
(In reply to Manuel Hiebel from comment #3) > don't you have a corrupted system ? (regarding your previous bug) No apparent error in the system that is functioning normally. I checked today, november 02, 2014. The error continues to occur with Mageia 5, alpha 1, all updated with kernel-desktop-3.17.2-2.mga5-1-1.mga5.x86_64 This same bug was also occurring with Mageia-5-A1 version installed on virtualbox last month. I still did not check in virtualbox after the updates. Error with mcc (text-mode root): Switching to secure Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root'
This error (mentioning in the previous post) is occurring with Mageia 5 A1 running with the language-US.UTF 8. When I change language to BR.UTF-8 (Portuguese-Brasil), and I restart the session, and try to access the option "configure system security, permissions and audit (msec-gui)" a window appears with the warning: "This program has exited abnormally". Error with mcc (text-mode root)(BR.UTF-8): [user-mageia5-a1@localhost ~]$ su - Senha: [root@localhost ~]# mcc "/usr/sbin/drakmenustyle" is not executable [Menus] at /usr/libexec/drakconf line 831. "/usr/sbin/drakbackup" is not executable [Backups] at /usr/libexec/drakconf line 831. "/usr/sbin/tomoyo-gui" is not executable [Tomoyo Policy] at /usr/libexec/drakconf line 831. "/usr/sbin/drakguard" is not executable [Parental Controls] at /usr/libexec/drakconf line 831. openjdk version "1.8.0_40" OpenJDK Runtime Environment (build 1.8.0_40-b02) OpenJDK 64-Bit Server VM (build 25.40-b05, mixed mode) INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128)
I have an error for msec-gui-1.4-3.mga5.i586.rpm: [root@localhost user]# msecgui INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) So, msecgui does not work for Russian, but works LC_ALL=C msecgui
CC: (none) => loginov_alex
@loginov_alex: You mention a newer vesion of msec-gui. But is what you see under 5alfa2, 5beta1 or perhaps current Cauldron? When answering here in Bugzilla please change package & whiteboard, wiping keyword. Thanks.
Whiteboard: (none) => 5alfa1Keywords: (none) => NEEDINFO
I used the latest Cauldron for all packages.
The error for #c6 is not disabling the operation. So it is either encoding or localisation. Absent maintainer, ph i18n-bugs can say stg about it.
CC: (none) => i18n-bugsKeywords: NEEDINFO => (none)
The same issue https://bugs.mageia.org/show_bug.cgi?id=12882 which was fixed before for net_monitor.
CC: (none) => thierry.vignaud
I updated the package and is occurring same error RPM Package: msec-gui-1.4-3.mga5.x86_64.rpm ****************************** 1st test locale LANG=pt_BR.UTF-8 [root@localhost ~]# locale LANG=pt_BR.UTF-8 LC_CTYPE=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LC_COLLATE=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LC_MESSAGES=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_TELEPHONE=pt_BR.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 LC_ALL= [root@localhost ~]# [root@localhost ~]# msecgui INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) [root@localhost ~]# [root@localhost ~]# ****************************** 2nd test I changed the language to LANG=en_US.UTF-8 [root@localhost ~]# locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL= [root@localhost ~]# [root@localhost ~]# msecgui INFO: Starting gui.. INFO: loading exceptions file /etc/security/msec/exceptions: No such file or directory INFO: No exceptions loaded INFO: Detected base msec level 'standard' /usr/share/msec/msecgui.py:213: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations filemenu = Gtk.MenuItem(topmenu, use_underline=True) /usr/share/msec/msecgui.py:219: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations menuitem = Gtk.MenuItem(submenu, use_underline=True) /usr/share/msec/msecgui.py:236: DeprecationWarning: Gtk.modify_font is deprecated label.modify_font(Pango.FontDescription("13")) /usr/share/msec/msecgui.py:572: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "n_rows, n_columns, homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations table = Gtk.Table(4, 4, False) /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:1445: DeprecationWarning: Gtk.attach is deprecated Gtk.Table.attach(self, child, left_attach, right_attach, top_attach, bottom_attach, xoptions, yoptions, xpadding, ypadding) /usr/share/msec/msecgui.py:604: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Configure")) /usr/share/msec/msecgui.py:618: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Update now")) /usr/share/msec/msecgui.py:646: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Configure")) /usr/share/msec/msecgui.py:667: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Show results")) /usr/share/msec/msecgui.py:673: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Run now")) /usr/share/msec/msecgui.py:832: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:833: DeprecationWarning: Gtk.set_rules_hint is deprecated treeview.set_rules_hint(True) /usr/share/msec/msecgui.py:897: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.notify_mail = Gtk.CheckButton(_("Send security alerts by email to:")) /usr/share/msec/msecgui.py:919: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.notify_desktop = Gtk.CheckButton(_("Display security alerts on desktop")) /usr/share/msec/msecgui.py:490: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1103: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.periodic_checks = Gtk.CheckButton(_("Enable periodic security checks")) /usr/share/msec/msecgui.py:1155: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1192: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Add a rule")) /usr/share/msec/msecgui.py:1197: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Delete")) /usr/share/msec/msecgui.py:1227: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "model" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations treeview = Gtk.TreeView(lstore) /usr/share/msec/msecgui.py:1319: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Add a rule")) /usr/share/msec/msecgui.py:1324: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations button = Gtk.Button(_("Delete")) Switching to secure Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' Switching to netbook Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' Switching to fileserver Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 282, in level_changed self.toggle_level(level, force=True) File "/usr/share/msec/msecgui.py", line 996, in toggle_level iter = self.level_list.get_iter_root() AttributeError: 'ListStore' object has no attribute 'get_iter_root' Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1662, in option_changed dialog.vbox.pack_start(Gtk.HSeparator()) TypeError: pack_start() takes exactly 5 arguments (2 given)
Whiteboard: 5alfa1 => 5beta1Source RPM: msec-gui-1.4-1.mga5.x86_64.rpm => msec-gui-1.4-3.mga5.x86_64.rpm
Blocks: (none) => 11778Summary: configure system security, permissions and audit (msec-gui): error message and does not work => msec-gui: error message and does not work
Status: NEW => ASSIGNEDSummary: msec-gui: error message and does not work => msec-gui: error message and does not work (UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128))
The error with msec-gui continues. - The msec-gui does not work in Mageia 4.1 updated. Initially allows change the security level, but is very slow and freezes before finishing configuration change.The error in Mageia 4.1 was only tested in the pt_Br language. - The msec-gui does not work in Mageia 5 Beta 1 updated. The error in Mageia 5 Beta 1 was tested in the pt_Br and en_US languages.
Problems are with constructions like: self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) In Python when you split values of types unicode and str, str converts to unicode. It's done like "some string".decode(). But decode without manual encoding choosing, mean decode("ascii"). This is the reason why errors with not-english strings. Not-english strings cannot be decoded with ascii, they need set system encoding like utf-8. So. With not english strings you need: 1. Get correct system encoding (it's important!) SYS_ENC = sys.getfilesystemencoding() 2. Convert str to unicode "string".decode(SYS_ENC) In example in a top of my comment, fix should be like SYS_ENC = sys.getfilesystemencoding() self.log.error(_("Unable to save %s: %s") % (self.config, str(sys.exc_value).decode(SYS_ENC))) You cannot cannot decode exc_value without wrapping it in str() because excaptions (exc_value) doesn't have this method. "unicode(sys.exc_value)" also will not work, because unicode() use default encoding - ascii. So, only str(sys.exc_value).decode(SYS_ENC) will work correct with not english locales. I wrote patch which shoud fix this bug (attached).
CC: (none) => xxblx.duke
Created attachment 5829 [details] decode.path for MSEC (fix bug with locales which use non-english letters) Tested on Mageia 5 x86_64 with russian locale (ru_RU.UTF-8)
Fixed. Tested on Mageia 5 i586 with russian locale (ru_RU.UTF-8)
CC: (none) => saikov.vb
Hardware: x86_64 => All
Keywords: (none) => PATCH
First, thanks for your patch! Secondly, it's a bit ugly to redo the same logic everywhere. Could you attach a second version that would just move this login in libmsec.py so that log()/warn()/... just work out of the box? Thanks
With the latest updates of Mageia. 4.1, msec.gui It is now working correctly. The msec.gui of the Mageia 5 still does not work. The last kernel update: kernel-desktop-3.18.3-2.mga5-1-1.mga5.x86_64.
(In reply to Thierry Vignaud from comment #16) > First, thanks for your patch! > Secondly, it's a bit ugly to redo the same logic everywhere. > Could you attach a second version that would just move this login in > libmsec.py so that log()/warn()/... just work out of the box? > Thanks I think that doesn't help to solve problem. Look at self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) Error corrupt at joining str to unicode. So, at joining (self.config, sys.exc_value) into _("Unable to save %s: %s"). This occurs before executing self.log.error(). So modification IN Log.error may not help. [xxblx@localhost ~]$ python Python 2.7.6 (default, Sep 26 2014, 12:20:36) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> # some unicode in english ... eng_ucd = u"something in english" >>> >>> # some str in russian ... rus_str = "здеÑÑ ÑÑо-Ñо по-ÑÑÑÑки" >>> >>> # without manual decoding will be an error ... eng_ucd + rus_str Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) >>> >>> # manual decode ... eng_ucd + rus_str.decode("utf-8") u'something in english\u0437\u0434\u0435\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438' >>> >>> u"here some unicode too %s" % rus_str Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) >>> u"here some unicode too %s" % rus_str.decode("utf-8") u'here some unicode too \u0437\u0434\u0435\u0441\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438'
(In reply to Thierry Vignaud from comment #16) > First, thanks for your patch! > Secondly, it's a bit ugly to redo the same logic everywhere. > Could you attach a second version that would just move this login in > libmsec.py so that log()/warn()/... just work out of the box? > Thanks Look please to [xxblx@localhost ~]$ python Python 2.7.6 (default, Sep 26 2014, 12:20:36) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def foo(s): ... print "foo execs" ... print s ... >>> foo("123") foo execs 123 >>> >>> >>> foo(u"unicode with %s inside" % "ÑÑо-Ñо по-ÑÑÑÑки") Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128) >>> >>> def foo2(s): ... s = s.decode("utf-8") ... print "foo execs" ... print s ... >>> >>> foo2(u"unicode with %s inside" % "ÑÑо-Ñо по-ÑÑÑÑки") Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128) Error corrupt before function execs. Similar will be in Log.error(), changes inside method can't solve problem which corrupts before function execution.
Anyway this patch with double strings is ugly. How important to have translated errors, infos and warnings in logs? If not very important, then my proposal is to add patch in RPM package only (not in git) and to unmark problematic strings from translations while we uses python < 3 for msec-gui.
(In reply to Alex Loginov from comment #20) > Anyway this patch with double strings is ugly. > How important to have translated errors, infos and warnings in logs? > If not very important, then my proposal is to add patch in RPM package only > (not in git) and to unmark problematic strings from translations while we > uses python < 3 for msec-gui. Alex, did you look to MSEC sources? In python sys module return error's description from system and place to sys.exc_value. So, you can't just "unmark problematic strings from translations" because you need to "unmark" it in system's translation =) In most of possible errors which fixed by patch, problem string returned from system by sys module.
The root of this issue is an concatenation for different strings. For example: - self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) + self.log.info("loading exceptions file %s:" % (self.config)) + self.log.info(sys.exc_value[1]) This workaround is shorter, but there are no translations (unmarked by patch) and no concatenation (2 strings instead of 1) for different strings. The same for other problematic strings.
(In reply to Alex Loginov from comment #22) > The root of this issue is an concatenation for different strings. > For example: > > - self.log.info(_("loading exceptions file %s: %s") % > (self.config, sys.exc_value[1])) > + self.log.info("loading exceptions file %s:" % (self.config)) > + self.log.info(sys.exc_value[1]) > > This workaround is shorter, but there are no translations (unmarked by > patch) and no concatenation (2 strings instead of 1) for different strings. > The same for other problematic strings. If you already remove gettext using symbol from string, then you don't need split line. Just without translation correct line will be: self.log.info("loading exceptions file %s: %s" % (self.config, sys.exc_value[1])) But that mean, new message in log will be: loading exceptions file /path/to/some/file: ÐÐµÑ Ñакого Ñайла или каÑалога In yours example message will be same, but in two lines.
Correcting going? MSEC-GUI does not run as before. Patch you do not want to take.
the msecgui not open to configure... [root@localhost padula]# msecgui INFO: Starting gui.. Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 1789, in <module> gui = MsecGui(log, msec, perms, msec_config, perm_conf, exceptions, embed=PlugWindowID) File "/usr/share/msec/msecgui.py", line 173, in __init__ self.reload_config() File "/usr/share/msec/msecgui.py", line 457, in reload_config self.exceptions.load() File "/usr/share/msec/config.py", line 319, in load self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) [root@localhost padula]# [padula@localhost ~]$ uname -a Linux localhost 3.19.7-desktop-1.mga5 #1 SMP Fri May 8 20:06:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [padula@localhost ~]$
CC: (none) => padula1000
Can you offer a less intrusive patch that adds an helper instead of adding if/else everywhere? That helper would be called on the arg: def Narg(s): """ Try to decode string without encoding enter """ try: s.decode() return s except: return sys.s[1].decode(SYS_ENC)) eg: self.log.error(_("Unable to load configuration file %s: %s") % (self.config, sys.exc_value[1])) would become: - self.log.error(_("Unable to load configuration file %s: %s") % (self.config, Narg(sys.exc_value[1]))) WDYT?
Created attachment 6514 [details] try patch (untested) Can you test this one?
Whiteboard: 5beta1 => 5rc
[root@localhost padula]# diff --git a/src/msec/config.py b/src/msec/config.py f.comments: print >>fd, comment @@ -316,7 +335,7 @@ class ExceptionConfig: fd = open(self.config) except: # this file is optional, so if it is not found that's not fatal - self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) + self.log.info(_("loading exceptions file %s: %s") % (self.config, Narg(sys.exc_value[1]))) self.log.info(_("No exceptions loaded")) return False for line in fd.readlines(): @@ -331,7 +350,7 @@ class ExceptionConfig: option, val = line.split(" ", 1) self.options.append((option, val)) except: - self.log.warn(_("Bad config option: %s") % line) + self.log.warn(_("Bad config option: %s") % Narg(line)) continue fd.close() return True @@ -370,7 +389,7 @@ class ExceptionConfig: try: fd = open(self.config, "w") except: - self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) + self.log.error(_("Unable to save %s: %s") % (self.config, Narg(sys.exc_value))) return False for comment in self.comments: print >>fd, comment @@ -420,7 +439,7 @@ class PermConfig(MsecConfig): try: fd = open(self.config) except: - self.log.error(_("Unable to load configuration file %s: %s") % (self.config, sys.exc_value)) + self.log.error(_("Unable to load configuration file %s: %s") % (self.config, Narg(sys.exc_value))) return False for line in fd.readlines(): line = line.strip() @@ -439,7 +458,7 @@ class PermConfig(MsecConfig): self.options_order.append(file) except: traceback.print_exc() - self.log.warn(_("Bad config option: %s") % line) + self.log.warn(_("Bad config option: %s") % Narg(line)) continue fd.close() return True diff: unrecognized option '--git' diff: Try 'diff --help' for more information. [root@localhost padula]# index c8e87f6..046804d 100755 bash: index: comando não encontrado [root@localhost padula]# --- a/src/msec/config.py bash: ---: comando não encontrado Config(MsecConfig): [root@localhost padula]# +++ b/src/msec/config.py bash: +++: comando não encontrado [root@localhost padula]# @@ -81,6 +81,9 @@ SETTINGS_PERIODIC = [] bash: @@: comando não encontrado [root@localhost padula]# # checks that support exceptions - defined by 'audit' plugin [root@localhost padula]# CHECKS_WITH_EXCEPTIONS = [] bash: CHECKS_WITH_EXCEPTIONS: comando não encontrado [root@localhost padula]# [root@localhost padula]# +# system encoding bash: +#: comando não encontrado [root@localhost padula]# +SYS_ENC = sys.getfilesystemencoding() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# # localized help [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# from help import HELP bash: from: comando não encontrado [root@localhost padula]# @@ -168,6 +171,22 @@ def merge_with_baselevel(log, config, base_level, load_func, root=''): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# config.merge(levelconf) ibash: erro de sintaxe próximo do `token' não esperado `levelconf' [root@localhost padula]# [root@localhost padula]# [root@localhost padula]# +def to_utf8(s): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + """ Returs string after decoding if needed """ bash: +: comando não encontrado [root@localhost padula]# + try: bash: +: comando não encontrado [root@localhost padula]# + s.decode() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + return s bash: +: comando não encontrado [root@localhost padula]# + except: bash: +: comando não encontrado [root@localhost padula]# + return sys.s[1].decode("utf-8")) bash: erro de sintaxe próximo do `token' não esperado `(' if res: [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# +def Narg(s): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + """ Returs string after decoding if needed """ bash: +: comando não encontrado [root@localhost padula]# + try: bash: +: comando não encontrado [root@localhost padula]# + s.decode() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + return s bash: +: comando não encontrado [root@localhost padula]# + except: ified so launbash: +: comando não encontrado [root@localhost padula]# + return sys.s[1].decode(SYS_ENC)) bash: erro de sintaxe próximo do `token' não esperado `(' and: %s') % (f, s)) + [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# # {{{ MsecConfig [root@localhost padula]# class MsecConfig: bash: class: comando não encontrado [root@localhost padula]# """Msec configuration parser""" bash: Msec configuration parser: comando não encontrado [root@localhost padula]# @@ -208,7 +227,7 @@ class MsecConfig: bash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# fd = open(self.config) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Unable to load configuration file %s: %s") % (self.config, sys.exc_value[1])) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Unable to load configuration file %s: %s") % (self.config, Narg(sys.exc_value[1]))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# for line in fd.readlines(): bash: erro de sintaxe próximo do `token' não esperado `(' .path + if self[root@localhost padula]# line = line.strip() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -222,7 +241,7 @@ class MsecConfig: .exists(): try: bash: @@: comando não encontrado [root@localhost padula]# option, val = line.split("=", 1) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.options[option] = val bash: self.options[option]: comando não encontrado [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.warn(_("Bad config option: %s") % line) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.warn(_("Bad config option: %s") % Narg(line)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# continue bash: continue: only meaningful in a `for', `while', or `until' loop [root@localhost padula]# fd.close() > return True bash: erro de sintaxe próximo do `token' não esperado `return' [root@localhost padula]# @@ -257,7 +276,7 @@ class MsecConfig: bash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# fd = open(self.config, "w") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Unable to save %s: %s") % (self.config, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' sys.exc_value))) + [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# for comment in self.comments: > print >>fd, comment bash: erro de sintaxe próximo do `token' não esperado `print' [root@localhost padula]# @@ -316,7 +335,7 @@ class ExceptionConfig: bash: @@: comando não encontrado [root@localhost padula]# fd = open(self.config) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# # this file is optional, so if it is not found that's not fatal h[root@localhost padula]# - self.log.info(_("loading exceptions file %s: %s") % (self.config, sys.exc_value[1])) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_("loading exceptions file %s: %s") % (self.config, Narg(sys.exc_value[1]))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.log.info(_("No exceptions loaded")) bash: erro de sintaxe próximo do `token' não esperado `_' [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script ] self.is[root@localhost padula]# for line in fd.readlines(): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -331,7 +350,7 @@ class ExceptionConfig: bash: @@: comando não encontrado [root@localhost padula]# option, val = line.split(" ", 1) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.options.append((option, val)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.warn(_("Bad config option: %s") % line) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.warn(_("Bad config option: %s") % Narg(line)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# continue bash: continue: only meaningful in a `for', `while', or `until' loop [root@localhost padula]# fd.close() > return True bash: erro de sintaxe próximo do `token' não esperado `return' [root@localhost padula]# @@ -370,7 +389,7 @@ class ExceptionConfig: bash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# fd = open(self.config, "w") bash: erro de sintaxe próximo do `token' não esperado `(' self.exists(): full = os[root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' class ConfigFile: try: [root@localhost padula]# + self.log.error(_("Unable to save %s: %s") % (self.config, Narg(sys.exc_value))) except: - self.log.error('ubash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# for comment in self.comments: > print >>fd, comment bash: erro de sintaxe próximo do `token' não esperado `print' _('deleted %s')[root@localhost padula]# @@ -420,7 +439,7 @@ class PermConfig(MsecConfig): bash: erro de sintaxe próximo do `token' não esperado `(' og.[root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# fd = open(self.config) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Unable to load configuration file %s: %s") % (self.config, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Unable to load configuration file %s: %s") % (self.config, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# for line in fd.readlines(): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# line = line.strip() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -439,7 +458,7 @@ class PermConfig(MsecConfig): bash: erro de sintaxe próximo do `token' não esperado `('lf.log.info(_('made symbolic link from %s to %s') [root@localhost padula]# self.options_order.append(file) bash: erro de sintaxe próximo do `token' não esperado `file' se[root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# traceback.print_exc() > - self.log.warn(_("Bad config option: %s") % line) bash: erro de sintaxe próximo do `token' não esperado `-' [root@localhost padula]# + self.log.warn(_("Bad config option: %s") % Narg(line)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# continue bash: continue: only meaningful in a `for', `while', or `until' loop [root@localhost padula]# fd.close() > return True bash: erro de sintaxe próximo do `token' não esperado `return' [root@localhost padula]# @@ -465,7 +484,7 @@ class PermConfig(MsecConfig): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# fd = open(self.config, "w") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Unable to save %s: %s") % (self.config, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Unable to save %s: %s") % (self.config, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return False bash: return: False: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# for comment in self.comments: > print >>fd, comment bash: erro de sintaxe próximo do `token' não esperado `print' [root@localhost padula]# diff --git a/src/msec/libmsec.py b/src/msec/libmsec.py diff: unrecognized option '--git' diff: Try 'diff --help' for more information. [root@localhost padula]# index d456eab..87b7027 100755 bash: index: comando não encontrado [root@localhost padula]# --- a/src/msec/libmsec.py bash: ---: comando não encontrado ,7 +695,7 @@ class MSEC: [root@localhost padula]# +++ b/src/msec/libmsec.py bash: +++: comando não encontrado self.p[root@localhost padula]# @@ -262,7 +262,7 @@ class ConfigFiles: bash: @@: comando não encontrado [root@localhost padula]# if res: > s = substitute_re_result(res, a[1]) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# if commit: > - self.log.info(_('%s modified so launched command: %s') % (f, s)) bash: erro de sintaxe próximo do `token' não esperado `(' ) + [root@localhost padula]# + self.log.info(_('%s modified so launched command: %s') % (Narg(f), Narg(s))) bash: erro de sintaxe próximo do `token' não esperado `(' ugin_f, file, Narg(sys.e[root@localhost padula]# cmd = commands.getstatusoutput(s) bash: erro de sintaxe próximo do `token' não esperado `(' e [root@localhost padula]# cmd = [0, ''] bash: cmd: comando não encontrado [root@localhost padula]# if cmd[0] == 0: > @@ -367,32 +367,41 @@ class ConfigFile: > return link > > def write(self): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + if not (type(self.path) == unicode) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.pathN = Narg(self.path) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + else bash: +: comando não encontrado [root@localhost padula]# + self.pathN = self.path bash: +: comando não encontrado [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# if self.is_deleted: > if self.exists(): bash: erro de sintaxe próximo do `token' não esperado `:' [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.unlink(self.path) bash: erro de sintaxe próximo do `token' não esperado `self.path' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - error('unlink %s: %s' % (self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - self.log.info(_('deleted %s') % (self.path,)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + error('unlink %s: %s' % (self.pathN, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_('deleted %s') % (self.pathN,)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# elif self.is_touched: bash: erro de sintaxe próximo do `token' não esperado `elif' one try: [root@localhost padula]# if os.path.exists(self.path): bash: erro de sintaxe próximo do `token' não esperado `self.path' [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.utime(self.path, None) bash: erro de sintaxe próximo do `token' não esperado `self.path,' [root@localhost padula]# except: bash: except:: comando não encontrado ported function '%s' in '[root@localhost padula]# - self.log.error('utime %s: %s' % (self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' self.log.info(_("Not supported function '%s' [root@localhost padula]# + self.log.error('utime %s: %s' % (self.pathN, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' in))) traceback.print_exc() [root@localhost padula]# elif self.suffix and os.path.exists(self.path + self.suffix): bash: erro de sintaxe próximo do `token' não esperado `elif' [root@localhost padula]# move(self.path + self.suffix, self.path) bash: erro de sintaxe próximo do `token' não esperado `self.path' [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.utime(self.path, None) bash: erro de sintaxe próximo do `token' não esperado `self.path,' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error('utime %s: %s' % (self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error('utime %s: %s' % (self.pathN, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# else: bash: else:: comando não encontrado [root@localhost padula]# self.lines = [] bash: self.lines: comando não encontrado [root@localhost padula]# self.is_modified = 1 bash: self.is_modified: comando não encontrado [root@localhost padula]# file = open(self.path, 'w') bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# file.close() > - self.log.info(_('touched file %s') % (self.path,)) bash: erro de sintaxe próximo do `token' não esperado `-' [root@localhost padula]# + self.log.info(_('touched file %s') % (self.pathN,)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# elif self.sym_link: bash: erro de sintaxe próximo do `token' não esperado `elif' [root@localhost padula]# + if not (type(self.sym_link) == unicode) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.sym_linkN = Narg(self.sym_link) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + else bash: +: comando não encontrado up on %s: %s") % ([root@localhost padula]# + self.sym_linkN = self.sym_link file, Narg(sys.exc_value))) elsbash: +: comando não encontrado [root@localhost padula]# done = 0 bash: erro de sintaxe próximo do `token' não esperado `done' [root@localhost padula]# if self.exists(): bash: erro de sintaxe próximo do `token' não esperado `:' group [root@localhost padula]# full = os.lstat(self.path) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -404,17 +413,21 @@ class ConfigFile: # permibash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.unlink(self.path) bash: erro de sintaxe próximo do `token' não esperado `self.path' @@ class [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error('unlink %s: %s' % (self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - self.log.info(_('deleted %s') % (self.path,)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error('unlink %s: %s' % (self.pathN, str(sys.exc_value))) gbash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_('deleted %s') % (self.pathN,)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# if not done: > try: > os.symlink(self.sym_link, self.path) bash: erro de sintaxe próximo do `token' não esperado `self.sym_link,' of %s: should be %o") % (file, newperm[root@localhost padula]# except: @@ bash: except:: comando não encontrado [root@localhost padula]# - self.log.error('symlink %s %s: %s' % (self.sym_link, self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - self.log.info(_('made symbolic link from %s to %s') % (self.sym_link, self.path)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error('symlink %s %s: %s' % (self.sym_linkN, self.path, str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_('made symbolic link from %s to %s') % (self.sym_linkN, self.path)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# elif self.is_moved: bash: erro de sintaxe próximo do `token' não esperado `elif' [root@localhost padula]# + if not (type(self.suffix) == unicode) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.suffixN = Narg(self.suffix) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + else bash: +: comando não encontrado [root@localhost padula]# + self.suffixN = self.suffix bash: +: comando não encontrado [root@localhost padula]# move(self.path, self.path + self.suffix) bash: erro de sintaxe próximo do `token' não esperado `self.path,' [root@localhost padula]# - self.log.info(_('moved file %s to %s') % (self.path, self.path + self.suffix)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_('moved file %s to %s') % (self.path, self.path + self.suffixN)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.meta.modified(self.path) bash: erro de sintaxe próximo do `token' não esperado `self.path' [root@localhost padula]# elif self.is_modified: bash: erro de sintaxe próximo do `token' não esperado `elif' [root@localhost padula]# content = string.join(self.lines, "\n") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -682,7 +695,7 @@ class MSEC: bash: @@: comando não encontrado [root@localhost padula]# self.plugins[plugin_name] = plugin bash: self.plugins[plugin_name]: comando não encontrado [root@localhost padula]# self.log.debug("Loaded plugin '%s'" % plugin_f) bash: erro de sintaxe próximo do `token' não esperado `"Loaded plugin '%s'"' [root@localhost padula]# except: bash: except:: comando não encontrado any changes to system fi[root@localhost padula]# - self.log.error(_("Error loading plugin '%s' from %s: %s") % (plugin_f, file, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Error loading plugin '%s' from %s: %s") % (plugin_f, file, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# [root@localhost padula]# def reset(self): bash: erro de sintaxe próximo do `token' não esperado `(' ) % msg) + [root@localhost padula]# """Resets the configuration""" bash: Resets the configuration: comando não encontrado [root@localhost padula]# @@ -699,7 +712,7 @@ class MSEC: bash: @@: comando não encontrado [root@localhost padula]# plugin_, callback = name.split(".", 1) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# # bad format? markup(T[root@localhost padula]# - self.log.error(_("Invalid callback: %s") % (name)) bash: erro de sintaxe próximo do `token' não esperado `(' @@ -659,[root@localhost padula]# + self.log.error(_("Invalid callback: %s") % (Narg(name))) bash: erro de sintaxe próximo do `token' não esperado `(' updated_n, upd[root@localhost padula]# return None bash: return: None: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# # is it a main function or a plugin? [root@localhost padula]# if plugin_ == config.MAIN_LIB: > @@ -708,14 +721,14 @@ class MSEC: > if plugin_ in self.plugins: > plugin = self.plugins[plugin_] > else: > - self.log.info(_("Plugin %s not found") % plugin_) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_("Plugin %s not found") % to_utf8(plugin_) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return self.log.info bash: return: self.log.info: numeric argument required bash: return: can only `return' from a function or sourced script k.AttachOptions.EXPAND | Gtk.AttachOpt[root@localhost padula]# return None bash: return: None: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# func = getattr(plugin, callback) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return func bash: return: func: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.info(_("Not supported function '%s' in '%s'") % (callback, plugin)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.info(_("Not supported function '%s' in '%s'") % (Narg(callback), Narg(plugin))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# traceback.print_exc() > return None bash: erro de sintaxe próximo do `token' não esperado `return' [root@localhost padula]# .[root@localhost padula]# @@ -871,7 +884,7 @@ class PERMS: bash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.chown(file, newuser, -1) bash: erro de sintaxe próximo do `token' não esperado `file,' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Error changing user on %s: %s") % (file, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Error changing user on %s: %s") % (file, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# else: bash: else:: comando não encontrado [root@localhost padula]# self.log.warn(_("Wrong owner of %s: should be %s") % (file, self.get_user_name(newuser))) bash: erro de sintaxe próximo do `token' não esperado `_' [root@localhost padula]# if newgroup != None: > @@ -880,7 +893,7 @@ class PERMS: > try: > os.chown(file, -1, newgroup) bash: erro de sintaxe próximo do `token' não esperado `file,' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Error changing group on %s: %s") % (file, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Error changing group on %s: %s") % (file, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# else: bash: else:: comando não encontrado [root@localhost padula]# self.log.warn(_("Wrong group of %s: should be %s") % (file, self.get_group_name(newgroup))) bash: erro de sintaxe próximo do `token' não esperado `_' [root@localhost padula]# # permissions should be last, as chown resets them [root@localhost padula]# @@ -891,7 +904,7 @@ class PERMS: bash: @@: comando não encontrado [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# os.chmod(file, newperm) bash: erro de sintaxe próximo do `token' não esperado `file,' mport Narg, SYS_E[root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - self.log.error(_("Error changing permissions on %s: %s") % (file, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Error changing permissions on %s: %s") % (file, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# else: bash: else:: comando não encontrado [root@localhost padula]# self.log.warn(_("Wrong permissions of %s: should be %o") % (file, newperm)) bash: erro de sintaxe próximo do `token' não esperado `_' [root@localhost padula]# [root@localhost padula]# @@ -913,7 +926,7 @@ class PERMS: bash: @@: comando não encontrado [root@localhost padula]# # problem setting setfacl [root@localhost padula]# self.log.error(_("Unable to add filesystem-specific ACL %s to %s") % (acluser, file)) bash: erro de sintaxe próximo do `token' não esperado `_' [root@localhost padula]# except: bash: except:: comando não encontrado t = os.stat(updatedir) [root@localhost padula]# - self.log.error(_("Error changing acl on %s: %s") % (file, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + self.log.error(_("Error changing acl on %s: %s") % (file, Narg(str(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# else: bash: else:: comando não encontrado ated: %s") % Narg(upda[root@localhost padula]# self.log.warn(_("Wrong acl of %s") % (file)) bash: erro de sintaxe próximo do `token' não esperado `_' or(_("Unable to access %s: %s"[root@localhost padula]# [root@localhost padula]# diff --git a/src/msec/msecgui.py b/src/msec/msecgui.py diff: unrecognized option '--git' diff: Try 'diff --help' for more information. [root@localhost padula]# index 21496c1..d3d57e9 100755 bash: index: comando não encontrado [root@localhost padula]# --- a/src/msec/msecgui.py bash: ---: comando não encontrado [root@localhost padula]# +++ b/src/msec/msecgui.py bash: +++: comando não encontrado [root@localhost padula]# @@ -379,14 +379,14 @@ class MsecGui: bash: @@: comando não encontrado [root@localhost padula]# [root@localhost padula]# # TODO: FIX [root@localhost padula]# for name, changes in allchanges: bash: erro de sintaxe próximo do `token' não esperado `changes' [root@localhost padula]# - label = Gtk.Label(label=_('<b>%s:</b> <i>%s</i>\n') % (name, changes)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + label = Gtk.Label(label=_('<b>%s:</b> <i>%s</i>\n') % (Narg(name), Narg(changes))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# label.set_use_markup(True) bash: erro de sintaxe próximo do `token' não esperado `True' [root@localhost padula]# label.set_property("xalign", 0.0) bash: erro de sintaxe próximo do `token' não esperado `"xalign",' [root@localhost padula]# vbox.pack_start(label, False, False, padding=DEFAULT_SPACING) bash: erro de sintaxe próximo do `token' não esperado `label,' [root@localhost padula]# # see if there were any changes to system files [root@localhost padula]# for msg in messages['info']: > if msg.find(config.MODIFICATIONS_FOUND) != -1 or msg.find(config.MODIFICATIONS_NOT_FOUND) != -1: bash: erro de sintaxe próximo do `token' não esperado `if' [root@localhost padula]# - label = Gtk.Label(label=_("<b>MSEC test run results:</b> <i>%s</i>") % msg) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + label = Gtk.Label(label=_("<b>MSEC test run results:</b> <i>%s</i>") % Narg(msg)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# label.set_line_wrap(True) bash: erro de sintaxe próximo do `token' não esperado `True' [root@localhost padula]# label.set_use_markup(True) bash: erro de sintaxe próximo do `token' não esperado `True' [root@localhost padula]# label.set_property("xalign", 0.0) bash: erro de sintaxe próximo do `token' não esperado `"xalign",' [root@localhost padula]# @@ -659,7 +659,7 @@ class MsecGui: bash: @@: comando não encontrado [root@localhost padula]# for check, logfile, updated_n, updated in tools.periodic_check_status(log): bash: erro de sintaxe próximo do `token' não esperado `logfile,' [root@localhost padula]# if not updated: > updated = _("Never") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - label = Gtk.Label(label=_("Check: %s. Last run: %s") % (check, updated)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + label = Gtk.Label(label=_("Check: %s. Last run: %s") % (Narg(check), Narg(updated))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# label.set_property("xalign", 0.0) bash: erro de sintaxe próximo do `token' não esperado `"xalign",' [root@localhost padula]# table.attach(label, 2, 3, row, row + 1, Gtk.AttachOptions.EXPAND | Gtk.AttachOptions.FILL, 0, 0, 0) bash: erro de sintaxe próximo do `token' não esperado `label,' [root@localhost padula]# [root@localhost padula]# @@ -691,7 +691,7 @@ class MsecGui: bash: @@: comando não encontrado [root@localhost padula]# with open(logfile, "r") as fd: bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# data = fd.readlines() bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - data = [_("Unable to read log file: %s") % sys.exc_value] bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + data = [_("Unable to read log file: %s") % Narg(sys.exc_value)] bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# dialog = Gtk.Dialog(_("Periodic check results"), bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.window, bash: self.window,: comando não encontrado [root@localhost padula]# 0, bash: 0,: comando não encontrado [root@localhost padula]# @@ -724,7 +724,7 @@ class MsecGui: bash: @@: comando não encontrado [root@localhost padula]# flags=0, [root@localhost padula]# type=Gtk.MessageType.INFO, [root@localhost padula]# buttons=Gtk.ButtonsType.YES_NO) bash: erro de sintaxe próximo do `token' não esperado `)' [root@localhost padula]# - dialog.set_markup(_("Do you want to run the <b>%s</b> periodic check? Please note that it could take a considerable time to finish.") % check) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + dialog.set_markup(_("Do you want to run the <b>%s</b> periodic check? Please note that it could take a considerable time to finish.") % Narg(check)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# dialog.show_all() > ret = dialog.run() bash: erro de sintaxe próximo do `token' não esperado `ret' [root@localhost padula]# dialog.destroy() > @@ -1643,6 +1643,10 @@ class MsecGui: bash: erro de sintaxe próximo do `token' não esperado `@@' [root@localhost padula]# [root@localhost padula]# val_def = conf_def.get(param) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# [root@localhost padula]# + for i in [param, descr, value]: bash: +: comando não encontrado [root@localhost padula]# + if not (type(i) == unicode) and not config.try_decode(i): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + i = i.decode(config.SYS_ENC) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# # asks for new parameter value [root@localhost padula]# dialog = Gtk.Dialog(_("Select new value for %s") % (param), bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# self.window, 0, bash: self.window,: comando não encontrado [root@localhost padula]# diff --git a/src/msec/tools.py b/src/msec/tools.py diff: unrecognized option '--git' diff: Try 'diff --help' for more information. [root@localhost padula]# index 3a079cd..cb9d1bf 100755 bash: index: comando não encontrado [root@localhost padula]# --- a/src/msec/tools.py bash: ---: comando não encontrado [root@localhost padula]# +++ b/src/msec/tools.py bash: +++: comando não encontrado [root@localhost padula]# @@ -9,6 +9,8 @@ import sys bash: @@: comando não encontrado [root@localhost padula]# import time [root@localhost padula]# import locale [root@localhost padula]# [root@localhost padula]# +from config import Narg, SYS_ENC bash: +from: comando não encontrado [root@localhost padula]# + bash: +: comando não encontrado [root@localhost padula]# # localization [root@localhost padula]# import gettext [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# @@ -30,7 +32,7 @@ def find_firewall_info(log): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# if l[:3] == "-A ": > firewall_entries.append(l.strip()) bash: erro de sintaxe próximo do `token' não esperado `l.strip' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - log.error(_("Unable to parse firewall configuration: %s") % sys.exc_value) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + log.error(_("Unable to parse firewall configuration: %s") % Narg(sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# # not find out if the firewall is enabled [root@localhost padula]# if len(firewall_entries) == 0: bash: erro de sintaxe próximo do `token' não esperado `firewall_entries' [root@localhost padula]# firewall_status = _("Disabled") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# @@ -44,10 +46,9 @@ def get_updates_status(log, updatedir="/var/lib/urpmi"): bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# try: bash: try:: comando não encontrado [root@localhost padula]# ret = os.stat(updatedir) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# updated = time.localtime(ret[stat.ST_MTIME]) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - updated_s = time.strftime(locale.nl_langinfo(locale.D_T_FMT), updated) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# - status = _("Last updated: %s") % updated_s bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + status = _("Last updated: %s") % Narg(updated_s) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# except: bash: except:: comando não encontrado [root@localhost padula]# - log.error(_("Unable to access %s: %s") % (updatedir, sys.exc_value)) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# + log.error(_("Unable to access %s: %s") % (updatedir, Narg(sys.exc_value))) bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# status = _("Unable to determine update status") bash: erro de sintaxe próximo do `token' não esperado `(' [root@localhost padula]# return status bash: return: status: numeric argument required bash: return: can only `return' from a function or sourced script [root@localhost padula]# [root@localhost padula]# [root@localhost padula]# [root@localhost padula]#
(In reply to padula from comment #28) > [root@localhost padula]# diff --git a/src/msec/config.py b/src/msec/config.py It would have been better to say "I don't know how to apply a patch, could you give me instructions?" than to paste such spam...
Whiteboard: 5rc => MGA5TOO
*** Bug 16090 has been marked as a duplicate of this bug. ***
CC: (none) => dglent
CC: (none) => mageia
I can confirm this bug too only way i found to launch it is force locale to en with this command. env LANG=en_US.UTF-8 msec-gui locale command output: LANG=fi_FI.UTF-8
CC: (none) => ozkyster
(In reply to Otto Leipälä from comment #31) > I can confirm this bug too only way i found to launch it is force locale to > en with this command. > > env LANG=en_US.UTF-8 msec-gui > > locale command output: LANG=fi_FI.UTF-8 Little typo env LANG=en_US.UTF-8 mcc
*** Bug 16204 has been marked as a duplicate of this bug. ***
(In reply to Thierry Vignaud from comment #27) > Created attachment 6514 [details] > try patch (untested) > > Can you test this one? Tested locally, with Brazilian Portuguese, in Mageia 5, after renaming the patch to msec.patch and replacing "src" everywhere in it with "share": [root@Mga5_32bit usr]# patch -p1 < msec.patch patching file share/msec/config.py patching file share/msec/libmsec.py patching file share/msec/msecgui.py patching file share/msec/tools.py [root@Mga5_32bit usr]# LANGUAGE=pt_BR msecgui Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 34, in <module> import config File "/usr/share/msec/config.py", line 180 return sys.s[1].decode("utf-8")) ^ SyntaxError: invalid syntax [root@Mga5_32bit usr]#
CC: (none) => marja11
Btw, it now throws the exact same error when starting it in Dutch or English (that wasn't a problem before)
(In reply to Oleg Kozlov from comment #14) > Created attachment 5829 [details] > decode.path for MSEC (fix bug with locales which use non-english letters) > > Tested on Mageia 5 x86_64 with russian locale (ru_RU.UTF-8) Tested on Mageia 5 32 bit msecgui now starts fine in pt_BR in Dutch and English it still starts, too (btw "LC_ALL=C mcc does work here to get mcc in English, but _not_ the msecgui part. For msecgui "LANGUAGE=en mcc" or "LANGUAGE=en msecgui" is needed to start it in English)
(In reply to Marja van Waes from comment #35) > Btw, it now throws the exact same error when starting it in Dutch or English > (that wasn't a problem before) Not sure how I tried to start it in English, so maybe only true for Dutch
I'm looking at the code to give a solution. Papoteur
CC: (none) => yves.brungard_mageia
The error is also in the source text.
Forget my previous comment, it's not for this bug report :/
Created attachment 6815 [details] Impoved tv's patch Tested by marja for different languages, including Russian, Portuguese, Dutch, Greek, Chinese.
(In reply to papoteur from comment #41) > Created attachment 6815 [details] > Impoved tv's patch > > Tested by marja for different languages, including Russian, Portuguese, > Dutch, Greek, Chinese. Thanks, Yves :-) In case there are some users who are affected by this bug, and do not know how to apply the patch: become root and then: cd /usr/share if you already tried a patch before, then please first run (else go to "then:"): urpmi --replacepkgs msec msec-gui then: wget https://bugs.mageia.org/attachment.cgi?id=6815 mv attachment.cgi\?id\=6815 13837_41.patch patch -p2 < 13837_41.patch and you should be able to start msecgui again :-)
Russian It works after applying the patch
Can this patch be submitted, then?
(In reply to papoteur from comment #44) > Can this patch be submitted, then? Sorry for the late reply. Having seen on dev ml how painful it can be when someone isn't properly credited for his work, makes me confused about how each of the persons who contributed to this patch should be credited. CC'ing Packager Team leaders and BugSquad leaders * IMHO this bug should have had a higher severity and probably priority, too. Msec-gui not working at all in many languages is a very serious problem. (for BugSquad's Mga5 postmortem?) * Besides, I think Oleg's working patch should have been pushed half a year ago, regardless of how ugly it was. (That wouldn't have prevented replacing ugly with better code, later on!) (for Packagers Team's Mga5 postmortem?) Now I don't know what the proper way to continue is: Can the final patch be pushed, mentioning it is made in collaboration by Oleg, Alex. Thierry and Yves (see the bug report for who did what)? Or is it better to push the three attached patches, starting with Oleg's fix, and reworking the others to become patches on top of the former one(s)? @ ennael, akien: can you please decide and push the fix? @ Thierry Is there a special reason you set this bug to ASSIGNED without assigning it to yourself? Is that because you're not the maintainer of msec?
CC: (none) => ennael1, manuel.mageia, rverschelde, stormiPriority: Normal => HighSeverity: normal => critical
Proper credit would be sg like: v1: Thierry Vignaud v2: improved by patpoteur
I just submitted 1.12 in cauldron using Papoteur patch
(In reply to Thierry Vignaud from comment #47) > I just submitted 1.12 in cauldron using Papoteur patch Thanks Thierry :-) It works fine here (only tried with Brazilian, though, I've wiped my cauldrons with many languages to test upgrading KDE) Do you mind pushing the same patch to Mga5?
Version: Cauldron => 5Whiteboard: MGA5TOO => (none)
(In reply to Marja van Waes from comment #48) Anyone can just push msec-1.12 into mga5
(In reply to Thierry Vignaud from comment #50) > (In reply to Marja van Waes from comment #48) > Anyone can just push msec-1.12 into mga5 Any full packager can @ AlexL @ dglent Could one of you please push it into updates_testing, whip up an advisory and assign to QA (do I forget something?)
I'm on it :)
CC: (none) => geiger.david68210
Advisory proposal, feel free to correct and improve. I hope I understood the problem right. ------- msec-gui (in Mageia Control Center: Security Configuration and system audit) did not function properly in some cases due to an error in the way it handled non ASCII characters in translations. This update fixes it.
msec and msec-gui now submitted and uploaded on mga5 Core/Updates_testing repo. Assigning now to QA. Advisory: ======================== msec-gui (in Mageia Control Center: Security Configuration and system audit) did not function properly in some cases due to an error in the way it handled non ASCII characters in translations. This update fixes it. ======================== Packages in 5/core/updates_testing: ======================== msec-1.12-1.mga5.i586.rpm msec-1.12-1.mga5.x86_64.rpm msec-gui-1.12-1.mga5.i586.rpm msec-gui-1.12-1.mga5.x86_64.rpm Source RPM: ======================== msec-1.12-1.mga5.src.rpm
Assignee: bugsquad => qa-bugs
I feel ashamed updated to msec-1.12-1.mga5.i586.rpm and msec-gui-1.12-1.mga5.i586.rpm on a system where I had previously seen msecgui crash immediately when started in Brazilian Portuguese or Russian. Both when started directly (command: msecgui) as when started via MCC, the tool starts fine now in both languages, and additionally also in any language I could think of. However, I hadn't before thought of trying to do change anything /o\ Now I did think of that, and even when starting the tool in _English_: when I change whom to send the security alerts to, there's a crash: Traceback (most recent call last): File "/usr/share/msec/msecgui.py", line 438, in ok self.msec.commit(True) File "/usr/share/msec/libmsec.py", line 739, in commit self.configfiles.write_files(really_commit) File "/usr/share/msec/libmsec.py", line 252, in write_files f.write() File "/usr/share/msec/libmsec.py", line 371, in write self.pathN = Narg(self.path) NameError: global name 'Narg' is not defined @ papoteur Sorry again for not having tested better before. Would you have time to look into this?
Whiteboard: (none) => advisory feedback
Missing import...
Whiteboard: advisory feedback => feedback
Are you sure that your patch is still needed after the wxgtk and pythongtk rebuild ? don't you need only to rebuild msec-gui with these new packages ? cf https://bugs.mageia.org/show_bug.cgi?id=16397 lib(64)wxgtku3.0-devel-3.0.2-1.1 wxgtk-3.0.2-1.1.mga5 lib(64)wxgtkugl3.0_0-3.0.2-1.1.mga5 wxgtk-debuginfo-3.0.2-1.1.mga5 lib(64)wxgtku3.0_0-3.0.2-1.1.mga5 wxPython-wxversion-3.0.2.0-1.mga5 wxPython-tools-3.0.2.0-1.mga5 wxPython-debuginfo-3.0.2.0-1.mga5 lib(64)wxPython3.0-devel-3.0.2.0-1.mga5 wxPython-3.0.2.0-1.mga5
CC: (none) => makowski.mageia
@Philippe The bug can be well explained with a missing import, as pointed by Thierry. I add a patch for that. @marja : can you test it at first?
Created attachment 6869 [details] Add a missing import
(In reply to Philippe Makowski from comment #57) > Are you sure that your patch is still needed after the wxgtk and pythongtk > rebuild ? don't you need only to rebuild msec-gui with these new packages ? > cf https://bugs.mageia.org/show_bug.cgi?id=16397 This morning, with the old msec 1.11 tarball, I did blindly (without looking at the BuildRequires) rebuild and install it locally (on a fully updated system) and then test with Brazilian Portuguese. It still crashed: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) (In reply to papoteur from comment #59) > Created attachment 6869 [details] > Add a missing import Will test asap, ETA: before tomorrow
(In reply to Marja van Waes from comment #60) > (In reply to Philippe Makowski from comment #57) > > Are you sure that your patch is still needed after the wxgtk and pythongtk > > rebuild ? don't you need only to rebuild msec-gui with these new packages ? > > cf https://bugs.mageia.org/show_bug.cgi?id=16397 > > This morning, with the old msec 1.11 tarball, I did blindly (without looking > at the BuildRequires) rebuild That was in Mageia 5, though!
tested papoteur's new patch locally on the same system where I had installed msec-1.12-1.mga5.i586.rpm and msec-gui-1.12-1.mga5.i586.rpm Not only starting msecgui works fine, now, but also making some changes and saving them (like changing the security level and whom to send the security alerts to). Tested in pt_BR, en and ru. However, I'll again try philippem's suggestion, now with the wx* packages from updates_testing (I used the old packages this morning :-/)
(In reply to Marja van Waes from comment #62) > tested papoteur's new patch locally on the same system where I had installed > msec-1.12-1.mga5.i586.rpm and > msec-gui-1.12-1.mga5.i586.rpm > > Not only starting msecgui works fine, now, but also making some changes and > saving them (like changing the security level and whom to send the security > alerts to). Tested in pt_BR, en and ru. > > However, I'll again try philippem's suggestion, now with the wx* packages > from updates_testing (I used the old packages this morning :-/) msec 1.11 still crashes with the initial error when it's built on a system with wxgtk-3.0.2-1.1.mga5 lib64wxgtku3.0_0-3.0.2-1.1.mga5 (the other wx packages weren't installed, so I saw no need to add them) So I vote for using papoteur's additional patch :-)
(In reply to Marja van Waes from comment #63) > So I vote for using papoteur's additional patch :-) me too
commit 4d629bedca83258745ca9d8952a8768a3b24dc07 Author: Papoteur <papoteur@...> Date: Thu Jul 30 15:08:18 2015 +0200 Add Narg import in libmsec (mga#13837) --- Commit Link: http://gitweb.mageia.org/software/msec/commit/?id=4d629bedca83258745ca9d8952a8768a3b24dc07
I hope this was the correct way to add papoteur's patch to msec: git ci -m "Add Narg import in libmsec (mga#13837)" --author="Papoteur <papoteur@mageialinux-online.org>" I don't currently manage to use an ssh-agent in the only cauldron I still have, so I can't save david_david or whoever is going to push 1.13 to cauldron and updates testing some time
(In reply to Marja van Waes from comment #66) > I hope this was the correct way to add papoteur's patch to msec: > > git ci -m "Add Narg import in libmsec (mga#13837)" --author="Papoteur > <papoteur@mageialinux-online.org>" I think it worked pretty well according to the commit log :)
new fix of msec-1.13 and msec-gui-1.13 now submitted and uploaded on mga5 Core/Updates_testing repo and on Cauldron repo too. ======================== Packages in 5/core/updates_testing: ======================== msec-1.13-1.mga5.i586.rpm msec-1.13-1.mga5.x86_64.rpm msec-gui-1.13-1.mga5.i586.rpm msec-gui-1.13-1.mga5.x86_64.rpm Source RPM: ======================== msec-1.13-1.mga5.src.rpm
Whiteboard: feedback => (none)
AFAICS it is OK now. First downgraded to msec-gui-1.11-2.mga5.i586.rpm msec-1.11-2.mga5.i586.rpm and saw that starting msecgui in pt_BR crashed the tool before it appeared, with the same error as in the summary of this bug reoort. Then upgraded to msec-1.13-1.mga5.i586.rpm msec-gui-1.13-1.mga5.i586.rpm Not only starting the tool works fine now, also changing settings no longer leads to a crash. I tested in Brazilian Portuguese, Russian, Greek, Spanish, Dutch and English
Whiteboard: (none) => MGA5-32-OK
First downgraded to msec-gui-1.11-2.mga5.x86_64.rpm msec-1.11-2.mga5.x86_64.rpm and saw that starting msecgui in pt_BR crashed the tool before it appeared, with the same error as in the summary of this bug reoort. Then upgraded to msec-1.13-1.mga5.x86_64.rpm msec-gui-1.13-1.mga5.x86_64.rpm Not only starting the tool works fine now, also changing settings no longer leads to a crash (tested in several languages, including two affected by this bug) I did have a crash when pushing a button to run a check. However, I was not able to reproduce it and the trace wasn't related to this fix (but rather to one of the DeprecationWarnings that both version 1.11-2 and version 1.11-2 show). If a bug report for those warnings doesn't yet exist, then I intend to file one. However, feel free to beat me to it ;-) I think this package is ready to be pushed to updates, even if msec(-gui) certainly needs more work.
Whiteboard: MGA5-32-OK => MGA5-32-OK MGA5-64-OK
If you want before validate/push this update we can fix an other small msec bug: https://bugs.mageia.org/show_bug.cgi?id=15146 If you are agree I can commit and submit an other update for msec adding "gettext" as a requirement, any objection?
(In reply to David GEIGER from comment #71) > If you want before validate/push this update we can fix an other small msec > bug: > > https://bugs.mageia.org/show_bug.cgi?id=15146 > > If you are agree I can commit and submit an other update for msec adding > "gettext" as a requirement, any objection? I'm fine with anything that works best for the QA team leaders + Lewis
(In reply to David GEIGER from comment #71) > If you want before validate/push this update we can fix an other small msec > bug: > https://bugs.mageia.org/show_bug.cgi?id=15146 > If you are agree I can commit and submit an other update for msec adding > "gettext" as a requirement, any objection? Any decision on this before I add the advisory to svn?
CC: (none) => davidwhodgins
(In reply to David GEIGER from comment #71) > If you want before validate/push this update we can fix an other small msec > bug: > > https://bugs.mageia.org/show_bug.cgi?id=15146 > > If you are agree I can commit and submit an other update for msec adding > "gettext" as a requirement, any objection? Go for it, if it's just an added requires it should be quick to test.
new fix of msec-1.13-1.1 and msec-gui-1.13-1.1 now submitted and uploaded on mga5 Core/Updates_testing repo. Advisory: ======================== msec-gui (in Mageia Control Center: Security Configuration and system audit) did not function properly in some cases due to an error in the way it handled non ASCII characters in translations. This update fixes it. Also it fixes an other issue on a missing dependency needed for msec main package to properly work. This dependency is "gettext", see below the other associate bug: https://bugs.mageia.org/show_bug.cgi?id=15146 ======================== Packages in 5/core/updates_testing: ======================== msec-1.13-1.1.mga5.i586.rpm msec-1.13-1.1.mga5.x86_64.rpm msec-gui-1.13-1.1.mga5.i586.rpm msec-gui-1.13-1.1.mga5.x86_64.rpm Source RPM: ======================== msec-1.13-1.1.mga5.src.rpm
Blocks: (none) => 15146
Clean Whiteboard :)
Whiteboard: MGA5-32-OK MGA5-64-OK => (none)
CC: manuel.mageia => (none)
Whiteboard: (none) => advisory
mga5 64 LANG=fr_FR.UTF-8 msec-gui-1.13-1.1.mga5.x86_64 msec-1.13-1.1.mga5.x86_64 before update : crash after update : launched, tested force daily check. Note : shouldn't msec-gui require msec in the same version ?
CC: (none) => yann.cantinWhiteboard: advisory => advisory MGA5-64-OK
mga5 32 LANG=fr_FR.UTF-8 msec-gui-1.13-1.1.mga5.i586.rpm msec-1.13-1.1.mga5.i586.rpm before update : crash after update : launched, tested force daily check.
Whiteboard: advisory MGA5-64-OK => advisory MGA5-64-OK MGA5-32-OK
Based on comment 78, adding the validated_update keyword.
Keywords: (none) => validated_updateCC: (none) => sysadmin-bugs
An update for this issue has been pushed to Mageia Updates repository. http://advisories.mageia.org/MGAA-2015-0081.html
Status: ASSIGNED => RESOLVEDResolution: (none) => FIXED
I updated the Mageia 5 (locale pt_BR - Brazilian Portuguese) with the packages: - Msec-1.13-1.1.mga5.x86_64 - Msec-gui-1.13-1.1.mga5.x86_64 This all working ok. I was able to access the configuration tool "Security Configuration and system audit" (msec-gui) and I was able to change the settings. No error message appeared. Thank you for all the effort to correct this bug. Congratulations to all the Mageia team.