diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2002-12-23 03:26:08 +0100 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2002-12-23 03:26:08 +0100 |
commit | 46767607e290343fdd43f6f6b4dc170647700698 (patch) | |
tree | a6cc4764ccfa7f695c6ba745ccf07898b26543b2 /session.c | |
parent | - millert@cvs.openbsd.org 2002/12/09 16:50:30 (diff) | |
download | openssh-46767607e290343fdd43f6f6b4dc170647700698.tar.xz openssh-46767607e290343fdd43f6f6b4dc170647700698.zip |
- markus@cvs.openbsd.org 2002/12/10 08:56:00
[session.c]
Make sure $SHELL points to the shell from the password file, even if shell
is overridden from login.conf; bug#453; semen at online.sinor.ru; ok millert@
Diffstat (limited to 'session.c')
-rw-r--r-- | session.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -33,7 +33,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: session.c,v 1.151 2002/12/04 04:36:47 stevesk Exp $"); +RCSID("$OpenBSD: session.c,v 1.152 2002/12/10 08:56:00 markus Exp $"); #include "ssh.h" #include "ssh1.h" @@ -1324,12 +1324,17 @@ do_child(Session *s, const char *command) * legal, and means /bin/sh. */ shell = (pw->pw_shell[0] == '\0') ? _PATH_BSHELL : pw->pw_shell; + + /* + * Make sure $SHELL points to the shell from the password file, + * even if shell is overridden from login.conf + */ + env = do_setup_env(s, shell); + #ifdef HAVE_LOGIN_CAP shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); #endif - env = do_setup_env(s, shell); - /* we have to stash the hostname before we close our socket. */ if (options.use_login) hostname = get_remote_name_or_ip(utmp_len, |