Bug 284905 - KDE update breaks KeyboardShortcut escaping in password dialogs
Summary: KDE update breaks KeyboardShortcut escaping in password dialogs
Status: CONFIRMED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2011-10-24 23:31 UTC by fed up
Modified: 2013-07-12 18:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fed up 2011-10-24 23:31:09 UTC
Version:           4.7 (using KDE 4.7.2) 
OS:                Linux

I have KDE installed

	kde4-config -v
	Qt: 4.7.4
	KDE Development Platform: 4.7.2 (4.7.2) "release 9"
	kde4-config: 1.0

In KDE's personal settings,  I define a Shortcut for using to type a frequent 9-character test password into password fields on my local-only dev box.

	Shortcuts & Gestures
	  -> Custom Shortcuts
	    -> SystemWide
	"localP"
		Comment: Comment
		Trigger: Meta+Ctrl+Alt-P
		a:Shift+b:c:Shift+d:1:Shift+e:Shift+1:Shift+g:Shift+h

When I hit the trigger key, it types into whatever the selected context is

	aBcD1E!GH

It's worked this way for years, now.

After an upgrade yesterday (the zypp history is at the bottom of this message),  when I select the context of a password field, and hit the meta key above, instead of 9-characters, only 7-characters are typed.  And, of course, refused.

Everywhere OTHER than the password dialog -- where I can't actually see the typed characters -- the whole 9-char password is typed out.

If I repeate this but use

	-	aBcD1E!GH
	+	aBcD1EXGH

all 9-chars get typed out.

It looks like something's changed in "special character" (here, "!") handling in the password dialog.

------------------------------------------------
cd /var/log/zypp
grep -i kde history | grep 10-23 | cut -d"|" -f1-5
	2011-10-23 15:04:00|install|virtuoso-drivers|6.1.3-35.4|x86_64
	2011-10-23 15:04:38|install|marble-data|4.7.2-4.7|noarch
	# 2011-10-23 15:04:40 kdebase4-workspace-ksysguardd-4.7.2-6.7.x86_64.rpm installed ok
	2011-10-23 15:04:40|install|kdebase4-workspace-ksysguardd|4.7.2-6.7|x86_64
	2011-10-23 15:05:26|install|virtuoso-server|6.1.3-35.4|x86_64
	2011-10-23 15:12:21|install|libqt4-32bit|4.7.4-246.1|x86_64
	2011-10-23 15:12:41|install|libqt4|4.7.4-246.1|x86_64
	2011-10-23 15:16:14|install|libqt4-sql-32bit|4.7.4-246.1|x86_64
	2011-10-23 15:16:17|install|libqt4-sql|4.7.4-246.1|x86_64
	2011-10-23 15:16:21|install|libkdecore4-32bit|4.7.2-9.6|x86_64
	2011-10-23 15:16:24|install|libkdecore4|4.7.2-9.6|x86_64
	2011-10-23 15:19:23|install|libqt4-x11-32bit|4.7.4-246.1|x86_64
	2011-10-23 15:19:25|install|libqt4-sql-sqlite-32bit|4.7.4-246.1|x86_64
	2011-10-23 15:19:26|install|libqt4-sql-sqlite|4.7.4-246.1|x86_64
	2011-10-23 15:19:28|install|libqt4-sql-postgresql-32bit|4.7.4-248.1|x86_64
	2011-10-23 15:19:30|install|libqt4-sql-postgresql|4.7.4-248.1|x86_64
	2011-10-23 15:19:31|install|libqt4-sql-mysql-32bit|4.7.4-248.1|x86_64
	2011-10-23 15:19:33|install|libqt4-sql-mysql|4.7.4-248.1|x86_64
	2011-10-23 15:19:37|install|libqt4-qt3support|4.7.4-246.1|x86_64
	2011-10-23 15:19:39|install|liblastfm0|0.3.3-8.1|x86_64
	2011-10-23 15:20:21|install|libqt4-x11|4.7.4-246.1|x86_64
	2011-10-23 15:20:22|install|liblastfm-devel|0.3.3-8.1|x86_64
	2011-10-23 15:20:41|install|libkde4-32bit|4.7.2-9.6|x86_64
	2011-10-23 15:21:28|install|qt-creator|2.3.1-65.8|x86_64
	2011-10-23 15:21:37|install|python-qt4|4.8.5-81.1|x86_64
	2011-10-23 15:22:22|install|libqt4-devel-doc|4.7.4-248.1|x86_64
	2011-10-23 15:22:52|install|libqt4-devel|4.7.4-246.1|x86_64
	2011-10-23 15:22:53|install|libpolkit-qt-1-1|0.99.1-45.1|x86_64
	2011-10-23 15:22:57|install|libmarblewidget12|4.7.2-4.7|x86_64
	2011-10-23 15:22:58|install|libksuseinstall1-32bit|4.7.2-9.6|x86_64
	2011-10-23 15:23:00|install|libksuseinstall1|4.7.2-9.6|x86_64
	2011-10-23 15:23:04|install|kdelibs4-doc|4.7.2-9.6|x86_64
	2011-10-23 15:28:23|install|libqt4-devel-doc-data|4.7.4-248.1|noarch
	2011-10-23 15:28:25|install|libpolkit-qt-1-devel|0.99.1-45.1|x86_64
	2011-10-23 15:28:48|install|libkde4|4.7.2-9.6|x86_64
	2011-10-23 15:28:50|install|libreoffice-kde4|3.4.2.6-76.1|x86_64
	2011-10-23 15:28:52|install|sweeper|4.7.2-3.7|x86_64
	2011-10-23 15:28:54|install|ruby-kde4|4.7.2-4.8|x86_64
	2011-10-23 15:28:58|install|mono-kde4|4.7.2-4.8|x86_64
	2011-10-23 15:29:02|install|marble|4.7.2-4.7|x86_64
	2011-10-23 15:29:05|install|libkdepim4|4.7.2-307.2|x86_64
	2011-10-23 15:29:07|install|kwalletmanager|4.7.2-3.7|x86_64
	2011-10-23 15:29:09|install|kmousetool|4.7.2-3.7|x86_64
	2011-10-23 15:29:11|install|kmag|4.7.2-3.7|x86_64
	2011-10-23 15:29:15|install|kgpg|4.7.2-3.7|x86_64
	2011-10-23 15:29:17|install|kdf|4.7.2-3.7|x86_64
	2011-10-23 15:29:19|install|kdelibs4-core|4.7.2-9.6|x86_64
	2011-10-23 15:29:21|install|kdebase4-workspace-liboxygenstyle|4.7.2-6.7|x86_64
	2011-10-23 15:29:23|install|kde4-kgreeter-plugins|4.7.2-6.7|x86_64
	2011-10-23 15:29:25|install|kcharselect|4.7.2-3.7|x86_64
	2011-10-23 15:29:28|install|kcalc|4.7.2-3.7|x86_64
	2011-10-23 15:29:52|install|digikam|2.2.0-3.6|x86_64
	2011-10-23 15:29:54|install|ark|4.7.2-3.7|x86_64
	2011-10-23 15:29:56|install|akonadi|4.7.2-307.2|x86_64
	2011-10-23 15:29:59|install|marble-devel|4.7.2-4.7|x86_64
	2011-10-23 15:30:02|install|libkdecore4-devel|4.7.2-9.6|x86_64
	2011-10-23 15:30:04|install|knotes|4.7.2-307.2|x86_64
	2011-10-23 15:30:07|install|kjots|4.7.2-307.2|x86_64
	2011-10-23 15:30:22|install|kdepim4|4.7.2-307.2|x86_64
	2011-10-23 15:30:34|install|kdelibs4|4.7.2-9.6|x86_64
	2011-10-23 15:31:00|install|kdebase4-workspace|4.7.2-6.7|x86_64
	2011-10-23 15:31:03|install|kaddressbook|4.7.2-307.2|x86_64
	2011-10-23 15:31:11|install|digikam-lang|2.2.0-3.6|noarch
	2011-10-23 15:31:16|install|akregator|4.7.2-307.2|x86_64
	2011-10-23 15:31:23|install|libkde4-devel|4.7.2-9.6|x86_64
	2011-10-23 15:31:30|install|kwin|4.7.2-6.7|x86_64
	2011-10-23 15:31:33|install|ktimetracker|4.7.2-307.2|x86_64
	2011-10-23 15:31:39|install|korganizer|4.7.2-307.2|x86_64
	2011-10-23 15:31:44|install|kontact|4.7.2-307.2|x86_64
	2011-10-23 15:31:49|install|kmail|4.7.2-307.2|x86_64
	2011-10-23 15:31:56|install|kdm|4.7.2-6.7|x86_64
	2011-10-23 15:31:59|install|kdepim4-wizards|4.7.2-307.2|x86_64
	2011-10-23 15:32:00|install|libksuseinstall-devel|4.7.2-9.6|x86_64
	2011-10-23 15:32:03|install|kdebase4-workspace-devel|4.7.2-6.7|x86_64
	2011-10-23 17:16:18|remove |kdevelop4-plugin-php-docs-lang|1.2.60.git.1311751303-3.6|noarch


Reproducible: Always

Steps to Reproduce:
included

Actual Results:  
included

Expected Results:  
included
Comment 1 Christoph Feck 2011-10-25 08:57:28 UTC
Does replacing "Shift+1" with "!" or "Shift+!" help?
Comment 2 fed up 2011-10-25 17:06:37 UTC
testing 3 simpler/testable cases with a 7-char Shortcut Action:
	(1) x:x:x:Shift+1:x:x:x
	(2) x:x:x:Shift+!:x:x:x
	(3) x:x:x:!:x:x:x

returns, on trigger, in a non-password, clear-text field
	(1) xxx!xxx
	(2) xxx!xxx
	(3) xxx1xxx

and in a "Run as root - KDE su" dialog, returns,

	(1) *****
	(2) *****
	(3) ***

NONE of which have the correct character count.
Comment 3 fed up 2011-10-29 16:32:13 UTC
So, a simple, fully reproducible TEST procedure, is

(1) change root password -> "xxx!xxx"
(2) login as any non-root user
(3) open Personal Settings -> 
          Shortcuts & Gestures ->
           Custom Shortcuts
(4) @ "Configure Input Actions settings", select "SystemWide", then

 New ->
  Global Shortcut ->
   Send Keyboard Input

(5) define/enter
  Trigger -> Meta+Ctrl+Alt+T
  Action  -> x:x:x:Shift+1:x:x:x

(6) Click "Apply"

(7) Open editor, type "Meta+Ctrl+Alt+T".

  Note output == 'xxx!xxx'

(8) Launch "Yast Administrator Settings" via GUI.

(9) @ Password dialog, type "xxx!xxx"
  Click to accept
  NOTE authentication SUCCEEDS.

(10) close Administrator Settings app
(11) Launch "Yast Administrator Settings" via GUI.

(12) @ Password dialog, type "Meta+Ctrl+Alt+T"

  Note output == '*****'

and, @ Click to accept, authentication FAILS.


What should/used_to happen?


(12) @ Password dialog, type "Meta+Ctrl+Alt+T"

  Note output == '*******'

and, @ Click to accept, authentication SUCCEEDS.
Comment 4 fed up 2011-11-10 01:29:00 UTC
After a bunch of updates and a reboot, I now have 4 office machines running,

kde4-config -v                                                              
Qt:4.7.4                                                                          KDE Development Platform: 4.7.3 (4.7.3) "release 10"
kde4-config: 1.0

and all of them have this same problem. It's fully reproducible, and easily confirmed using the step-by-step procedure I provided above.
Comment 5 fed up 2011-11-16 17:32:24 UTC
Hearing nothing here, I contacted the assignee directly via email, asking for some participation, and offering to help by providing any additional info he required.

So far, I've received no response at all.

What's the next step for getting someone to address this?
Comment 6 Christoph Feck 2011-11-16 21:07:39 UTC
Please do not close the bug until someone fixes it.
Comment 7 fed up 2011-11-16 21:20:34 UTC
er, i didn't close it ... i switched it to NEEDSINFO / UNMAINTAINED because (1) it NEEDSINFO and (2) it appears to be UNMAINTAINED

since my questions and repeated attempts to help are apparently causing grief, I'll just ignore it.
Comment 8 Oswald Buddenhagen 2011-11-30 08:21:40 UTC
*** Bug 287873 has been marked as a duplicate of this bug. ***
Comment 9 ####### 2011-11-30 14:53:16 UTC
nope, THIS bug is filed against hotkeys.

as I said in MY bug (287873), i filed against kdesu, with a possible pointer to Qt.
Comment 10 Oswald Buddenhagen 2011-11-30 18:50:45 UTC
*** Bug 287873 has been marked as a duplicate of this bug. ***
Comment 11 Oswald Buddenhagen 2011-11-30 18:55:08 UTC
the comments in the duplicate indicate that the bug is in kpassworddialog or qlineedit in password mode. should be verified with a qt-only application which queries a password.
Comment 12 dka0sf8gh6_a9f8h6a9d 2011-12-20 21:48:46 UTC
> should be verified with a qt-only application which queries a password.

using a pure qt password lineedit (@ the user module) in yast to check


Open Yast ->
 Security and Users ->
  User and Group Management ->
   User and Group Administration ->
    Users ->
      [ADD]

enter a password there using KeyboardShortcut, as described here in bug.

truncation problem exists, as reported here in the bug.
Comment 13 dka0sf8gh6_a9f8h6a9d 2011-12-20 22:09:03 UTC
<heinz> over in #qt suggests that this, then, is a Qt bug.