aboutsummaryrefslogtreecommitdiffstats
path: root/p2p
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-06-10 03:12:25 +0800
committerobscuren <geffobscura@gmail.com>2015-06-10 03:12:25 +0800
commitbac9a94ddf20dc530966cbf6cd384aaf94aedc77 (patch)
tree0ced967e60315698cc5056a984d7678c417bc1ce /p2p
parent0e703d92ac9df61e2ededa8c895c70ded101a607 (diff)
parent14994fa21bf6f05554ff370d41005d06b68d20a5 (diff)
downloadgo-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.gz
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.bz2
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.lz
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.xz
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.zst
go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.zip
Merge branch 'release/0.9.28'v0.9.28
Diffstat (limited to 'p2p')
-rw-r--r--p2p/nat/natupnp.go3
-rw-r--r--p2p/rlpx.go1
-rw-r--r--p2p/server.go2
3 files changed, 5 insertions, 1 deletions
diff --git a/p2p/nat/natupnp.go b/p2p/nat/natupnp.go
index ef7765e8d..21a9cf8b1 100644
--- a/p2p/nat/natupnp.go
+++ b/p2p/nat/natupnp.go
@@ -12,6 +12,8 @@ import (
"github.com/huin/goupnp/dcps/internetgateway2"
)
+const soapRequestTimeout = 3 * time.Second
+
type upnp struct {
dev *goupnp.RootDevice
service string
@@ -131,6 +133,7 @@ func discover(out chan<- *upnp, target string, matcher func(*goupnp.RootDevice,
}
// check for a matching IGD service
sc := goupnp.ServiceClient{service.NewSOAPClient(), devs[i].Root, service}
+ sc.SOAPClient.HTTPClient.Timeout = soapRequestTimeout
upnp := matcher(devs[i].Root, sc)
if upnp == nil {
return
diff --git a/p2p/rlpx.go b/p2p/rlpx.go
index e1cb13aae..6bbf20671 100644
--- a/p2p/rlpx.go
+++ b/p2p/rlpx.go
@@ -102,6 +102,7 @@ func (t *rlpx) doProtoHandshake(our *protoHandshake) (their *protoHandshake, err
werr := make(chan error, 1)
go func() { werr <- Send(t.rw, handshakeMsg, our) }()
if their, err = readProtocolHandshake(t.rw, our); err != nil {
+ <-werr // make sure the write terminates too
return nil, err
}
if err := <-werr; err != nil {
diff --git a/p2p/server.go b/p2p/server.go
index 589041810..59b97a0aa 100644
--- a/p2p/server.go
+++ b/p2p/server.go
@@ -30,7 +30,7 @@ const (
frameReadTimeout = 30 * time.Second
// Maximum amount of time allowed for writing a complete message.
- frameWriteTimeout = 5 * time.Second
+ frameWriteTimeout = 20 * time.Second
)
var errServerStopped = errors.New("server stopped")