summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--session.c11
2 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 01c24e6b3..892c87e24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -55,6 +55,10 @@
55 [ssh.c] 55 [ssh.c]
56 Avoid setting optind to 0 as GNU getopt treats that like we do optreset. 56 Avoid setting optind to 0 as GNU getopt treats that like we do optreset.
57 markus@ OK 57 markus@ OK
58 - markus@cvs.openbsd.org 2002/12/10 08:56:00
59 [session.c]
60 Make sure $SHELL points to the shell from the password file, even if shell
61 is overridden from login.conf; bug#453; semen at online.sinor.ru; ok millert@
58 62
5920021205 6320021205
60 - (djm) PERL-free fixpaths from stuge-openssh-unix-dev@cdy.org 64 - (djm) PERL-free fixpaths from stuge-openssh-unix-dev@cdy.org
@@ -890,4 +894,4 @@
890 save auth method before monitor_reset_key_state(); bugzilla bug #284; 894 save auth method before monitor_reset_key_state(); bugzilla bug #284;
891 ok provos@ 895 ok provos@
892 896
893$Id: ChangeLog,v 1.2530 2002/12/23 02:24:54 mouring Exp $ 897$Id: ChangeLog,v 1.2531 2002/12/23 02:26:08 mouring Exp $
diff --git a/session.c b/session.c
index ac1561756..dfff9c6bf 100644
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
33 */ 33 */
34 34
35#include "includes.h" 35#include "includes.h"
36RCSID("$OpenBSD: session.c,v 1.151 2002/12/04 04:36:47 stevesk Exp $"); 36RCSID("$OpenBSD: session.c,v 1.152 2002/12/10 08:56:00 markus Exp $");
37 37
38#include "ssh.h" 38#include "ssh.h"
39#include "ssh1.h" 39#include "ssh1.h"
@@ -1324,12 +1324,17 @@ do_child(Session *s, const char *command)
1324 * legal, and means /bin/sh. 1324 * legal, and means /bin/sh.
1325 */ 1325 */
1326 shell = (pw->pw_shell[0] == '\0') ? _PATH_BSHELL : pw->pw_shell; 1326 shell = (pw->pw_shell[0] == '\0') ? _PATH_BSHELL : pw->pw_shell;
1327
1328 /*
1329 * Make sure $SHELL points to the shell from the password file,
1330 * even if shell is overridden from login.conf
1331 */
1332 env = do_setup_env(s, shell);
1333
1327#ifdef HAVE_LOGIN_CAP 1334#ifdef HAVE_LOGIN_CAP
1328 shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); 1335 shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell);
1329#endif 1336#endif
1330 1337
1331 env = do_setup_env(s, shell);
1332
1333 /* we have to stash the hostname before we close our socket. */ 1338 /* we have to stash the hostname before we close our socket. */
1334 if (options.use_login) 1339 if (options.use_login)
1335 hostname = get_remote_name_or_ip(utmp_len, 1340 hostname = get_remote_name_or_ip(utmp_len,