Description of problem:
Sometime between redhat-config-users and now, this bit of code
if i == "_" or i == "-":
#specifically allow "_" and "-"
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.
Steps to Reproduce:
1. hit the Add User button
2. enter "- blah" for a username
3. enter some password
4. hit OK
Dialog goes gray and freezes; RuntimeError on console.
A pretty "don't do that!" warning message.
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.