search for: local_window

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...