mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-29 22:21:21 +00:00
Merge pull request #848 from tendermint/p2p-catch-conn.SetDeadline-errors
p2p: peer should respect errors from SetDeadline
This commit is contained in:
commit
49faa79bdc
12
p2p/peer.go
12
p2p/peer.go
@ -113,7 +113,9 @@ func newPeerFromConnAndConfig(rawConn net.Conn, outbound bool, reactorsByCh map[
|
|||||||
|
|
||||||
// Encrypt connection
|
// Encrypt connection
|
||||||
if config.AuthEnc {
|
if config.AuthEnc {
|
||||||
conn.SetDeadline(time.Now().Add(config.HandshakeTimeout * time.Second))
|
if err := conn.SetDeadline(time.Now().Add(config.HandshakeTimeout * time.Second)); err != nil {
|
||||||
|
return nil, errors.Wrap(err, "Error setting deadline while encrypting connection")
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
conn, err = MakeSecretConnection(conn, ourNodePrivKey)
|
conn, err = MakeSecretConnection(conn, ourNodePrivKey)
|
||||||
@ -165,7 +167,9 @@ func (p *peer) IsPersistent() bool {
|
|||||||
// NOTE: blocking
|
// NOTE: blocking
|
||||||
func (p *peer) HandshakeTimeout(ourNodeInfo *NodeInfo, timeout time.Duration) error {
|
func (p *peer) HandshakeTimeout(ourNodeInfo *NodeInfo, timeout time.Duration) error {
|
||||||
// Set deadline for handshake so we don't block forever on conn.ReadFull
|
// Set deadline for handshake so we don't block forever on conn.ReadFull
|
||||||
p.conn.SetDeadline(time.Now().Add(timeout))
|
if err := p.conn.SetDeadline(time.Now().Add(timeout)); err != nil {
|
||||||
|
return errors.Wrap(err, "Error setting deadline")
|
||||||
|
}
|
||||||
|
|
||||||
var peerNodeInfo = new(NodeInfo)
|
var peerNodeInfo = new(NodeInfo)
|
||||||
var err1 error
|
var err1 error
|
||||||
@ -196,7 +200,9 @@ func (p *peer) HandshakeTimeout(ourNodeInfo *NodeInfo, timeout time.Duration) er
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove deadline
|
// Remove deadline
|
||||||
p.conn.SetDeadline(time.Time{})
|
if err := p.conn.SetDeadline(time.Time{}); err != nil {
|
||||||
|
return errors.Wrap(err, "Error removing deadline")
|
||||||
|
}
|
||||||
|
|
||||||
peerNodeInfo.RemoteAddr = p.Addr().String()
|
peerNodeInfo.RemoteAddr = p.Addr().String()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user