diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2001-05-09 22:51:58 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2001-05-09 22:51:58 +0000 |
commit | d59074545b6d8d1206559b40be00841c24179a5c (patch) | |
tree | fe120815305e801b1d95ac9c331605f2433cc6fe /usr.bin/ssh | |
parent | 79daaa86715420311a7c3f43dcb97608a49ea9ad (diff) |
fix -R for protocol 2, noticed by greg@nest.cx.
bug was introduced with experimental dynamic forwarding.
Diffstat (limited to 'usr.bin/ssh')
-rw-r--r-- | usr.bin/ssh/channels.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c index 3c6bdef9aa8..f7e73dd28f5 100644 --- a/usr.bin/ssh/channels.c +++ b/usr.bin/ssh/channels.c @@ -40,7 +40,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: channels.c,v 1.114 2001/05/08 19:17:30 markus Exp $"); +RCSID("$OpenBSD: channels.c,v 1.115 2001/05/09 22:51:57 markus Exp $"); #include <openssl/rsa.h> #include <openssl/dsa.h> @@ -771,8 +771,9 @@ channel_post_port_listener(Channel *c, fd_set * readset, fd_set * writeset) rtype = (c->type == SSH_CHANNEL_RPORT_LISTENER) ? "forwarded-tcpip" : "direct-tcpip"; - nextstate = (c->host_port == 0) ? SSH_CHANNEL_DYNAMIC : - SSH_CHANNEL_OPENING; + nextstate = (c->host_port == 0 && + c->type != SSH_CHANNEL_RPORT_LISTENER) ? + SSH_CHANNEL_DYNAMIC : SSH_CHANNEL_OPENING; addrlen = sizeof(addr); newsock = accept(c->sock, &addr, &addrlen); |