mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-09 21:08:01 +00:00
Authentication of PeerIds in authority discovery records (#10317)
* Consolidating test and production code * Signing/verifying authority discovery records with PeerId Unsigned records cannot be rejected yet, they just produce a warning in the log. * Upgrading to libp2p 0.40 * libp2p::identity and sp_core::crypto Ed25519 are compatible * Rejecting authority records unsigned by peer id can be configured * Fixes based on review comments * No command-line argument needed * info was still too much spam in the logs * Added tests for both strict and loose validation * Fixing based on review comments * Pierre preferred a signing method * Ooops, I need to slow down * Update bin/node/cli/src/service.rs * Reexport libp2p crypto used in sc-network * Added proto3 compatibility tests. And import noise. Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
@@ -46,10 +46,18 @@ pub enum Error {
|
||||
EncodingDecodingScale(codec::Error),
|
||||
/// Failed to parse a libp2p multi address.
|
||||
ParsingMultiaddress(libp2p::core::multiaddr::Error),
|
||||
/// Failed to parse a libp2p key.
|
||||
ParsingLibp2pIdentity(sc_network::DecodingError),
|
||||
/// Failed to sign using a specific public key.
|
||||
MissingSignature(CryptoTypePublicPair),
|
||||
/// Failed to sign using all public keys.
|
||||
Signing,
|
||||
/// Failed to register Prometheus metric.
|
||||
Prometheus(prometheus_endpoint::PrometheusError),
|
||||
/// Received authority record that contains addresses with multiple peer ids
|
||||
ReceivingDhtValueFoundEventWithDifferentPeerIds,
|
||||
/// Received authority record without any addresses having a peer id
|
||||
ReceivingDhtValueFoundEventWithNoPeerIds,
|
||||
/// Received authority record without a valid signature for the remote peer id.
|
||||
MissingPeerIdSignature,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user