fix for the password check (checked the wrong variable)

SVN-Revision: 4887
This commit is contained in:
Felix Fietkau 2006-10-02 17:43:42 +00:00
parent 92d0956040
commit bcad7263a0

View File

@ -16,11 +16,11 @@ diff -urN busybox.old/networking/httpd.c busybox.dev/networking/httpd.c
continue; continue;
} }
pp = strchr(p, ':'); pp = strchr(p, ':');
+ if(pp && pp[1] == '!' && pp[2] == ':')
+ continue;
+ if(pp && pp[1] == '$' && pp[2] == 'p' && + if(pp && pp[1] == '$' && pp[2] == 'p' &&
+ pp[3] == '$' && pp[4] && + pp[3] == '$' && pp[4] &&
+ (pwd = getpwnam(&pp[4])) != NULL) { + (pwd = getpwnam(&pp[4])) != NULL) {
+ if(pwd->pw_passwd && pwd->pw_passwd[0] == '!')
+ continue;
+ ppnew = malloc(5 + strlen(pwd->pw_passwd)); + ppnew = malloc(5 + strlen(pwd->pw_passwd));
+ ppnew[0] = ':'; + ppnew[0] = ':';
+ strcpy(ppnew + 1, pwd->pw_passwd); + strcpy(ppnew + 1, pwd->pw_passwd);