summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/channels.h
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2008-06-12 15:19:17 +0000
committerdjm <djm@openbsd.org>2008-06-12 15:19:17 +0000
commit4eb6e6e968700cd61f82b159d17d00489d733532 (patch)
tree829bfce67c02ff1d69a3bf9cc147377363cfc646 /usr.bin/ssh/channels.h
parentRemove some crazy #if mess. (diff)
downloadwireguard-openbsd-4eb6e6e968700cd61f82b159d17d00489d733532.tar.xz
wireguard-openbsd-4eb6e6e968700cd61f82b159d17d00489d733532.zip
The multiplexing escape char handler commit last night introduced a
small memory leak per session; plug it.
Diffstat (limited to 'usr.bin/ssh/channels.h')
-rw-r--r--usr.bin/ssh/channels.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.bin/ssh/channels.h b/usr.bin/ssh/channels.h
index 7201bed9446..295774cf3e0 100644
--- a/usr.bin/ssh/channels.h
+++ b/usr.bin/ssh/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.94 2008/06/12 03:40:52 djm Exp $ */
+/* $OpenBSD: channels.h,v 1.95 2008/06/12 15:19:17 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -62,6 +62,7 @@ typedef struct Channel Channel;
typedef void channel_callback_fn(int, void *);
typedef int channel_infilter_fn(struct Channel *, char *, int);
+typedef void channel_filter_cleanup_fn(int, void *);
typedef u_char *channel_outfilter_fn(struct Channel *, u_char **, u_int *);
/* Channel success/failure callbacks */
@@ -131,6 +132,7 @@ struct Channel {
channel_infilter_fn *input_filter;
channel_outfilter_fn *output_filter;
void *filter_ctx;
+ channel_filter_cleanup_fn *filter_cleanup;
/* keep boundaries */
int datagram;
@@ -195,7 +197,7 @@ void channel_request_start(int, char *, int);
void channel_register_cleanup(int, channel_callback_fn *, int);
void channel_register_open_confirm(int, channel_callback_fn *, void *);
void channel_register_filter(int, channel_infilter_fn *,
- channel_outfilter_fn *, void *);
+ channel_outfilter_fn *, channel_filter_cleanup_fn *, void *);
void channel_register_status_confirm(int, channel_confirm_cb *,
channel_confirm_abandon_cb *, void *);
void channel_cancel_cleanup(int);