summaryrefslogtreecommitdiff
path: root/handshake_ntor.go
diff options
context:
space:
mode:
authorYawning Angel <yawning@schwanenlied.me>2014-06-01 04:51:33 +0000
committerYawning Angel <yawning@schwanenlied.me>2014-06-01 04:51:33 +0000
commit2001f0b698183b998dbf8e52f5d40a0d82aeef09 (patch)
tree990038e55d5228961eeee1d8e6ff2684ce70e42a /handshake_ntor.go
parent697b51b4bd2d13781004675aa098039e26ba2395 (diff)
Generate client keypairs before connecting, instead of after.
Part of issue #9.
Diffstat (limited to 'handshake_ntor.go')
-rw-r--r--handshake_ntor.go9
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)