Displaying 12 results from an estimated 12 matches for "local_window".
2007 Nov 03
0
Yet another question on window computations
...was way too involved. Let me try again with a
simplified version, in the hope that some nice OpenSSH developer could
please provide an answer.
What is the rationale underpinning the sending of a window adjust
packet, as implemented in channels.c? Until recently, the condition
c->local_window < c->local_window_max/2 &&
c->local_consumed > 0
where, if I understand it correctly, local_window is the current size
of the window, local_window_max is the maximum window size initially
agreed on by client and server, and local_consumed is number of bytes
already...
2010 Jul 22
1
remote vs local window discrepancy
...indow count goes to 0. The client never attempts to read
off the tun device file descriptor again.
After some investigation I determined that for every packet sent the client
is decrementing Channel.remote_window by a value that is 4 bytes larger
than the amount that the server decrements Channel.local_window and
Channel.local_consumed. Prior to the stall the server does send
SSH_MSG_CHANNEL_WINDOW_ADJUST messages. When it does the "byte to add"
value is off by 4x the number of packets consumed by the server.
Eventually over time this drives the client's remote window count to go to
zero...
2004 Jul 14
1
New dynamic window patch (with limits)
...buffer_clear(Buffer *);
void buffer_free(Buffer *);
diff -u openssh-3.8.1p1/channels.c openssh-3.8.1p1-dynwindow/channels.c
--- openssh-3.8.1p1/channels.c 2004-01-20 19:02:09.000000000 -0500
+++ openssh-3.8.1p1-dynwindow/channels.c 2004-07-13 09:46:58.000000000 -0400
@@ -255,6 +255,7 @@
c->local_window_max = window;
c->local_consumed = 0;
c->local_maxpacket = maxpack;
+ c->dynamic_window = 0;
c->remote_id = -1;
c->remote_name = xstrdup(remote_name);
c->remote_window = 0;
@@ -702,6 +703,10 @@
channel_pre_open(Channel *c, fd_set * readset, fd_set * writeset)
{
u_int...
2004 Jul 07
3
DynamicWindow Patch
...,int);
+
void buffer_init(Buffer *);
void buffer_clear(Buffer *);
void buffer_free(Buffer *);
diff -u src/usr.bin/ssh/channels.c ssh/channels.c
--- src/usr.bin/ssh/channels.c 2004-06-13 21:44:38.000000000 -0400
+++ ssh/channels.c 2004-07-07 10:02:24.000000000 -0400
@@ -255,6 +255,7 @@
c->local_window_max = window;
c->local_consumed = 0;
c->local_maxpacket = maxpack;
+ c->dynamic_window = 0;
c->remote_id = -1;
c->remote_name = xstrdup(remote_name);
c->remote_window = 0;
@@ -1520,14 +1521,26 @@
!(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) &&...
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
2007 Oct 18
0
Window computation
...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 corresponds to an OpenSSH
client that has started a file transfer session against a...
2003 Dec 16
1
[Bug 773] OpenSSH hangs or silently exits on write failure on stdout/stderr
...since I was using the 2.0
protocol.]
Now, suppose this happens while data is still being sent from a
command running on the SSH server. When the client gets into
channel_input_data, 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 an...
2004 Jan 15
3
[Bug 790] Connection stall when client output fails and server has a lot more to send
...he solution is to adjust the case in channel_input_data() in channels.c. When
it tests c->ostate != CHAN_OUTPUT_OPEN, instead of just returning we 'fake' the
consumption of the data by moving the packet_get_string() call to above the
conditional and then subtracting data_len from c->local_window and adding
data_len to c->local_consumed, then doing the appropriate xfree(data) and return;
There may be other cases where window updates could stall a connection as well,
but this one has plagued me for ages. It can also occur when the client is
pipeing its output to a pipe which then fails...
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
2001 May 04
19
SSH connection hanging on logout
I am running OpenSSH 2.9p1 on SunOS 5.7 w/4-24-2001 patch cluster.
Like many other users I am seeing the hanging session on logout
with background processes. This is a huge problem for me as
I centrally manage 50+ machines with rdist across ssh.
Instead of just complaining about the problem I thought I would
put my CS degree to use and try to track down the problem myself.
For starters,
2001 Nov 09
4
keystroke timing attack
I'm reading this fine article on O'Reilly:
http://linux.oreillynet.com/lpt/a//linux/2001/11/08/ssh_keystroke.html
<quote>
The paper concludes that the keystroke timing data observable from
today's SSH implementations reveals a dangerously significant amount of
information about user terminal sessions--enough to locate typed
passwords in the session data stream and reduce the
2003 Oct 08
4
OS/390 openssh
...;channel %d: bad ext data", c->self);
return;
}
+ /*if (strcmp(c->ctype, "session") == 0)*/
+ if (c->ctype[0] == 's')
data = packet_get_string(&data_len);
+ else
+ data = packet_get_binary(&data_len);
packet_check_eom();
if (data_len > c->local_window) {
logit("channel %d: rcvd too much extended_data %d, win %d",
diff -bur openssh-3.7.1p2.orig/clientloop.c openssh-3.7.1p2/clientloop.c
--- openssh-3.7.1p2.orig/clientloop.c Thu Jul 3 05:46:56 2003
+++ openssh-3.7.1p2/clientloop.c Tue Oct 7 08:22:00 2003
@@ -562,7 +562,11 @@
qui...