Displaying 8 results from an estimated 8 matches for "channel_check_window".
2001 Feb 22
3
intermittent stderr
The command "ssh ls -l /doesnotexist" gives various responses:
Running from a 200 MHz PentiumPro with dsa key added to ssh-agent:
Mistakes worst to fast machine:
To a faster 600 MHz dual processor i686 600 MHz machine:
ls: /doesnotexist: No such file or directory -- correct
nothing at all -- wrong
ls: select: Bad file descriptor -- wrong
2020 Oct 14
2
Connection hang, can't stop SSH
Using OpenSSH_8.3p1 I had an open (working) connection to some other
box; after a bit of inactivity, some device in the middle seems to have
forgotten about the TCP connection (NAT) and broke it.
I've got an EscapeChar defined, though; so first I tried to send a BREAK
and, when that didn't help (TCP already gone, packets get lost!), I
tried (just out of curiosity) a Rekey.
Now I can see
2007 Jul 17
1
Deciding when to adjust the window size
What is the algorithm adopted by OpenSSH when it comes to deciding
when to adjust the size of window? I would have thought that one'd
better adjust the window size as soon as it has fallen below the
maximum packet size. What worries me is a potential deadlock, in which
one party does not send anything, because the window is too small for
its next window space-consuming packet, while the other
2003 Dec 16
1
[Bug 773] OpenSSH hangs or silently exits on write failure on stdout/stderr
..., it will notice that the output channel is no
longer open, and simply return. This means it won't update
c->local_window. It also won't call channel_handle_wfd, which would
in any case return directly, which means that c->local_consumed won't
be updated either. This means that channel_check_window won't ever
send a SSH2_MSG_CHANNEL_WINDOW_ADJUST message, and eventually the
server will stop sending and wait for the client to catch up, which
will never happen.
I could reproduce this easily on Linux by doing
ssh localhost dd if=/dev/zero bs=1024 count=256 > /dev/full
to see the hang,...
2007 Oct 18
0
Window computation
...s correctly, a server has to keep track
of the number of window-consuming bytes that it has sent, stopping
sending data when the current window is exhausted. Now how does an
OpenSSH client decide when to send a window adjust packet?
Looking into the OpenSSH code, the decision seems to be made in
channel_check_window(), but it is not clear how and why. The exact
nature of the fields local_window, local_consumed is not explained
anywhere (as far as I can tell) and the correspondence with what the
server is sending is not obvious. Let me give an example to make it
really confusing :-) The first set of traces corr...
2005 Feb 24
7
Question performnace of SSH v1 vs SSH v2
Hello
I have ported OpenSSH 3.8p1 to a LynxOS platform. Recently I heard a
report from the field that v2 is perceived to be significantly slower
than v1. Is this a known issue? Are there any configuration parameters
that can be modified to make v2 faster?
Thanks in advance for your response
Amba
2001 Oct 24
2
disable features
...TFWD */
+#ifdef WITH_TCPFWD
static void
channel_post_connecting(Channel *c, fd_set * readset, fd_set * writeset)
{
@@ -1249,6 +1273,7 @@
packet_send();
}
}
+#endif /* WITH_TCPFWD */
static int
channel_handle_rfd(Channel *c, fd_set * readset, fd_set * writeset)
@@ -1423,6 +1448,7 @@
channel_check_window(c);
}
+#ifdef WITH_PROTO13
static void
channel_post_output_drain_13(Channel *c, fd_set * readset, fd_set * writeset)
{
@@ -1437,67 +1463,118 @@
buffer_consume(&c->output, len);
}
}
+#endif
static void
channel_handler_init_20(void)
{
channel_pre[SSH_CHANNEL_OPEN] = &...
2010 Jan 14
1
ssh(1) multiplexing rewrite
...EN) {
- debug2("channel %d: not open", c->self);
- chan_mark_dead(c);
- return -1;
- } else {
- chan_read_failed(c);
- chan_write_failed(c);
- }
- return -1;
- } else
- fatal("%s: unexpected data on ctl fd", __func__);
- }
- return 1;
-}
-
-static int
channel_check_window(Channel *c)
{
if (c->type == SSH_CHANNEL_OPEN &&
@@ -1785,10 +1779,130 @@ channel_post_open(Channel *c, fd_set *re
if (!compat20)
return;
channel_handle_efd(c, readset, writeset);
- channel_handle_ctl(c, readset, writeset);
channel_check_window(c);
}
+static u_int
+read_mu...