dial: validate peer id
This commit is contained in:
parent
b1c198df1d
commit
27adabf1b9
@ -20,7 +20,8 @@ const CName = "net.peerservice"
|
||||
var log = logger.NewNamed(CName)
|
||||
|
||||
var (
|
||||
ErrAddrsNotFound = errors.New("addrs for peer not found")
|
||||
ErrAddrsNotFound = errors.New("addrs for peer not found")
|
||||
ErrPeerIdMismatched = errors.New("peerId mismatched")
|
||||
)
|
||||
|
||||
func New() PeerService {
|
||||
@ -79,6 +80,13 @@ func (p *peerService) Dial(ctx context.Context, peerId string) (pr peer.Peer, er
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
connPeerId, err := peer.CtxPeerId(mc.Context())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if connPeerId != peerId {
|
||||
return nil, ErrPeerIdMismatched
|
||||
}
|
||||
return peer.NewPeer(mc, p.server)
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user