aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/exp/ssh
diff options
context:
space:
mode:
authorDave Cheney <dave@cheney.net>2011-11-13 12:13:46 -0500
committerAdam Langley <agl@golang.org>2011-11-13 12:13:46 -0500
commit90ec203318a167505ae1038bdcdc7d2ce664a1eb (patch)
treede066e642bbc07589ae63c600e5b7702189f5e3a /src/pkg/exp/ssh
parent06ef97e15d8952d46118427d4e93b490d0366fa8 (diff)
downloadgo-90ec203318a167505ae1038bdcdc7d2ce664a1eb.tar.xz
exp/ssh: ensure initial window advertisement is not lost
Some remote servers send a 0 window size in the channel open confirm msg, others send a non zero window size. Make sure this initial advertisement is not lost. R=agl, rsc, cw CC=golang-dev https://golang.org/cl/5372083
Diffstat (limited to 'src/pkg/exp/ssh')
-rw-r--r--src/pkg/exp/ssh/client.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pkg/exp/ssh/client.go b/src/pkg/exp/ssh/client.go
index da45688eee..669182b2c8 100644
--- a/src/pkg/exp/ssh/client.go
+++ b/src/pkg/exp/ssh/client.go
@@ -195,6 +195,7 @@ func (c *ClientConn) openChan(typ string) (*clientChan, error) {
switch msg := (<-ch.msg).(type) {
case *channelOpenConfirmMsg:
ch.peersId = msg.MyId
+ ch.win <- int(msg.MyWindow)
case *channelOpenFailureMsg:
c.chanlist.remove(ch.id)
return nil, errors.New(msg.Message)