mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 13:33:09 +07:00
Support for starting finit-getty with a given user
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
@@ -38,6 +38,8 @@
|
||||
|
||||
#define NUM_ARGS 16
|
||||
|
||||
int getty(char *tty, char *baud, char *term, char *user);
|
||||
|
||||
|
||||
/* Wait for process completion, returns status of waitpid(2) syscall */
|
||||
int complete(char *cmd, int pid)
|
||||
@@ -213,8 +215,6 @@ int run_interactive(char *cmd, char *fmt, ...)
|
||||
return status;
|
||||
}
|
||||
|
||||
int getty(char *tty, char *baud, char *term);
|
||||
|
||||
pid_t run_getty(char *tty, char *speed, char *term, int console)
|
||||
{
|
||||
pid_t pid;
|
||||
@@ -233,7 +233,7 @@ pid_t run_getty(char *tty, char *speed, char *term, int console)
|
||||
else
|
||||
prctl(PR_SET_NAME, "finit-getty", 0, 0, 0);
|
||||
|
||||
_exit(getty(tty, speed, term));
|
||||
_exit(getty(tty, speed, term, NULL));
|
||||
}
|
||||
|
||||
return pid;
|
||||
|
||||
@@ -268,7 +268,7 @@ static speed_t do_parse_speed(char *baud)
|
||||
return B0;
|
||||
}
|
||||
|
||||
int getty(char *tty, char *baud, char *UNUSED(term))
|
||||
int getty(char *tty, char *baud, char *UNUSED(term), char *user)
|
||||
{
|
||||
int fd;
|
||||
char name[30];
|
||||
@@ -308,7 +308,11 @@ int getty(char *tty, char *baud, char *UNUSED(term))
|
||||
stty(fd, speed);
|
||||
utmp_set_login(tty, NULL);
|
||||
|
||||
do_getty(tty, name, sizeof(name));
|
||||
if (!user)
|
||||
do_getty(tty, name, sizeof(name));
|
||||
else
|
||||
strlcpy(name, user, sizeof(name));
|
||||
|
||||
return do_login(name);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user