summaryrefslogtreecommitdiff
path: root/usr.bin/ssh/channels.h
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2009-11-11 21:37:04 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2009-11-11 21:37:04 +0000
commit6b584759798e88e98b87ef87ba4fc1f7740695d8 (patch)
tree70e7e9bbd049b315f81f266481123c68e916e7b5 /usr.bin/ssh/channels.h
parent6fa2665a924e0d822d8d099b83a602200bf84911 (diff)
fix race condition in x11/agent channel allocation: don't read after
the end of the select read/write fdset and make sure a reused FD is not touched before the pre-handlers are called. with and ok djm@
Diffstat (limited to 'usr.bin/ssh/channels.h')
-rw-r--r--usr.bin/ssh/channels.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.bin/ssh/channels.h b/usr.bin/ssh/channels.h
index 79fbd227e98..0d0726d7bec 100644
--- a/usr.bin/ssh/channels.h
+++ b/usr.bin/ssh/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.99 2009/10/28 16:38:18 reyk Exp $ */
+/* $OpenBSD: channels.h,v 1.100 2009/11/11 21:37:03 markus Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -96,7 +96,11 @@ struct Channel {
int isatty; /* rfd is a tty */
int client_tty; /* (client) TTY has been requested */
int force_drain; /* force close on iEOF */
- int delayed; /* fdset hack */
+ int delayed; /* post-select handlers for newly created
+ * channels are delayed until the first call
+ * to a matching pre-select handler.
+ * this way post-select handlers are not
+ * accidenly called if a FD gets reused */
Buffer input; /* data read from socket, to be sent over
* encrypted connection */
Buffer output; /* data received over encrypted connection for