1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-02-27 13:57:26 +03:00

core/execute: pass the username to utmp/wtmp database

Before previous commit, username would be NULL for root, and set only
for other users. So the argument passed to utmp_put_init_process()
would be "root" for other users and NULL for root. Seems strange.
Instead, always pass the username if available.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-02-03 11:32:42 -05:00
parent 8b89628a10
commit 6a93917df9

View File

@ -2436,11 +2436,12 @@ static int exec_child(
}
if (context->utmp_id)
utmp_put_init_process(context->utmp_id, getpid(), getsid(0), context->tty_path,
utmp_put_init_process(context->utmp_id, getpid(), getsid(0),
context->tty_path,
context->utmp_mode == EXEC_UTMP_INIT ? INIT_PROCESS :
context->utmp_mode == EXEC_UTMP_LOGIN ? LOGIN_PROCESS :
USER_PROCESS,
username ? "root" : context->user);
username);
if (context->user) {
r = chown_terminal(STDIN_FILENO, uid);