fix: accept interop peer records in identify and rendezvous#6384
fix: accept interop peer records in identify and rendezvous#6384Azzurra88 wants to merge 1 commit intolibp2p:masterfrom
Conversation
There was a problem hiding this comment.
Hi, and thanks for this, but why would someone want to use both payload types?
#6204 did not introduce any migration, it just offered a function compatible with go and js libp2p payload types, but one can keep using the previous one if only interacting with rust-libp2p.
Can you share your usecase?
|
@jxs Thanks, that's fair — "migration" was the wrong word. The use case I had in mind is mixed-implementation deployments, where a Rust node may receive signed peer records produced by Go/JS peers using the interop payload type via identify or rendezvous. In that case the record is valid, but these decode paths currently reject it. The goal here is only to make those consumer paths accept both formats, without changing the default Rust encoder. |
Description
Accept both legacy and standard interop peer record envelopes in the identify and rendezvous decode paths.
This keeps signed peer records usable during the migration introduced by
PeerRecord::*_interopwithout changing the default envelope encoder. It also adds focused tests for the core helper and both protocol consumers.Notes & open questions
This only relaxes decoding on the consumer side. Changelog entries for
libp2p-core,libp2p-identify, andlibp2p-rendezvousmay still be needed before opening a PR.Change checklist