summaryrefslogtreecommitdiff
path: root/session.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2006-07-10 20:36:47 +1000
committerDamien Miller <djm@mindrot.org>2006-07-10 20:36:47 +1000
commit917f9b6b6eb560e205a787bd8f38d4b9741c9a9f (patch)
tree579833892a9e1251e2750a2779fecbf4714c4445 /session.c
parent8ec8c3e98a07be51e0a136170f02b7ebab0f28ca (diff)
downloadopenssh-git-917f9b6b6eb560e205a787bd8f38d4b9741c9a9f.tar.gz
- djm@cvs.openbsd.org 2006/07/06 10:47:05
[servconf.c servconf.h session.c sshd_config.5] support arguments to Subsystem commands; ok markus@
Diffstat (limited to 'session.c')
-rw-r--r--session.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/session.c b/session.c
index cb0e8267..899c3a16 100644
--- a/session.c
+++ b/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.204 2006/07/02 22:45:59 stevesk Exp $ */
+/* $OpenBSD: session.c,v 1.205 2006/07/06 10:47:05 djm Exp $ */
/*
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
* All rights reserved
@@ -1841,7 +1841,7 @@ session_subsystem_req(Session *s)
struct stat st;
u_int len;
int success = 0;
- char *cmd, *subsys = packet_get_string(&len);
+ char *prog, *cmd, *subsys = packet_get_string(&len);
u_int i;
packet_check_eom();
@@ -1849,9 +1849,10 @@ session_subsystem_req(Session *s)
for (i = 0; i < options.num_subsystems; i++) {
if (strcmp(subsys, options.subsystem_name[i]) == 0) {
- cmd = options.subsystem_command[i];
- if (stat(cmd, &st) < 0) {
- error("subsystem: cannot stat %s: %s", cmd,
+ prog = options.subsystem_command[i];
+ cmd = options.subsystem_args[i];
+ if (stat(prog, &st) < 0) {
+ error("subsystem: cannot stat %s: %s", prog,
strerror(errno));
break;
}