LEFT | RIGHT |
1 // Copyright 2011 The Go Authors. All rights reserved. | 1 // Copyright 2011 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 package ssh | 5 package ssh |
6 | 6 |
7 import ( | 7 import ( |
8 "bytes" | 8 "bytes" |
9 "crypto/rand" | 9 "crypto/rand" |
10 "encoding/binary" | 10 "encoding/binary" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 if err != nil { | 143 if err != nil { |
144 return nil, err | 144 return nil, err |
145 } | 145 } |
146 | 146 |
147 return serializeSignature(k.PublicKey().PrivateKeyAlgo(), sig), nil | 147 return serializeSignature(k.PublicKey().PrivateKeyAlgo(), sig), nil |
148 } | 148 } |
149 | 149 |
150 // Handshake performs an SSH transport and client authentication on the given Se
rverConn. | 150 // Handshake performs an SSH transport and client authentication on the given Se
rverConn. |
151 func (s *ServerConn) Handshake() error { | 151 func (s *ServerConn) Handshake() error { |
152 var err error | 152 var err error |
153 » s.serverVersion, s.ClientVersion, err = exchangeVersions(s.transport.Con
n, "" /* default version */) | 153 » s.serverVersion = []byte(packageVersion) |
| 154 » s.ClientVersion, err = exchangeVersions(s.transport.Conn, s.serverVersio
n) |
154 if err != nil { | 155 if err != nil { |
155 return err | 156 return err |
156 } | 157 } |
157 if err := s.clientInitHandshake(nil, nil); err != nil { | 158 if err := s.clientInitHandshake(nil, nil); err != nil { |
158 return err | 159 return err |
159 } | 160 } |
160 | 161 |
161 var packet []byte | 162 var packet []byte |
162 if packet, err = s.readPacket(); err != nil { | 163 if packet, err = s.readPacket(); err != nil { |
163 return err | 164 return err |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 func Listen(network, addr string, config *ServerConfig) (*Listener, error) { | 674 func Listen(network, addr string, config *ServerConfig) (*Listener, error) { |
674 l, err := net.Listen(network, addr) | 675 l, err := net.Listen(network, addr) |
675 if err != nil { | 676 if err != nil { |
676 return nil, err | 677 return nil, err |
677 } | 678 } |
678 return &Listener{ | 679 return &Listener{ |
679 l, | 680 l, |
680 config, | 681 config, |
681 }, nil | 682 }, nil |
682 } | 683 } |
LEFT | RIGHT |