Commit dee0655c authored by acud's avatar acud Committed by GitHub

fix: check network id before backend call (#2170)

parent 744c46ca
......@@ -166,6 +166,10 @@ func (s *Service) Handshake(ctx context.Context, stream p2p.Stream, peerMultiadd
overlay := swarm.NewAddress(resp.Ack.Address.Overlay)
if resp.Ack.NetworkID != s.networkID {
return nil, ErrNetworkIDIncompatible
}
blockHash, err := s.senderMatcher.Matches(ctx, resp.Ack.Transaction, s.networkID, overlay)
if err != nil {
return nil, fmt.Errorf("overlay %v verification failed: %w", overlay, err)
......@@ -278,6 +282,10 @@ func (s *Service) Handle(ctx context.Context, stream p2p.Stream, remoteMultiaddr
return nil, fmt.Errorf("read ack message: %w", err)
}
if ack.NetworkID != s.networkID {
return nil, ErrNetworkIDIncompatible
}
overlay := swarm.NewAddress(ack.Address.Overlay)
blockHash, err := s.senderMatcher.Matches(ctx, ack.Transaction, s.networkID, overlay)
......@@ -327,10 +335,6 @@ func buildFullMA(addr ma.Multiaddr, peerID libp2ppeer.ID) (ma.Multiaddr, error)
}
func (s *Service) parseCheckAck(ack *pb.Ack, blockHash []byte) (*bzz.Address, error) {
if ack.NetworkID != s.networkID {
return nil, ErrNetworkIDIncompatible
}
bzzAddress, err := bzz.ParseAddress(ack.Address.Underlay, ack.Address.Overlay, ack.Address.Signature, ack.Transaction, blockHash, s.networkID)
if err != nil {
return nil, ErrInvalidAck
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment