diff options
author | zelig <viktor.tron@gmail.com> | 2015-01-22 00:53:13 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-02-06 07:00:35 +0800 |
commit | 54252ede3177cb169fbb9e4824a31ce58cb0316c (patch) | |
tree | 06e456ef17291ec9f167b51d9fa4f2a840700fdb | |
parent | faa069a126da29a246193713568634e5be6edd2d (diff) | |
download | go-tangerine-54252ede3177cb169fbb9e4824a31ce58cb0316c.tar.gz go-tangerine-54252ede3177cb169fbb9e4824a31ce58cb0316c.tar.zst go-tangerine-54252ede3177cb169fbb9e4824a31ce58cb0316c.zip |
add temporary forced session token generation
-rw-r--r-- | p2p/crypto.go | 3 | ||||
-rw-r--r-- | p2p/peer.go | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/p2p/crypto.go b/p2p/crypto.go index e8f4d551b..f5307cd5a 100644 --- a/p2p/crypto.go +++ b/p2p/crypto.go @@ -103,6 +103,9 @@ func (self *cryptoId) Run(conn io.ReadWriter, remotePubKeyS []byte, sessionToken if auth, initNonce, randomPrivKey, _, err = self.startHandshake(remotePubKeyS, sessionToken); err != nil { return } + if sessionToken != nil { + clogger.Debugf("session-token: %v", hexkey(sessionToken)) + } clogger.Debugf("initiator-nonce: %v", hexkey(initNonce)) clogger.Debugf("initiator-random-private-key: %v", hexkey(crypto.FromECDSA(randomPrivKey))) randomPublicKeyS, _ := ExportPublicKey(&randomPrivKey.PublicKey) diff --git a/p2p/peer.go b/p2p/peer.go index 818f80580..99f1a61d3 100644 --- a/p2p/peer.go +++ b/p2p/peer.go @@ -3,6 +3,7 @@ package p2p import ( "bufio" "bytes" + "crypto/rand" "fmt" "io" "io/ioutil" @@ -342,6 +343,10 @@ func (p *Peer) handleCryptoHandshake() (loop readLoop, err error) { // it is survived by an encrypted readwriter var initiator bool var sessionToken []byte + sessionToken = make([]byte, keyLen) + if _, err = rand.Read(sessionToken); err != nil { + return + } if p.dialAddr != nil { // this should have its own method Outgoing() bool initiator = true } |