fix for the password check (checked the wrong variable)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 2 Oct 2006 17:43:42 +0000 (17:43 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 2 Oct 2006 17:43:42 +0000 (17:43 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4887 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/busybox/patches/310-passwd_access.patch

index 3d4efb1..740181a 100644 (file)
@@ -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);