Description of problem: satpasswd do not work for logins including underscore char and most probably any other non-alphanumeric chars, but i do not know which ones are allowed in username (underscore is, tested on webUI) Version-Release number of selected component (if applicable): spacewalk-backend-tools-2.3.3-33.el6sat.noarch How reproducible: always Steps to Reproduce: 1. Have user "jhutar_something" 2. Try to use `satpasswd` to change its password Actual results: # echo -e 'newpass\nnewpass' | satpasswd --stdin jhutar_something Usage: satpasswd [OPTIONS] user Options: -h, --help Print this help message. -s, --stdin Read the password from standard input. Expected results: Should work. Additional info: This is problematic "if" in the code: userIn = sys.argv.pop() if not userIn.isalnum(): print_help() sys.exit(1)
Maybe?: import re userIn = sys.argv.pop() if not re.match(r'^[A-Za-z0-9_]+$', userIn): print_help() sys.exit(1)