p2p: add I/O timeout for encrytion handshake

This commit is contained in:
Felix Lange 2015-02-13 14:49:49 +01:00
parent 22ee366ed6
commit 7101f44998
1 changed files with 3 additions and 1 deletions

View File

@ -17,6 +17,7 @@ import (
) )
const ( const (
handshakeTimeout = 5 * time.Second
defaultDialTimeout = 10 * time.Second defaultDialTimeout = 10 * time.Second
refreshPeersInterval = 30 * time.Second refreshPeersInterval = 30 * time.Second
) )
@ -344,7 +345,8 @@ func (srv *Server) findPeers() {
} }
func (srv *Server) startPeer(conn net.Conn, dest *discover.Node) { func (srv *Server) startPeer(conn net.Conn, dest *discover.Node) {
// TODO: I/O timeout, handle/store session token // TODO: handle/store session token
conn.SetDeadline(time.Now().Add(handshakeTimeout))
remoteID, _, err := srv.handshakeFunc(conn, srv.PrivateKey, dest) remoteID, _, err := srv.handshakeFunc(conn, srv.PrivateKey, dest)
if err != nil { if err != nil {
conn.Close() conn.Close()