static int badlistchars[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* ^@ - ^O */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* ^P - ^_ */
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* SPACE - / */
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* SPACE - / */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, /* 0 - ? */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* @ - O */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, /* P - _ */
/* check new login name */
EXEC SQL REPEATED SELECT COUNT(login) INTO :rowcount FROM users
- WHERE login = LEFT(:login,SIZE(login)) AND users_id != :users_id;
+ WHERE login = :login AND users_id != :users_id;
if (ingres_errno) return(mr_errcode);
if (rowcount > 0) return(MR_IN_USE);
EXEC SQL REPEATED SELECT COUNT(name) INTO :rowcount FROM list
- WHERE name = LEFT(:login,SIZE(name));
+ WHERE name = :login;
if (ingres_errno) return(mr_errcode);
if (rowcount > 0) return(MR_IN_USE);
EXEC SQL REPEATED SELECT COUNT(label) INTO :rowcount FROM filesys
- WHERE label = LEFT(:login,SIZE(label));
+ WHERE label = :login;
if (ingres_errno) return(mr_errcode);
if (rowcount > 0) return(MR_IN_USE);
com_err(whoami, 0, "login name OK");
*index(data_type, ' ') = 0;
if (!strcmp(data_type, "user")) {
/* USER */
+ if (index(name, '@'))
+ return(MR_USER);
status = name_to_id(name, data_type, &id);
if (status && (status == MR_NO_MATCH || status == MR_NOT_UNIQUE))
return(MR_USER);