36 lines
1.8 KiB
Diff
36 lines
1.8 KiB
Diff
|
diff -uNr shellinabox-2.20/shellinabox/service.c shellinabox-2.20.mod/shellinabox/service.c
|
||
|
--- shellinabox-2.20/shellinabox/service.c 2016-11-09 21:40:33.000000000 +0200
|
||
|
+++ shellinabox-2.20.mod/shellinabox/service.c 2020-01-03 01:47:07.845623596 +0200
|
||
|
@@ -94,9 +94,11 @@
|
||
|
// The next part of the argument is either the word 'LOGIN' or the
|
||
|
// application definition.
|
||
|
if (!strcmp(arg, "LOGIN")) {
|
||
|
+#ifndef __ANDROID__
|
||
|
if (geteuid()) {
|
||
|
fatal("[config] Must be \"root\" to invoke LOGIN service!");
|
||
|
}
|
||
|
+#endif
|
||
|
service->useLogin = 1;
|
||
|
service->useHomeDir = 0;
|
||
|
service->authUser = 0;
|
||
|
@@ -106,8 +108,7 @@
|
||
|
check(service->user = strdup("root"));
|
||
|
check(service->group = strdup("root"));
|
||
|
check(service->cwd = strdup("/"));
|
||
|
- check(service->cmdline = strdup(
|
||
|
- "/bin/login -p -h ${peer}"));
|
||
|
+ check(service->cmdline = strdup("@TERMUX_PREFIX@/bin/pwlogin"));
|
||
|
} else
|
||
|
#endif
|
||
|
if (!strcmp(arg, "SSH") || !strncmp(arg, "SSH:", 4)) {
|
||
|
@@ -175,8 +176,7 @@
|
||
|
"-oHostbasedAuthentication=no -oIdentitiesOnly=yes "
|
||
|
"-oKbdInteractiveAuthentication=yes -oPasswordAuthentication=yes "
|
||
|
"-oPreferredAuthentications=keyboard-interactive,password "
|
||
|
- "-oPubkeyAuthentication=no -oRhostsRSAAuthentication=no "
|
||
|
- "-oRSAAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
|
||
|
+ "-oPubkeyAuthentication=no -oStrictHostKeyChecking=no -oTunnel=no "
|
||
|
"-oUserKnownHostsFile=/dev/null -oVerifyHostKeyDNS=no "
|
||
|
// beewoolie-2012.03.30: while it would be nice to disable this
|
||
|
// feature, we cannot be sure that it is available on the
|