Lines 49-63
Link Here
|
49 |
static bool is_valid_name (const char *name) |
49 |
static bool is_valid_name (const char *name) |
50 |
{ |
50 |
{ |
51 |
/* |
51 |
/* |
52 |
* User/group names must match [a-z_][a-z0-9_-]*[$] |
52 |
* User/group names must match [a-zA-Z_][a-zA-Z0-9_-]*[$] |
|
|
53 |
* Allow user to use uppercase under his/her responsibility |
53 |
*/ |
54 |
*/ |
54 |
if (('\0' == *name) || |
55 |
if (('\0' == *name) || |
55 |
!((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) { |
56 |
!((('a' <= *name) && ('z' >= *name)) || |
|
|
57 |
(('A' <= *name) && ('Z' >= *name)) || |
58 |
('_' == *name) |
59 |
)) { |
56 |
return false; |
60 |
return false; |
57 |
} |
61 |
} |
58 |
|
62 |
|
59 |
while ('\0' != *++name) { |
63 |
while ('\0' != *++name) { |
60 |
if (!(( ('a' <= *name) && ('z' >= *name) ) || |
64 |
if (!(( ('a' <= *name) && ('z' >= *name) ) || |
|
|
65 |
( ('A' <= *name) && ('Z' >= *name) ) || |
61 |
( ('0' <= *name) && ('9' >= *name) ) || |
66 |
( ('0' <= *name) && ('9' >= *name) ) || |
62 |
('_' == *name) || |
67 |
('_' == *name) || |
63 |
('-' == *name) || |
68 |
('-' == *name) || |