Validate user names against allowed chars

This commit is contained in:
2012-12-11 14:24:07 +00:00
parent 3c39c277bd
commit c2c0659bc8
4 changed files with 43 additions and 21 deletions

View File

@@ -322,16 +322,36 @@ main(int argc, char *argv[])
switch (command)
{
case c_create:
create(&mysql, user);
if(name_isclean(user)) {
create(&mysql, user);
} else {
dberror(NULL, "User name '%s' contains invalid characters.\n"
"Only A-Z, a-z, 0-9, _ (underscore) and - (dash) permitted. Skipping.", user);
}
break;
case c_delete:
delete(&mysql, user);
if(name_isclean(user)) {
delete(&mysql, user);
} else {
dberror(NULL, "User name '%s' contains invalid characters.\n"
"Only A-Z, a-z, 0-9, _ (underscore) and - (dash) permitted. Skipping.", user);
}
break;
case c_passwd:
passwd(&mysql, user);
if(name_isclean(user)) {
passwd(&mysql, user);
} else {
dberror(NULL, "User name '%s' contains invalid characters.\n"
"Only A-Z, a-z, 0-9, _ (underscore) and - (dash) permitted. Skipping.", user);
}
break;
case c_show:
show(&mysql, user);
if(name_isclean(user)) {
show(&mysql, user);
} else {
dberror(NULL, "User name '%s' contains invalid characters.\n"
"Only A-Z, a-z, 0-9, _ (underscore) and - (dash) permitted. Skipping.", user);
}
break;
default:
fprintf(stderr, "This point should never be reached.\n");