Create session before setting logname - we don't want to change the
parents logname (or any other children pre-empted in that window).
This commit is contained in:
parent
1cacc8d1a4
commit
c17244d768
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: do_command.c,v 1.11 2002/08/03 02:03:00 itojun Exp $ */
|
||||
/* $NetBSD: do_command.c,v 1.12 2003/02/19 09:21:15 dsl Exp $ */
|
||||
|
||||
/* Copyright 1988,1990,1993,1994 by Paul Vixie
|
||||
* All rights reserved
|
||||
@ -22,7 +22,7 @@
|
||||
#if 0
|
||||
static char rcsid[] = "Id: do_command.c,v 2.12 1994/01/15 20:43:43 vixie Exp ";
|
||||
#else
|
||||
__RCSID("$NetBSD: do_command.c,v 1.11 2002/08/03 02:03:00 itojun Exp $");
|
||||
__RCSID("$NetBSD: do_command.c,v 1.12 2003/02/19 09:21:15 dsl Exp $");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -198,13 +198,13 @@ child_process(e, u)
|
||||
#ifdef SYSLOG
|
||||
closelog();
|
||||
#endif
|
||||
if (setlogin(usernm) < 0)
|
||||
syslog(LOG_ERR, "setlogin() failure: %m");
|
||||
|
||||
/* get new pgrp, void tty, etc.
|
||||
*/
|
||||
(void) setsid();
|
||||
|
||||
if (setlogin(usernm) < 0)
|
||||
syslog(LOG_ERR, "setlogin() failure: %m");
|
||||
|
||||
/* close the pipe ends that we won't use. this doesn't affect
|
||||
* the parent, who has to read and write them; it keeps the
|
||||
* kernel from recording us as a potential client TWICE --
|
||||
|
Loading…
Reference in New Issue
Block a user