[package] dropbear: update to 0.52 (#4635)
[openwrt-10.03/.git] / package / dropbear / patches / 100-pubkey_path.patch
index 3f76e3a743913e52a010a43c6da3ac1c6bcaf2f5..9346cc60f45d7d462e6026a21f2285df33f4d999 100644 (file)
@@ -1,17 +1,17 @@
-Index: dropbear-0.49/svr-authpubkey.c
+Index: dropbear-0.52/svr-authpubkey.c
 ===================================================================
---- dropbear-0.49.orig/svr-authpubkey.c        2007-06-04 13:21:39.475975408 +0200
-+++ dropbear-0.49/svr-authpubkey.c     2007-06-04 13:21:39.542965224 +0200
-@@ -176,6 +176,8 @@
+--- dropbear-0.52.orig/svr-authpubkey.c        2008-04-22 17:29:49.000000000 -0700
++++ dropbear-0.52/svr-authpubkey.c     2008-04-22 17:29:49.000000000 -0700
+@@ -209,6 +209,8 @@
                goto out;
        }
  
-+      if (ses.authstate.pw->pw_uid != 0) {
++      if (ses.authstate.pw_uid != 0) {
 +
        /* we don't need to check pw and pw_dir for validity, since
         * its been done in checkpubkeyperms. */
-       len = strlen(ses.authstate.pw->pw_dir);
-@@ -187,6 +189,9 @@
+       len = strlen(ses.authstate.pw_dir);
+@@ -220,6 +222,9 @@
  
        /* open the file */
        authfile = fopen(filename, "r");
@@ -21,16 +21,16 @@ Index: dropbear-0.49/svr-authpubkey.c
        if (authfile == NULL) {
                goto out;
        }
-@@ -274,6 +279,8 @@
+@@ -372,6 +377,8 @@
                goto out;
        }
  
-+      if (ses.authstate.pw->pw_uid != 0) {
++      if (ses.authstate.pw_uid != 0) {
 +
        /* allocate max required pathname storage,
         * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
        filename = m_malloc(len + 22);
-@@ -295,6 +302,14 @@
+@@ -381,6 +388,14 @@
        if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
                goto out;
        }
@@ -43,5 +43,5 @@ Index: dropbear-0.49/svr-authpubkey.c
 +              }
 +      }
  
-       /* file looks ok, return success */
-       ret = DROPBEAR_SUCCESS;
+       /* check ~/.ssh */
+       strncat(filename, "/.ssh", 5); /* strlen("/.ssh") == 5 */