summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-02 17:43:42 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-02 17:43:42 +0000
commit5b9d06e88ec9c98eb3758991ab22eb9d0813e70b (patch)
tree34ff622fe06b5f7632f1efabc16b5af12a554560
parentb0ccd00793948e0fe2456f25ff6ad0e99c2eaa9a (diff)
fix for the password check (checked the wrong variable)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4887 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/busybox/patches/310-passwd_access.patch4
1 files changed, 2 insertions, 2 deletions
diff --git a/package/busybox/patches/310-passwd_access.patch b/package/busybox/patches/310-passwd_access.patch
index 3d4efb135..740181ac7 100644
--- a/package/busybox/patches/310-passwd_access.patch
+++ b/package/busybox/patches/310-passwd_access.patch
@@ -16,11 +16,11 @@ diff -urN busybox.old/networking/httpd.c busybox.dev/networking/httpd.c
continue;
}
pp = strchr(p, ':');
-+ if(pp && pp[1] == '!' && pp[2] == ':')
-+ continue;
+ if(pp && pp[1] == '$' && pp[2] == 'p' &&
+ pp[3] == '$' && pp[4] &&
+ (pwd = getpwnam(&pp[4])) != NULL) {
++ if(pwd->pw_passwd && pwd->pw_passwd[0] == '!')
++ continue;
+ ppnew = malloc(5 + strlen(pwd->pw_passwd));
+ ppnew[0] = ':';
+ strcpy(ppnew + 1, pwd->pw_passwd);