Use k_getpw{name,uid} and strtok_r
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1051 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -254,9 +254,13 @@ parse_auth_level(char *str)
|
||||
{
|
||||
char *p;
|
||||
int ret = 0;
|
||||
p = strtok(str, ",");
|
||||
while(p){
|
||||
if(strcmp(p, "user") == 0) ;
|
||||
char *foo;
|
||||
|
||||
for(p = strtok_r(str, ",", &foo);
|
||||
p;
|
||||
p = strtok_r(NULL, ",", &foo)) {
|
||||
if(strcmp(p, "user") == 0)
|
||||
;
|
||||
else if(strcmp(p, "otp") == 0)
|
||||
ret |= AUTH_PLAIN|AUTH_OTP;
|
||||
else if(strcmp(p, "ftp") == 0 ||
|
||||
@@ -268,7 +272,6 @@ parse_auth_level(char *str)
|
||||
ret |= AUTH_PLAIN|AUTH_FTP;
|
||||
else
|
||||
warnx("bad value for -a");
|
||||
p = strtok(NULL, ",");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@@ -80,7 +80,7 @@ ftp_rooted(const char *path)
|
||||
static char newpath[MaxPathLen];
|
||||
struct passwd *pwd;
|
||||
if(!home[0])
|
||||
if((pwd = getpwnam("ftp")))
|
||||
if((pwd = k_getpwnam("ftp")))
|
||||
strcpy(home, pwd->pw_dir);
|
||||
sprintf(newpath, "%s/%s", home, path);
|
||||
if(access(newpath, X_OK))
|
||||
@@ -96,6 +96,7 @@ ftpd_popen(char *program, char *type, int do_stderr, int no_glob)
|
||||
FILE *iop;
|
||||
int argc, gargc, pdes[2], pid;
|
||||
char **pop, *argv[100], *gargv[1000];
|
||||
char *foo;
|
||||
|
||||
if (strcmp(type, "r") && strcmp(type, "w"))
|
||||
return (NULL);
|
||||
@@ -117,7 +118,7 @@ ftpd_popen(char *program, char *type, int do_stderr, int no_glob)
|
||||
|
||||
/* break up string into pieces */
|
||||
for (argc = 0, cp = program;; cp = NULL)
|
||||
if (!(argv[argc++] = strtok(cp, " \t\n")))
|
||||
if (!(argv[argc++] = strtok_r(cp, " \t\n", &foo)))
|
||||
break;
|
||||
|
||||
gargv[0] = (char*)ftp_rooted(argv[0]);
|
||||
|
Reference in New Issue
Block a user