Bug 403791

Summary: system-config-keyboard breaks in rawhide
Product: [Fedora] Fedora Reporter: Michal Jaegermann <michal>
Component: system-config-keyboardAssignee: Lubomir Rintel <lkundrak>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: dwalsh, riku.seppala
Target Milestone: ---Keywords: SELinux
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-08 08:20:56 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
SELinux denial summary
none
SELinux is preventing the loadkeys from using potentially mislabeled files (./root).
none
SELinux is preventing rhgb (rhgb_t) "read" to ./keyboard (root_t).
none
SELinux is preventing kdm_greet (xdm_t) "create" to ./kdm (var_lib_t).
none
SELinux is preventing the lnusertemp from using potentially mislabeled files (./root). none

Description Michal Jaegermann 2007-11-28 22:34:07 EST
Description of problem:

system-config-keyboard does not work anymore leaving a keyboard
with defaults even if it was configured diffrently.

An attempt to execute system-config-keyboard in a terminal window
first prints:

Starting graphical mode failed.  Starting text mode instead.

switched to a text mode and immediately fails in a bad way
turning a terminal window into white text on a blue background,
no carriage returns, a keyboard locked up and the following
backtrace (reformatted as carriage returns are gone and text
runs off the right margin):

Traceback (most recent call last):
File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 78, in
<module>
 useTextMode()
 File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 38, in
useTextMode
 app = keyboard_tui.childWindow()
 File "/usr/share/system-config-keyboard/keyboard_tui.py", line 98, in __init__
 kbd, rc = KeyboardWindow()(screen)
 File "/usr/share/system-config-keyboard/keyboard_tui.py", line 70, in __call__
 l.setCurrent(default)
 File "/usr/lib64/python2.5/site-packages/snack.py", line 193, in setCurrent
 self.w.listboxSetCurrent(self.item2key[item])
 KeyError: ''

After the above even "Reset" and "Reset and Clear" are ineffective.
A text clears from a screen all right after the second one but
a keyboard still does not respond.  On the second try a keyboard
turns out to respond but nothing what was typed shows up.
OTOH typing in blind 'reset' followed by 'Ctrl-J' does reset that
terminal even if menu entries were unable to achieve that.


Version-Release number of selected component (if applicable):
system-config-keyboard-1.2.11-3.fc8

How reproducible:
always
Comment 1 Lubomir Kundrak 2007-11-29 07:32:28 EST
Thanks for the report, I'll look at the problem shortly.
Comment 2 Robert Petranović 2008-03-27 05:22:53 EDT
Created attachment 299293 [details]
SELinux denial summary
Comment 3 Robert Petranović 2008-03-27 05:24:11 EDT
I fixed this bug by adding this line to xorg.conf file:
Section "ServerLayout"
    (...)
    InputDevice    "keyboard" "CoreKeyboard"
EndSection
Section "InputDevice"
	Identifier  "keyboard"
	Driver      "kbd"
	Option	    "XkbLayout" "us"
EndSection
(...)

But there is also SELinux denial.. so the xorg.conf changes work only if SELinux
is disabled.... in attachment you have SELinux denial summary
Comment 4 Daniel Walsh 2008-03-28 09:18:47 EDT
I have tried this and while the AVC shows up the change of keyboard worked in
enforcing mode.  I will dontaudit the avc.  It is happening because 

Fixed in selinux-policy-3.0.8-96.fc8
Comment 5 Riku Seppala 2008-03-31 17:14:26 EDT
Created attachment 299761 [details]
SELinux is preventing the loadkeys from using potentially mislabeled files (./root).
Comment 6 Riku Seppala 2008-03-31 17:17:27 EDT
Sorry I messed the comment. More selinux trouble with keyboard. I'll attach
another selinux summary that might be related.
Comment 7 Riku Seppala 2008-03-31 17:18:48 EDT
Created attachment 299762 [details]
SELinux is preventing rhgb (rhgb_t) "read" to ./keyboard (root_t).
Comment 8 Daniel Walsh 2008-04-01 01:16:57 EDT
This looks like the keyboard file is labeld root_t?  Is this file in /?

Why is rhgb_t reading ./keyboard?

I have added dontaudit to the loadkeys trying to read /root.
Comment 9 Riku Seppala 2008-04-02 11:25:12 EDT
All I know is that I have fresh install of Fedora 9 beta with wrong keyboard
settings. When I try to change it I get another selinux summary. This is what I
see on the console:

[root@localhost ~]# system-config-keyboard
Loading /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz
Traceback (most recent call last):
  File "/usr/share/system-config-keyboard/keyboard_gui.py", line 226, in _okClicked
    return self.apply(None, False)
  File "/usr/share/system-config-keyboard/keyboard_gui.py", line 117, in apply
    keyboardBackend.modifyXconfig(fullname, layout, model, variant, options)
  File "/usr/share/system-config-keyboard/keyboard_backend.py", line 34, in
modifyXconfig
    keyboard = xf86config.getCoreKeyboard(xconfig)
  File "/usr/lib64/python2.5/site-packages/xf86config.py", line 177, in
getCoreKeyboard
    raise XF86SectionMissing("No CoreKeyboard InputDevice found in the layout")
xf86config.XF86SectionMissing


Comment 10 Riku Seppala 2008-04-02 11:26:01 EDT
Created attachment 300077 [details]
SELinux is preventing kdm_greet (xdm_t) "create" to ./kdm (var_lib_t).
Comment 11 Riku Seppala 2008-04-02 14:10:17 EDT
Looks like my problems were already fixed, I should update more often. (Can't do
much testing now since X is broken, but keyboard seems to be ok now)
Comment 12 Riku Seppala 2008-04-04 05:05:55 EDT
Sorry, not fixed. Pressing ok on system-config-keyboard gives yet another
selinux summary.
Comment 13 Riku Seppala 2008-04-04 05:06:27 EDT
Created attachment 300398 [details]
SELinux is preventing the lnusertemp from using potentially mislabeled files (./root).
Comment 14 Daniel Walsh 2008-04-04 15:19:25 EDT
COuld you verify that you are logged in as unconfined_t?

id -Z in a terminal window?
Comment 15 Riku Seppala 2008-04-05 08:58:35 EDT
$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Comment 16 Daniel Walsh 2008-04-06 05:58:25 EDT
So are you running system-config-keyboard form the gdm screen?  Or are you
running it after login?
Comment 17 Riku Seppala 2008-04-06 06:34:17 EDT
I don't even know how to run it from the gdm screen. :)
I'm using kdm, I login to kde, menu->system->terminal... 
This is x86_64 if it matters.
Comment 18 Daniel Walsh 2008-04-06 06:57:32 EDT
OK But did you change the keyboard from the kdm login screen?  Or after you
logged in?
Comment 19 Riku Seppala 2008-04-06 07:32:54 EDT
Like I said I don't know how you can change keyboard from the login screen, so I
changed it after I logged in.

On the console I run system-config-keyboard, select finnish (latin1), press ok
and the avc pops up. The system-config-keyboard does not close, I have to close
it by pressing the x. Now the keyboard settings is changed, but after reboot I
get us keyboard again so it's not really saved. (sorry for my poor english :) )

BTW, this is 17" laptop with numpad. 
Comment 20 Riku Seppala 2008-04-06 10:10:36 EDT
After today's updates the avc message is gone, but I still see the traceback.
(commment #9)
Comment 21 Riku Seppala 2008-04-06 11:20:35 EDT
Looks like there is bug report for that traceback
https://bugzilla.redhat.com/show_bug.cgi?id=437290
Comment 22 Daniel Walsh 2008-04-08 08:20:56 EDT

*** This bug has been marked as a duplicate of 437290 ***