From: Zbigniew Jędrzejewski-Szmek Date: Fri, 3 Feb 2017 16:32:42 +0000 (-0500) Subject: core/execute: pass the username to utmp/wtmp database X-Git-Tag: v233~164^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F5223%2Fhead;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/core/execute.c b/src/core/execute.c index 67b54a3bece..aa0ddb564ef 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -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);