mirror of
https://github.com/termux/termux-packages.git
synced 2025-03-04 09:28:54 +00:00
32 lines
716 B
Diff
32 lines
716 B
Diff
--- a/auth-passwd.c
|
|
+++ b/auth-passwd.c
|
|
@@ -56,6 +56,10 @@
|
|
#include "auth.h"
|
|
#include "auth-options.h"
|
|
|
|
+#ifdef __TERMUX__
|
|
+#include <termux-auth.h>
|
|
+#endif
|
|
+
|
|
extern struct sshbuf *loginmsg;
|
|
extern ServerOptions options;
|
|
|
|
@@ -187,6 +191,17 @@
|
|
return (auth_close(as));
|
|
}
|
|
}
|
|
+#elif defined(__TERMUX__)
|
|
+int
|
|
+sys_auth_passwd(struct ssh *ssh, const char *password)
|
|
+{
|
|
+ Authctxt *authctxt = ssh->authctxt;
|
|
+ /* If sshd is starting as root, only allow root login */
|
|
+ if (authctxt->pw->pw_uid == 0 && strcmp(authctxt->user, "root") != 0) {
|
|
+ return 0;
|
|
+ }
|
|
+ return termux_auth(authctxt->user, password);
|
|
+}
|
|
#elif !defined(CUSTOM_SYS_AUTH_PASSWD)
|
|
int
|
|
sys_auth_passwd(struct ssh *ssh, const char *password)
|