- djm@cvs.openbsd.org 2008/08/21 04:09:57
[session.c] allow ForceCommand internal-sftp with arguments. based on patch from michael.barabanov AT gmail.com; ok markus@
This commit is contained in:
parent
fa51b1626c
commit
ad793d59a9
|
@ -18,6 +18,10 @@
|
|||
- krw@cvs.openbsd.org 2008/08/02 04:29:51
|
||||
[ssh_config.5]
|
||||
whitepsace -> whitespace. From Matthew Clarke via bugs@.
|
||||
- djm@cvs.openbsd.org 2008/08/21 04:09:57
|
||||
[session.c]
|
||||
allow ForceCommand internal-sftp with arguments. based on patch from
|
||||
michael.barabanov AT gmail.com; ok markus@
|
||||
|
||||
20080906
|
||||
- (dtucker) [config.guess config.sub] Update to latest versions from
|
||||
|
@ -4752,4 +4756,4 @@
|
|||
OpenServer 6 and add osr5bigcrypt support so when someone migrates
|
||||
passwords between UnixWare and OpenServer they will still work. OK dtucker@
|
||||
|
||||
$Id: ChangeLog,v 1.5103 2008/11/03 08:17:33 djm Exp $
|
||||
$Id: ChangeLog,v 1.5104 2008/11/03 08:17:57 djm Exp $
|
||||
|
|
12
session.c
12
session.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: session.c,v 1.241 2008/06/16 13:22:53 dtucker Exp $ */
|
||||
/* $OpenBSD: session.c,v 1.242 2008/08/21 04:09:57 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
* All rights reserved
|
||||
|
@ -95,6 +95,12 @@
|
|||
#include <kafs.h>
|
||||
#endif
|
||||
|
||||
#define IS_INTERNAL_SFTP(c) \
|
||||
(!strncmp(c, INTERNAL_SFTP_NAME, sizeof(INTERNAL_SFTP_NAME) - 1) && \
|
||||
(c[sizeof(INTERNAL_SFTP_NAME) - 1] == '\0' || \
|
||||
c[sizeof(INTERNAL_SFTP_NAME) - 1] == ' ' || \
|
||||
c[sizeof(INTERNAL_SFTP_NAME) - 1] == '\t'))
|
||||
|
||||
/* func */
|
||||
|
||||
Session *session_new(void);
|
||||
|
@ -781,7 +787,7 @@ do_exec(Session *s, const char *command)
|
|||
if (options.adm_forced_command) {
|
||||
original_command = command;
|
||||
command = options.adm_forced_command;
|
||||
if (strcmp(INTERNAL_SFTP_NAME, command) == 0)
|
||||
if (IS_INTERNAL_SFTP(command))
|
||||
s->is_subsystem = SUBSYSTEM_INT_SFTP;
|
||||
else if (s->is_subsystem)
|
||||
s->is_subsystem = SUBSYSTEM_EXT;
|
||||
|
@ -789,7 +795,7 @@ do_exec(Session *s, const char *command)
|
|||
} else if (forced_command) {
|
||||
original_command = command;
|
||||
command = forced_command;
|
||||
if (strcmp(INTERNAL_SFTP_NAME, command) == 0)
|
||||
if (IS_INTERNAL_SFTP(command))
|
||||
s->is_subsystem = SUBSYSTEM_INT_SFTP;
|
||||
else if (s->is_subsystem)
|
||||
s->is_subsystem = SUBSYSTEM_EXT;
|
||||
|
|
Loading…
Reference in New Issue