X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=package%2Fdropbear%2Fpatches%2F100-pubkey_path.patch;h=9346cc60f45d7d462e6026a21f2285df33f4d999;hb=6b6ce9f831d61226252d18961b47ccda7561cb3d;hp=3f76e3a743913e52a010a43c6da3ac1c6bcaf2f5;hpb=b5cb1795de1f0959de1e228bd2e784d1cea921a7;p=openwrt.git diff --git a/package/dropbear/patches/100-pubkey_path.patch b/package/dropbear/patches/100-pubkey_path.patch index 3f76e3a743..9346cc60f4 100644 --- a/package/dropbear/patches/100-pubkey_path.patch +++ b/package/dropbear/patches/100-pubkey_path.patch @@ -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 */