diff options
author | Elad <theman@elad.im> | 2018-10-19 16:50:25 +0800 |
---|---|---|
committer | Viktor TrĂ³n <viktor.tron@gmail.com> | 2018-10-19 16:50:25 +0800 |
commit | aeb733623e79d9b8f03036ec1a4c0717185b527d (patch) | |
tree | 2c7d19e1f8513498ebb1de525bb48274e1f58dfb /swarm/network/stream/stream.go | |
parent | 97fb08342d227bbd126516083b0ddaf74e6e8468 (diff) | |
download | go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar.gz go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar.bz2 go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar.lz go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar.xz go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.tar.zst go-tangerine-aeb733623e79d9b8f03036ec1a4c0717185b527d.zip |
swarm/network: disallow historical retrieval requests (#17936)
Diffstat (limited to 'swarm/network/stream/stream.go')
-rw-r--r-- | swarm/network/stream/stream.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/swarm/network/stream/stream.go b/swarm/network/stream/stream.go index 1dc2a8cba..9d0e6c68b 100644 --- a/swarm/network/stream/stream.go +++ b/swarm/network/stream/stream.go @@ -18,6 +18,7 @@ package stream import ( "context" + "errors" "fmt" "math" "sync" @@ -96,7 +97,10 @@ func NewRegistry(localID enode.ID, delivery *Delivery, syncChunkStore storage.Sy delivery.getPeer = streamer.getPeer if options.DoServeRetrieve { - streamer.RegisterServerFunc(swarmChunkServerStreamName, func(_ *Peer, _ string, _ bool) (Server, error) { + streamer.RegisterServerFunc(swarmChunkServerStreamName, func(_ *Peer, _ string, live bool) (Server, error) { + if !live { + return nil, errors.New("only live retrieval requests supported") + } return NewSwarmChunkServer(delivery.chunkStore), nil }) } @@ -279,7 +283,6 @@ func (r *Registry) Subscribe(peerId enode.ID, s Stream, h *Range, priority uint8 if err != nil { return err } - if s.Live && h != nil { if err := peer.setClientParams( getHistoryStream(s), |