0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-03-04 09:28:54 +00:00
termux-packages/packages/openssh/auth-passwd.c.patch

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)