Skip to content

Commit 5cf1f18

Browse files
fix: error on no valid provs (#1065)
* fix: error on no valid provs
1 parent 63c4991 commit 5cf1f18

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

handlers.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,15 +341,16 @@ func (dht *IpfsDHT) handleGetProviders(ctx context.Context, p peer.ID, pmes *pb.
341341
func (dht *IpfsDHT) handleAddProvider(ctx context.Context, p peer.ID, pmes *pb.Message) (_ *pb.Message, _err error) {
342342
key := pmes.GetKey()
343343
if len(key) > 80 {
344-
return nil, fmt.Errorf("handleAddProvider key size too large")
344+
return nil, errors.New("handleAddProvider key size too large")
345345
} else if len(key) == 0 {
346-
return nil, fmt.Errorf("handleAddProvider key is empty")
346+
return nil, errors.New("handleAddProvider key is empty")
347347
}
348348

349349
logger.Debugw("adding provider", "from", p, "key", internal.LoggableProviderRecordBytes(key))
350350

351351
// add provider should use the address given in the message
352352
pinfos := pb.PBPeersToPeerInfos(pmes.GetProviderPeers())
353+
success := false
353354
for _, pi := range pinfos {
354355
if pi.ID != p {
355356
// we should ignore this provider record! not from originator.
@@ -368,6 +369,10 @@ func (dht *IpfsDHT) handleAddProvider(ctx context.Context, p peer.ID, pmes *pb.M
368369
// announcement go through.
369370
addrs := dht.filterAddrs(pi.Addrs)
370371
dht.providerStore.AddProvider(ctx, key, peer.AddrInfo{ID: pi.ID, Addrs: addrs})
372+
success = true
373+
}
374+
if !success {
375+
return nil, errors.New("handleAddProvider no valid provider")
371376
}
372377

373378
return nil, nil

0 commit comments

Comments
 (0)