mirror of
https://github.com/status-im/status-go.git
synced 2025-02-01 17:38:36 +00:00
Handle rateLimitingCode packet (#1852)
This commit is contained in:
parent
9c2c08d44c
commit
46b05c7478
17
waku/waku.go
17
waku/waku.go
@ -955,7 +955,8 @@ func (w *Waku) runMessageLoop(p *Peer, rw p2p.MsgReadWriter) error {
|
||||
}
|
||||
case batchAcknowledgedCode:
|
||||
if err := w.handleBatchAcknowledgeCode(p, packet, logger); err != nil {
|
||||
|
||||
logger.Warn("failed to handle batchAcknowledgedCode message, peer will be disconnected", zap.Binary("peer", peerID[:]), zap.Error(err))
|
||||
return err
|
||||
}
|
||||
case powRequirementCode:
|
||||
if err := w.handlePowRequirementCode(p, packet, logger); err != nil {
|
||||
@ -967,6 +968,10 @@ func (w *Waku) runMessageLoop(p *Peer, rw p2p.MsgReadWriter) error {
|
||||
logger.Warn("failed to decode bloom filter exchange message, peer will be disconnected", zap.Binary("peer", peerID[:]), zap.Error(err))
|
||||
return err
|
||||
}
|
||||
case rateLimitingCode:
|
||||
if err := w.handleRateLimitingCode(p, packet, logger); err != nil {
|
||||
logger.Warn("failed to decode rate limits, peer will be disconnected", zap.Binary("peer", peerID[:]), zap.Error(err))
|
||||
}
|
||||
case p2pMessageCode:
|
||||
if err := w.handleP2PMessageCode(p, packet, logger); err != nil {
|
||||
logger.Warn("failed to decode direct message, peer will be disconnected", zap.Binary("peer", peerID[:]), zap.Error(err))
|
||||
@ -1073,6 +1078,16 @@ func (w *Waku) handleBloomFilterExCode(p *Peer, packet p2p.Msg, logger *zap.Logg
|
||||
return nil
|
||||
}
|
||||
|
||||
func (w *Waku) handleRateLimitingCode(p *Peer, packet p2p.Msg, logger *zap.Logger) error {
|
||||
var rateLimits RateLimits
|
||||
if err := packet.Decode(&rateLimits); err != nil {
|
||||
logger.Warn("invalid rate limits information", zap.Binary("peerID", p.peer.ID().Bytes()), zap.Error(err))
|
||||
return errors.New("invalid rate limits exchange message")
|
||||
}
|
||||
p.setRateLimits(rateLimits)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (w *Waku) handleP2PMessageCode(p *Peer, packet p2p.Msg, logger *zap.Logger) error {
|
||||
// peer-to-peer message, sent directly to peer bypassing PoW checks, etc.
|
||||
// this message is not supposed to be forwarded to other peers, and
|
||||
|
Loading…
x
Reference in New Issue
Block a user