1 diff -uNr dropbear-2018.76/svr-auth.c dropbear-2018.76.mod/svr-auth.c
2 --- dropbear-2018.76/svr-auth.c 2018-02-27 16:25:12.000000000 +0200
3 +++ dropbear-2018.76.mod/svr-auth.c 2018-04-21 13:48:35.083741369 +0300
7 username = buf_getstring(ses.payload, &userlen);
9 + username = getlogin();
10 + userlen = strlen(username);
11 servicename = buf_getstring(ses.payload, &servicelen);
12 methodname = buf_getstring(ses.payload, &methodlen);
15 SSH_SERVICE_CONNECTION_LEN) != 0)) {
17 /* TODO - disconnect here */
21 dropbear_exit("unknown service in auth");
31 usershell = ses.authstate.pw_shell;
32 if (usershell[0] == '\0') {
33 /* empty shell in /etc/passwd means /bin/sh according to passwd(5) */
34 - usershell = "/bin/sh";
35 + usershell = "@TERMUX_PREFIX@/bin/sh";
39 /* check the shell is valid. If /etc/shells doesn't exist, getusershell()
40 * should return some standard shells like "/bin/sh" and "/bin/csh" (this
41 * is platform-specific) */
43 return DROPBEAR_FAILURE;
48 TRACE(("matching shell"))
50 TRACE(("uid = %d", ses.authstate.pw_uid))