version 1.100, 2003/01/23 14:06:15 |
version 1.101, 2003/02/02 10:51:13 |
|
|
tuser = argv[argc - 1]; |
tuser = argv[argc - 1]; |
if (*tuser == '\0') |
if (*tuser == '\0') |
tuser = NULL; |
tuser = NULL; |
else if (!okname(tuser)) |
|
exit(1); |
|
} else { |
} else { |
thost = argv[argc - 1]; |
thost = argv[argc - 1]; |
tuser = NULL; |
tuser = NULL; |
|
|
suser = pwd->pw_name; |
suser = pwd->pw_name; |
else if (!okname(suser)) |
else if (!okname(suser)) |
continue; |
continue; |
|
if (tuser && !okname(tuser)) |
|
continue; |
snprintf(bp, len, |
snprintf(bp, len, |
"%s%s %s -n " |
"%s%s %s -n " |
"-l %s %s %s %s '%s%s%s:%s'", |
"-l %s %s %s %s '%s%s%s:%s'", |
|
|
suser = argv[i]; |
suser = argv[i]; |
if (*suser == '\0') |
if (*suser == '\0') |
suser = pwd->pw_name; |
suser = pwd->pw_name; |
else if (!okname(suser)) |
|
continue; |
|
} |
} |
host = cleanhostname(host); |
host = cleanhostname(host); |
len = strlen(src) + CMDNEEDS + 20; |
len = strlen(src) + CMDNEEDS + 20; |
|
|
c = (int)*cp; |
c = (int)*cp; |
if (c & 0200) |
if (c & 0200) |
goto bad; |
goto bad; |
if (!isalpha(c) && !isdigit(c) && |
if (!isalpha(c) && !isdigit(c)) { |
c != '@' && c != '_' && c != '-' && c != '.' && c != '+') |
switch (c) { |
goto bad; |
case '\'': |
|
case '"': |
|
case '`': |
|
case ' ': |
|
case '#': |
|
goto bad; |
|
default: |
|
break; |
|
} |
|
} |
} while (*++cp); |
} while (*++cp); |
return (1); |
return (1); |
|
|