diff options
author | Omar Polo <op@omarpolo.com> | 2023-06-11 09:26:16 +0000 |
---|---|---|
committer | Omar Polo <op@omarpolo.com> | 2023-06-11 09:26:16 +0000 |
commit | 725457a9e46a773f0fd5e18c9cf0f00b2347dcaf (patch) | |
tree | ecb888f25375c0a969be4ef873a25ec9d1f051bb | |
parent | 4ad573d0d5675212b0b5719a0a5c1de22974dd0e (diff) |
move setproctitle/privsep_process earlier
We don't always do privilege dropping (as we may start as unprivileged
user), so set these two beforehand so when we skip privdrop we don't
miss to set privsep_process and set the process' title.
-rw-r--r-- | proc.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -548,6 +548,9 @@ proc_run(struct privsep *ps, struct privsep_proc *p, const char *root; log_procinit(p->p_title); + setproctitle("%s", p->p_title); + + privsep_process = p->p_id; if (ps->ps_pw == NULL) goto init; @@ -572,10 +575,6 @@ proc_run(struct privsep *ps, struct privsep_proc *p, if (chdir("/") == -1) fatal("%s: chdir(\"/\")", __func__); - privsep_process = p->p_id; - - setproctitle("%s", p->p_title); - if (setgroups(1, &pw->pw_gid) || setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) || setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid)) |