summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sshconnect.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 9724473f8..f5ee63e4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,9 @@
16 [auth2-none.c sshd_config sshd_config.5] 16 [auth2-none.c sshd_config sshd_config.5]
17 Support "Banner=none" to disable displaying of the pre-login banner; 17 Support "Banner=none" to disable displaying of the pre-login banner;
18 ok dtucker@ deraadt@ 18 ok dtucker@ deraadt@
19 - djm@cvs.openbsd.org 2007/08/23 03:23:26
20 [sshconnect.c]
21 Execute ProxyCommands with $SHELL rather than /bin/sh unconditionally
19 22
2020070914 2320070914
21 - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path. 24 - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path.
@@ -3213,4 +3216,4 @@
3213 OpenServer 6 and add osr5bigcrypt support so when someone migrates 3216 OpenServer 6 and add osr5bigcrypt support so when someone migrates
3214 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 3217 passwords between UnixWare and OpenServer they will still work. OK dtucker@
3215 3218
3216$Id: ChangeLog,v 1.4746 2007/09/17 01:57:38 djm Exp $ 3219$Id: ChangeLog,v 1.4747 2007/09/17 01:58:04 djm Exp $
diff --git a/sshconnect.c b/sshconnect.c
index a222233d0..7e3c9fff4 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshconnect.c,v 1.200 2006/10/10 10:12:45 markus Exp $ */ 1/* $OpenBSD: sshconnect.c,v 1.201 2007/08/23 03:23:26 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -86,7 +86,10 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
86 char *command_string, *tmp; 86 char *command_string, *tmp;
87 int pin[2], pout[2]; 87 int pin[2], pout[2];
88 pid_t pid; 88 pid_t pid;
89 char strport[NI_MAXSERV]; 89 char *shell, strport[NI_MAXSERV];
90
91 if ((shell = getenv("SHELL")) == NULL)
92 shell = _PATH_BSHELL;
90 93
91 /* Convert the port number into a string. */ 94 /* Convert the port number into a string. */
92 snprintf(strport, sizeof strport, "%hu", port); 95 snprintf(strport, sizeof strport, "%hu", port);
@@ -132,7 +135,7 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
132 135
133 /* Stderr is left as it is so that error messages get 136 /* Stderr is left as it is so that error messages get
134 printed on the user's terminal. */ 137 printed on the user's terminal. */
135 argv[0] = _PATH_BSHELL; 138 argv[0] = shell;
136 argv[1] = "-c"; 139 argv[1] = "-c";
137 argv[2] = command_string; 140 argv[2] = command_string;
138 argv[3] = NULL; 141 argv[3] = NULL;