-/* $OpenBSD: clientloop.c,v 1.160 2006/03/25 13:17:01 djm Exp $ */
+/* $OpenBSD: clientloop.c,v 1.165 2006/07/02 23:01:55 stevesk Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
static int in_non_blocking_mode = 0;
/* Common data for the client loop code. */
-static int quit_pending; /* Set to non-zero to quit the client loop. */
+static volatile sig_atomic_t quit_pending; /* Set non-zero to quit the loop. */
static int escape_char; /* Escape character. */
static int escape_pending; /* Last character was the escape character */
static int last_was_cr; /* Last character was a newline. */
}
static void
-client_process_net_input(fd_set * readset)
+client_process_net_input(fd_set *readset)
{
int len;
char buf[8192];
}
static void
-client_process_control(fd_set * readset)
+client_process_control(fd_set *readset)
{
Buffer m;
Channel *c;
debug2("%s: accepted tty %d, subsys %d, cmd %s", __func__,
cctx->want_tty, cctx->want_subsys, cmd);
+ xfree(cmd);
/* Gather fds from client */
new_fd[0] = mm_receive_fd(client_fd);
if (*s == 'h' || *s == 'H' || *s == '?') {
logit("Commands:");
- logit(" -Lport:host:hostport Request local forward");
- logit(" -Rport:host:hostport Request remote forward");
- logit(" -KRhostport Cancel remote forward");
+ logit(" -L[bind_address:]port:host:hostport "
+ "Request local forward");
+ logit(" -R[bind_address:]port:host:hostport "
+ "Request remote forward");
+ logit(" -KR[bind_address:]port "
+ "Cancel remote forward");
if (!options.permit_local_command)
goto out;
- logit(" !args Execute local command");
+ logit(" !args "
+ "Execute local command");
goto out;
}
}
static void
-client_process_input(fd_set * readset)
+client_process_input(fd_set *readset)
{
int len;
char buf[8192];
}
static void
-client_process_output(fd_set * writeset)
+client_process_output(fd_set *writeset)
{
int len;
char buf[100];