From 7101f4499873fbf6a68cbe08a45797ff8ec71e74 Mon Sep 17 00:00:00 2001
From: Felix Lange <fjl@twurst.com>
Date: Fri, 13 Feb 2015 14:49:49 +0100
Subject: p2p: add I/O timeout for encrytion handshake

---
 p2p/server.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'p2p')

diff --git a/p2p/server.go b/p2p/server.go
index f61bb897e..b93340150 100644
--- a/p2p/server.go
+++ b/p2p/server.go
@@ -17,6 +17,7 @@ import (
 )
 
 const (
+	handshakeTimeout     = 5 * time.Second
 	defaultDialTimeout   = 10 * time.Second
 	refreshPeersInterval = 30 * time.Second
 )
@@ -344,7 +345,8 @@ func (srv *Server) findPeers() {
 }
 
 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)
 	if err != nil {
 		conn.Close()
-- 
cgit v1.2.3