GameKit OS X in-app login leaves secure input enabled when dismissed
| Originator: | greg | ||
| Number: | rdar://19606012 | Date Originated: | 26-Jan-2015 |
| Status: | Open | Resolved: | Duplicate of 19784790 |
| Product: | OS X | Product Version: | 10.10.1 (14B17) |
| Classification: | Serious Bug | Reproducible: | Always |
12-Apr-2015: I can still reproduce this on 10.10.3 (14D131). If the duplicate was closed as fixed, then I respectfully disagree that this is a duplicate bug. Summary: The GameKit OS X in-app login dialog leaves Secure Input enabled when dismissed. This deprives apps which use Core Event Taps from filtering input after the in-app GameKit dialog has been presented. The only workaround is to kill the GameKit process. This violates Apple's own guidelines on the use of secure input: https://developer.apple.com/library/mac/technotes/tn2150/_index.html Steps to Reproduce: 1. Download TextExpander: http://smilesoftware.com/TextExpander/download.html (Apple employees and contractors can grab a self-serve NFR license here: http://smilesoftware.com/apple) 2. Launch TextExpander If you're new to TextExpander, you'll need to enable Accessibility access in the Security & Privacy system preferences, as prompted. 3. Install Hero Academy from the Mac App Store: https://itunes.apple.com/us/app/hero-academy/id597247087?mt=12 4. Launch Game Center 5. Choose Account -> Sign Out from the menu 6. Launch Hero Academy 7. Enter your AppleID 8. Enter your password 9. Press Return *. You'll be logged in and will receive the GameKit welcome banner at the top of the window. 10. Wait 15 seconds. 11. You'll see the TextExpander menu bar icon will indicate it is disabled. If you click anywhere, it will show a warning badge to indicate that Secure Input is enabled. If you click and hold the TextExpander menu bar icon, it will note that secure input has been enabled by GameKit. 12. Switch to a text editor and attempt to expand a TextExpander abbreviation, such as ddate. You'll find that it does not expand. This is because Secure Input is enabled and that deprives TextExpander of its ability to filter input. It does not matter whether you use Return or the Sign In button. Quitting Hero Academy does not disable Secure Input. The problem also affects Jigsaw Puzzle Epic <https://itunes.apple.com/us/app/jigsaw-puzzles-epic/id796885130?mt=12>, which I chose at random, so I'm figuring it affects any or most all GameKit apps. Expected Results: I would expect Secure Input to be disabled as soon as focus is lost on the secure input field, whether because the Return key functions as the keyboard shortcut for the default button or because the user clicks the Sign In button. Actual Results: Secure Input remains enabled until one force quits GameKit via Activity Monitor. Details on Secure Input are found here: https://developer.apple.com/library/mac/technotes/tn2150/_index.html Details on how Secure Input impacts TextExpander are found here: http://smilesoftware.com/TextExpander/secureinput.html Force quitting the GameKit process via Activity Monitor releases Secure Input, as does the following: 1. Launch Game Center 2. Choose Account -> Sign Out from the menu 3. Launch Hero Academy 4. Cancel the GameKit login window 5. Quit Hero Academy This works because a new GameKit process is launched before Hero Academy presents the login and the old one, which was holding Secure Input, quits. Version: OS X 10.10.1 (14B17) Configuration: MacBook Pro (Retina, 15-inch, Late 2013) 2.6 GHz Intel Core i7 16 GB 1600 MHz DDR3 NVIDIA GeForce GT 750M 2048 MB
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!