Description of problem: Sometime between redhat-config-users and now, this bit of code if i == "_" or i == "-": #specifically allow "_" and "-" return 1 was added to isUsernameOk() from asciiCheck.py. This is in a loop which checks each character for okayness. The problem: if a - or _ occurs anywhere in the given username, the entire rest of the name is passed without checking. So, one can give a username like "foo- b a r", resulting in a runtime error (I assume from libuser) and a hung GUI. Version-Release number of selected component (if applicable): Not sure when this started, but it's in the test2 package, and it's in 1.2.11-4, which is the latest in the development tree. How reproducible: always Steps to Reproduce: 1. hit the Add User button 2. enter "- blah" for a username 3. enter some password 4. hit OK 5. Boom! Actual results: Dialog goes gray and freezes; RuntimeError on console. Expected results: A pretty "don't do that!" warning message. Additional info: An alternate approach... instead of the whole new check, modify the "if i in string.punctuation" one and either reduce what string.punctuation is or add a second "oh except" check.
Looks like this was added in 1.1.16-1 in response to bug #99115....
Created attachment 99448 [details] allow - _ in names without ignoring further characters here, try this instead. :)
Oh -- my patch doesn't fid the same problem in isGroupnameOk. But you get the idea. :)
Should be fixed in system-config-users-1.2.12-1 and firstboot-1.3.11-1 in Rawhide. Thanks for your report.