fix(api): Filter malformed peer ID before RPC marshaling

This commit is contained in:
Mike Greenberg
2020-08-18 16:29:21 -04:00
parent 2570712a29
commit 8675ca561d
5 changed files with 19 additions and 10 deletions
+3 -3
View File
@@ -137,7 +137,7 @@ func (a *API) ClientStartDeal(ctx context.Context, params *api.StartDealParams)
return nil, xerrors.New("data doesn't fit in a sector")
}
providerInfo := utils.NewStorageProviderInfo(params.Miner, mi.Worker, mi.SectorSize, mi.PeerId, mi.Multiaddrs)
providerInfo := utils.NewStorageProviderInfo(params.Miner, mi.Worker, mi.SectorSize, *mi.PeerId, mi.Multiaddrs)
dealStart := params.DealStartEpoch
if dealStart <= 0 { // unset, or explicitly 'epoch undefined'
@@ -255,7 +255,7 @@ func (a *API) ClientMinerQueryOffer(ctx context.Context, miner address.Address,
}
rp := rm.RetrievalPeer{
Address: miner,
ID: mi.PeerId,
ID: *mi.PeerId,
}
return a.makeRetrievalQuery(ctx, rp, root, piece, rm.QueryParams{}), nil
}
@@ -443,7 +443,7 @@ func (a *API) clientRetrieve(ctx context.Context, order api.RetrievalOrder, ref
}
order.MinerPeer = retrievalmarket.RetrievalPeer{
ID: mi.PeerId,
ID: *mi.PeerId,
Address: order.Miner,
}
}