summaryrefslogtreecommitdiff
path: root/clientloop.h
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-06-13 04:49:33 +1000
committerDarren Tucker <dtucker@zip.com.au>2008-06-13 04:49:33 +1000
commit2fb66caca2c9e69c6a0584060114fcd52e59d5ff (patch)
treede895acfd51886da7e4ca547baea0b45e954c72e /clientloop.h
parent267e28bb75e97755ab3bbe128b75623734f2b3fd (diff)
- djm@cvs.openbsd.org 2008/06/12 03:40:52
[clientloop.h mux.c channels.c clientloop.c channels.h] Enable ~ escapes for multiplex slave sessions; give each channel its own escape state and hook the escape filters up to muxed channels. bz #1331 Mux slaves do not currently support the ~^Z and ~& escapes. NB. this change cranks the mux protocol version, so a new ssh mux client will not be able to connect to a running old ssh mux master. ok dtucker@
Diffstat (limited to 'clientloop.h')
-rw-r--r--clientloop.h22
1 files changed, 6 insertions, 16 deletions
diff --git a/clientloop.h b/clientloop.h
index 6f8e70123..cecbfb1a8 100644
--- a/clientloop.h
+++ b/clientloop.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.h,v 1.19 2008/05/09 14:18:44 djm Exp $ */ 1/* $OpenBSD: clientloop.h,v 1.20 2008/06/12 03:40:52 djm Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -46,8 +46,12 @@ void client_session2_setup(int, int, int, const char *, struct termios *,
46 int, Buffer *, char **); 46 int, Buffer *, char **);
47int client_request_tun_fwd(int, int, int); 47int client_request_tun_fwd(int, int, int);
48 48
49/* Escape filter for protocol 2 sessions */
50void *client_new_escape_filter_ctx(int);
51int client_simple_escape_filter(Channel *, char *, int);
52
49/* Multiplexing protocol version */ 53/* Multiplexing protocol version */
50#define SSHMUX_VER 1 54#define SSHMUX_VER 2
51 55
52/* Multiplexing control protocol flags */ 56/* Multiplexing control protocol flags */
53#define SSHMUX_COMMAND_OPEN 1 /* Open new connection */ 57#define SSHMUX_COMMAND_OPEN 1 /* Open new connection */
@@ -59,20 +63,6 @@ int client_request_tun_fwd(int, int, int);
59#define SSHMUX_FLAG_X11_FWD (1<<2) /* Request X11 forwarding */ 63#define SSHMUX_FLAG_X11_FWD (1<<2) /* Request X11 forwarding */
60#define SSHMUX_FLAG_AGENT_FWD (1<<3) /* Request agent forwarding */ 64#define SSHMUX_FLAG_AGENT_FWD (1<<3) /* Request agent forwarding */
61 65
62/* Multiplexing routines */
63
64struct mux_session_confirm_ctx {
65 int want_tty;
66 int want_subsys;
67 int want_x_fwd;
68 int want_agent_fwd;
69 Buffer cmd;
70 char *term;
71 struct termios tio;
72 char **env;
73};
74
75/* mux.c */
76void muxserver_listen(void); 66void muxserver_listen(void);
77int muxserver_accept_control(void); 67int muxserver_accept_control(void);
78void muxclient(const char *); 68void muxclient(const char *);