diff options
author | Yawning Angel <yawning@schwanenlied.me> | 2014-06-01 04:51:33 +0000 |
---|---|---|
committer | Yawning Angel <yawning@schwanenlied.me> | 2014-06-01 04:51:33 +0000 |
commit | 2001f0b698183b998dbf8e52f5d40a0d82aeef09 (patch) | |
tree | 990038e55d5228961eeee1d8e6ff2684ce70e42a /handshake_ntor.go | |
parent | 697b51b4bd2d13781004675aa098039e26ba2395 (diff) |
Generate client keypairs before connecting, instead of after.
Part of issue #9.
Diffstat (limited to 'handshake_ntor.go')
-rw-r--r-- | handshake_ntor.go | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/handshake_ntor.go b/handshake_ntor.go index fc107c2..92f00dc 100644 --- a/handshake_ntor.go +++ b/handshake_ntor.go @@ -121,14 +121,9 @@ type clientHandshake struct { serverMark []byte } -func newClientHandshake(nodeID *ntor.NodeID, serverIdentity *ntor.PublicKey) (*clientHandshake, error) { - var err error - +func newClientHandshake(nodeID *ntor.NodeID, serverIdentity *ntor.PublicKey, sessionKey *ntor.Keypair) (*clientHandshake, error) { hs := new(clientHandshake) - hs.keypair, err = ntor.NewKeypair(true) - if err != nil { - return nil, err - } + hs.keypair = sessionKey hs.nodeID = nodeID hs.serverIdentity = serverIdentity hs.padLen = csrand.IntRange(clientMinPadLength, clientMaxPadLength) |