After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 662992 - the same password in deferent layouts is allowed!!!
the same password in deferent layouts is allowed!!!
Status: RESOLVED DUPLICATE of bug 675167
Product: gtk+
Classification: Platform
Component: .General
3.2.x
Other Linux
: Normal minor
: ---
Assigned To: gtk-bugs
gtk-bugs
: 666977 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-10-29 12:40 UTC by syriatalks
Modified: 2012-04-30 16:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description syriatalks 2011-10-29 12:40:31 UTC
when gnome-screen-saver ask me for password (let's assume it is a) , i type ش which it has the same place in the arabic layout  , and it allow it and unlock the screen !.
Comment 1 syriatalks 2011-10-29 13:05:55 UTC
i use ubuntu 11.10.
Comment 2 Ray Strode [halfline] 2011-10-31 01:05:03 UTC
More likely what's going on is the layout selector is lying about the current layout.

This may be fixed by this commit:

http://cgit.freedesktop.org/libxklavier/commit/?id=3d12615671ae69b718d23e5eeeed4164eeeb4582
Comment 3 syriatalks 2011-10-31 17:01:30 UTC
i tried them both (en & ar) , and it unlock the screen.
Comment 4 Ray Strode [halfline] 2011-10-31 17:58:36 UTC
Does the text show up right-to-left when it says ar ?

My assumption is you aren't actually switching, it just says you are.

Either way, this has to be problem lower in the stack than gnome-screensaver. gnome-screensaver never actually looks at what's typed, it just blindly passes it on to PAM or whatever.
Comment 5 syriatalks 2011-10-31 18:04:41 UTC
yes , the text show up right-to-left when it says ar .
Comment 6 Ray Strode [halfline] 2011-10-31 19:12:39 UTC
okay this must be a PAM problem or some such, although I can't quite imagine how.

Does *any* password work? (even gibberish) ?
Comment 7 syriatalks 2011-10-31 19:23:29 UTC
NO !! the problem is gnome-screen-saver allowed user to unlock screen with password from another keyboard layout for example i set password in en to (adf) when gnome-screen-saver ask me for password  i switch keyboard layout to fr and type (qdf) (q has the same palce of a in en keyboard  layout) it unlock screen, is it a bug??
Comment 8 Ray Strode [halfline] 2011-10-31 19:45:14 UTC
it sounds like a bug, but it's very unlikely it's a gnome-screensaver bug.

gnome-screensaver never checks your password, it farms that functionality off to PAM and does the unlock only if PAM says everything is okay.

There is a possibility that gnome-screensaver is *CRASHING*

after the screen unlocks when it shouldn't, if you bring up a terminal and type:

ps -ef |grep gnome-screensaver

what output do you see?
Comment 9 syriatalks 2011-11-01 04:14:13 UTC
OUTPUT :
os        1862     1  0 03:16 ?        00:00:02 /usr/bin/gnome-screensaver --no-daemon
os       21970 21889  0 06:11 pts/0    00:00:00 grep gnome-screensaver
 
and this (bug) also exist in gnome-screen-saver 3.0.
Comment 10 Ray Strode [halfline] 2011-11-01 04:39:04 UTC
alright, so this is probably not a gnome-screensaver bug then.

If you run

pkill -f gnome-screensaver

then

gnome-screensaver --no-daemon --debug

then lock your screen and reproduce the bug, can you paste the output to a comment here?
Comment 11 syriatalks 2011-11-01 12:06:33 UTC
[gs_debug_init] gs-debug.c:106 (14:03:56):	 Debugging enabled
[main] gnome-screensaver.c:86 (14:03:56):	 initializing gnome-screensaver 3.2.0
[init_session_id] gs-listener-dbus.c:1287 (14:03:56):	 Got session-id: /org/freedesktop/ConsoleKit/Session2
[gs_fade_init] gs-fade.c:921 (14:03:56):	 Fade type: 3
[set_status] gs-watcher-x11.c:347 (14:03:56):	 GSWatcher: not active, ignoring status changes
[gs_manager_set_lock_enabled] gs-manager.c:162 (14:03:56):	 GSManager: lock-enabled=1
[gs_watcher_set_active] gs-watcher-x11.c:277 (14:03:56):	 turning watcher: ON
[listener_dbus_handle_system_message] gs-listener-dbus.c:764 (14:03:56):	 obj_path=/org/freedesktop/DBus interface=org.freedesktop.DBus method=NameAcquired destination=:1.77
[on_bg_changed] gs-manager.c:549 (14:03:57):	 background changed
[gs_manager_set_lock_active] gs-manager.c:129 (14:04:00):	 Setting lock active: 1
[gs_grab_grab_root] gs-grab-x11.c:538 (14:04:00):	 Grabbing the root window
[gs_grab_get_keyboard] gs-grab-x11.c:153 (14:04:00):	 Grabbing keyboard widget=AE
[gs_grab_get_mouse] gs-grab-x11.c:188 (14:04:00):	 Grabbing mouse widget=AE
[gs_manager_create_windows_for_screen] gs-manager.c:1175 (14:04:00):	 Creating 1 windows for screen 0
[gs_manager_create_window_for_monitor] gs-manager.c:998 (14:04:00):	 Creating window for monitor 0 [0,0] (1366x768)
[gs_manager_activate] gs-manager.c:1268 (14:04:00):	 fading out
[fade_done_cb] gs-manager.c:1234 (14:04:01):	 fade completed, showing windows
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:01):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:01):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:01):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[window_map_cb] gs-manager.c:786 (14:04:01):	 Handling window map event
[window_show_cb] gs-manager.c:852 (14:04:01):	 Handling window show
[apply_background_to_window] gs-manager.c:813 (14:04:01):	 Creating background w:1366 h:768
[gs_watcher_set_active] gs-watcher-x11.c:277 (14:04:01):	 turning watcher: OFF
[gs_listener_send_signal_active_changed] gs-listener-dbus.c:175 (14:04:01):	 Sending the ActiveChanged(TRUE) signal on the session bus
[gs_manager_set_lock_active] gs-manager.c:129 (14:04:01):	 Setting lock active: 1
[gs_window_xevent] gs-window-x11.c:576 (14:04:01):	 not raising our windows
[window_map_event_cb] gs-manager.c:775 (14:04:01):	 Handling window map_event event
[manager_maybe_grab_window] gs-manager.c:729 (14:04:01):	 Moving grab to 0x8783028
[gs_grab_move_keyboard] gs-grab-x11.c:343 (14:04:01):	 Moving keyboard grab from AE to E00007
[gs_grab_move_keyboard] gs-grab-x11.c:350 (14:04:01):	 *** doing X server grab
[gs_grab_release_keyboard] gs-grab-x11.c:226 (14:04:01):	 Ungrabbing keyboard
[gs_grab_get_keyboard] gs-grab-x11.c:153 (14:04:01):	 Grabbing keyboard widget=E00007
[gs_grab_move_keyboard] gs-grab-x11.c:372 (14:04:01):	 *** releasing X server grab
[gs_grab_move_mouse] gs-grab-x11.c:288 (14:04:01):	 Moving pointer grab from AE to E00007
[gs_grab_move_mouse] gs-grab-x11.c:295 (14:04:01):	 *** doing X server grab
[gs_grab_release_mouse] gs-grab-x11.c:249 (14:04:01):	 Ungrabbing pointer
[gs_grab_get_mouse] gs-grab-x11.c:188 (14:04:01):	 Grabbing mouse widget=E00007
[gs_grab_move_mouse] gs-grab-x11.c:318 (14:04:01):	 *** releasing X server grab
[set_status] gs-watcher-x11.c:347 (14:04:01):	 GSWatcher: not active, ignoring status changes
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:01):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:01):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:01):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:01):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[unfade_idle] gs-manager.c:756 (14:04:01):	 resetting fade
[gs_fade_reset] gs-fade.c:862 (14:04:01):	 Resetting fade
[find_window_at_pointer] gs-manager.c:688 (14:04:03):	 Requesting unlock for screen 0
[gs_window_request_unlock] gs-window-x11.c:1522 (14:04:03):	 Requesting unlock
[window_dialog_up_changed_cb] gs-manager.c:923 (14:04:03):	 Handling window dialog up changed: up
[handle_window_dialog_up] gs-manager.c:865 (14:04:03):	 Handling dialog up
[gs_grab_move_keyboard] gs-grab-x11.c:336 (14:04:03):	 Window E00007 is already grabbed, skipping
[gs_grab_move_mouse] gs-grab-x11.c:276 (14:04:03):	 Window E00007 is already grabbed, skipping
[gs_grab_release_mouse] gs-grab-x11.c:249 (14:04:03):	 Ungrabbing pointer
[popup_dialog] gs-window-x11.c:1458 (14:04:03):	 Popping up dialog
[gs_window_clear_to_background_surface] gs-window-x11.c:260 (14:04:03):	 Clearing window to background pixmap
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[error_watch] gs-window-x11.c:838 (14:04:03):	 command error output: [gs_debug_init] gs-debug.c:106 (14:04:03):	 Debugging enabled

[error_watch] gs-window-x11.c:838 (14:04:03):	 command error output: [auth_message_handler] gnome-screensaver-dialog.c:229 (14:04:03):	 Got message style 1: 'Password: '

[gs_window_raise] gs-window-x11.c:524 (14:04:03):	 Raising screensaver window
[gs_window_xevent] gs-window-x11.c:588 (14:04:03):	 not raising our windows
[gs_window_xevent] gs-window-x11.c:588 (14:04:03):	 not raising our windows
[error_watch] gs-window-x11.c:838 (14:04:03):	 command error output: 

[lock_command_watch] gs-window-x11.c:1363 (14:04:03):	 command output: WINDOW ID=58720260

[error_watch] gs-window-x11.c:838 (14:04:03):	 command error output: ** (gnome-screensaver-dialog:3703): WARNING **: Couldn't load user icon: Failed to open file '/home/os/.face': No such file or directory

[error_watch] gs-window-x11.c:838 (14:04:03):	 command error output: [gs_lock_plug_enable_prompt] gs-lock-plug.c:1236 (14:04:03):	 Setting prompt to: Password:

[gs_window_xevent] gs-window-x11.c:576 (14:04:03):	 not raising our windows
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:03):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:03):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:03):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[gs_window_xevent] gs-window-x11.c:588 (14:04:03):	 not raising our windows
[gs_window_xevent] gs-window-x11.c:588 (14:04:03):	 not raising our windows
[gs_window_xevent] gs-window-x11.c:588 (14:04:03):	 not raising our windows
[gs_window_xevent] gs-window-x11.c:576 (14:04:03):	 not raising our windows
[gs_window_xevent] gs-window-x11.c:576 (14:04:03):	 not raising our windows
[error_watch] gs-window-x11.c:838 (14:04:10):	 command error output: [request_response] gnome-screensaver-dialog.c:157 (14:04:10):	 got response: -2

[error_watch] gs-window-x11.c:838 (14:04:10):	 command error output: [do_auth_check] gnome-screensaver-dialog.c:303 (14:04:10):	 Verify user returned: TRUE

[lock_command_watch] gs-window-x11.c:1363 (14:04:10):	 command output: RESPONSE=OK

[lock_command_watch] gs-window-x11.c:1377 (14:04:10):	 Got OK response
[gs_window_dialog_finish] gs-window-x11.c:1239 (14:04:10):	 Dialog finished
[keyboard_command_finish] gs-window-x11.c:1116 (14:04:10):	 Keyboard finished
[window_dialog_up_changed_cb] gs-manager.c:923 (14:04:10):	 Handling window dialog up changed: down
[handle_window_dialog_down] gs-manager.c:897 (14:04:10):	 Handling dialog down
[gs_grab_move_keyboard] gs-grab-x11.c:336 (14:04:10):	 Window E00007 is already grabbed, skipping
[gs_grab_move_mouse] gs-grab-x11.c:291 (14:04:10):	 Getting pointer grab on E00007
[gs_grab_move_mouse] gs-grab-x11.c:295 (14:04:10):	 *** doing X server grab
[gs_grab_get_mouse] gs-grab-x11.c:188 (14:04:10):	 Grabbing mouse widget=E00007
[gs_grab_move_mouse] gs-grab-x11.c:318 (14:04:10):	 *** releasing X server grab
[update_geometry] gs-window-x11.c:325 (14:04:10):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:10):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:10):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:325 (14:04:10):	 got geometry for monitor 0: x=0 y=0 w=1366 h=768
[update_geometry] gs-window-x11.c:338 (14:04:10):	 using geometry for monitor 0: x=0 y=0 w=1366 h=768
[gs_window_move_resize_window] gs-window-x11.c:371 (14:04:10):	 Move and/or resize window on monitor 0: x=0 y=0 w=1366 h=768
[gs_fade_reset] gs-fade.c:862 (14:04:10):	 Resetting fade
[gs_grab_release] gs-grab-x11.c:399 (14:04:10):	 Releasing all grabs
[gs_grab_release_mouse] gs-grab-x11.c:249 (14:04:10):	 Ungrabbing pointer
[gs_grab_release_keyboard] gs-grab-x11.c:226 (14:04:10):	 Ungrabbing keyboard
[gs_window_dialog_finish] gs-window-x11.c:1239 (14:04:10):	 Dialog finished
[keyboard_command_finish] gs-window-x11.c:1116 (14:04:10):	 Keyboard finished
[window_unmap_cb] gs-manager.c:793 (14:04:10):	 window unmapped!
[gs_window_dialog_finish] gs-window-x11.c:1239 (14:04:10):	 Dialog finished
[keyboard_command_finish] gs-window-x11.c:1116 (14:04:10):	 Keyboard finished
[gs_watcher_set_active] gs-watcher-x11.c:277 (14:04:10):	 turning watcher: ON
[gs_listener_send_signal_active_changed] gs-listener-dbus.c:175 (14:04:10):	 Sending the ActiveChanged(FALSE) signal on the session bus
Comment 12 absoludity 2011-12-06 20:24:53 UTC
Hi - I can verify syriatalks' experience, also on Ubuntu 11.10 - it seems to also verify Ray's hunch that it's not really changing the layout (although it indicates that it is). Here's what I reported most recently at:

https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/872701

"""
I can confirm that, at least for me:

With two keyboard layouts (layout1 and layout2)
1) lock the screen with CTRL-ALT-l
2) touch mouse to bring up screensaver dialog
3) switch keyboard layout to layout2 (and note keyboard indicator indicates layout change)
4) enter password *as if layout1 was active*
5) screen is unlocked
6) switch back to layout1

Repeat, but this time skip step 3 - screen is still unlocked. That is, it seems that although the screensaver dialog indicates that it changes the layout - it is always using the one layout.
"""

Let me know if I can provide any useful information.
Comment 13 syriatalks 2011-12-07 17:30:32 UTC
and if change the layout before i press Alt+cltr+L ?
it has changed but it still allowed !! so i say it again : GNOME_SCREEN_SAVER DOESN'T SEE ANY DEFFERENTS BETWEEN LAYOUTS (sorry for pooor english :D)
Comment 14 Ray Strode [halfline] 2011-12-07 18:20:36 UTC
okay, I think this is the libxklavier bug mentioned in comment 2.
Comment 15 André Klapper 2011-12-20 16:07:04 UTC
Closing as RESOLVED NOTGNOME as per comment 14 as the issue is likely in libxklavier which is not part of the GNOME infrastructure but freedesktop.org. 
Please ask Ubuntu to ship an updated libxklavier version.
Comment 16 Ray Strode [halfline] 2012-01-04 16:17:50 UTC
*** Bug 666977 has been marked as a duplicate of this bug. ***
Comment 17 Marc Deslauriers 2012-01-29 15:00:19 UTC
FYI, this still happens with libxklavier 5.2.
Comment 18 Ray Strode [halfline] 2012-04-30 16:09:59 UTC
reopening and moving to gtk.  Owen found a bug in plug handling that could explain this.
Comment 19 Ray Strode [halfline] 2012-04-30 16:18:05 UTC
To give more details, at one point gtkplug-x11.c was merged into gtkplug.c and the merge was incomplete, so there's code like:

    case KeyPress:
... 
       gdk_keymap_translate_keyboard_state (keymap,
                                             event->key.hardware_keycode,
                                             event->key.state,
                                             event->key.group,
                                             &event->key.keyval,
                                             NULL, NULL, &consumed);
...
       /* FIXME: These should be filled in properly */
        event->key.group = 0;
...

So the keyval is getting set with a group 0 (since key.group hasn't been initialized yet, and is implicitly 0 at the start of the function) and the key group is getting explicitly hard coded to 0 after that.

group 0 is usually the latin layout so it unlocks the screen.
Comment 20 Ray Strode [halfline] 2012-04-30 16:19:56 UTC
oh he already filed a bug, i'll do this one to that one.

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