Skip to content

Commit 0eeddac

Browse files
authored
Update the stable-futures branch to master (#1288)
* Configurable multistream-select protocol. Add V1Lazy variant. (#1245) Make the multistream-select protocol (version) configurable on transport upgrades as well as for individual substreams. Add a "lazy" variant of multistream-select 1.0 that delays sending of negotiation protocol frames as much as possible but is only safe to use under additional assumptions that go beyond what is required by the multistream-select v1 specification. * Improve the code readability of the chat example (#1253) * Add bridged chats (#1252) * Try fix CI (#1261) * Print Rust version on CI * Don't print where not appropriate * Change caching strategy * Remove win32 build * Remove win32 from list * Update libsecp256k1 dep to 0.3.0 (#1258) * Update libsecp256k1 dep to 0.3.0 * Sign now cannot fail * Upgrade url and percent-encoding deps to 2.1.0 (#1267) * Upgrade percent-encoding dep to 2.1.0 * Upgrade url dep to 2.1.0 * Revert CIPHERS set to null (#1273) * Update dependency versions (#1265) * Update versions of many dependencies * Bump version of rand * Updates for changed APIs in rand, ring, and webpki * Replace references to `snow::Session` `Session` no longer exists in `snow` but the replacement is two structs `HandshakeState` and `TransportState` Something will have to be done to harmonize `NoiseOutput.session` * Add precise type for UnparsedPublicKey * Update data structures/functions to match new snow's API * Delete diff.diff Remove accidentally committed diff file * Remove commented lines in identity/rsa.rs * Bump libsecp256k1 to 0.3.1 * Implement /plaintext/2.0.0 (#1236) * WIP * plaintext/2.0.0 * Refactor protobuf related issues to compatible with the spec * Rename: new PlainTextConfig -> PlainText2Config * Keep plaintext/1.0.0 as PlainText1Config * Config contains pubkey * Rename: proposition -> exchange * Add PeerId to Exchange * Check the validity of the remote's `Exchange` * Tweak * Delete unused import * Add debug log * Delete unused field: public_key_encoded * Delete unused field: local * Delete unused field: exchange_bytes * The inner instance should not be public * identity::Publickey::Rsa is not available on wasm * Delete PeerId from Config as it should be generated from the pubkey * Catch up for #1240 * Tweak * Update protocols/plaintext/src/error.rs Co-Authored-By: Pierre Krieger <[email protected]> * Update protocols/plaintext/src/handshake.rs Co-Authored-By: Pierre Krieger <[email protected]> * Update protocols/plaintext/src/error.rs Co-Authored-By: Pierre Krieger <[email protected]> * Update protocols/plaintext/src/error.rs Co-Authored-By: Roman Borschel <[email protected]> * Update protocols/plaintext/src/error.rs Co-Authored-By: Roman Borschel <[email protected]> * Rename: pubkey -> local_public_key * Delete unused error * Rename: PeerIdValidationFailed -> InvalidPeerId * Fix: HandShake -> Handshake * Use bytes insteadof Publickey to avoid code duplication * Replace with ProtobufError * Merge HandshakeContext<()> into HandshakeContext<Local> * Improve the peer ID validation to simplify the handshake * Propagate Remote to allow extracting the PeerId from the Remote * Collapse the same kind of errors into the variant * [noise]: `sodiumoxide 0.2.5` (#1276) Fixes rustsec/advisory-db#192 * examples/ipfs-kad.rs: Remove outdated reference to `without_init` (#1280) * CircleCI Test Fix (#1282) * Disabling "Docker Layer Caching" because it breaks one of the circleci checks * Bump to trigger CircleCI build * unbump * zeroize: Upgrade to v1.0 (#1284) v1.0 final release is out. Release notes: iqlusioninc/crates#279 * *: Consolidate protobuf scripts and update to rust-protobuf 2.8.1 (#1275) * *: Consolidate protobuf generation scripts * *: Update to rust-protobuf 2.8.1 * *: Mark protobuf generated modules with '_proto' * examples: Add distributed key value store (#1281) * examples: Add distributed key value store This commit adds a basic distributed key value store supporting GET and PUT commands using Kademlia and mDNS. * examples/distributed-key-value-store: Fix typo * Simple Warning Cleanup (#1278) * Cleaning up warnings - removing unused `use` * Cleaning up warnings - unused tuple value * Cleaning up warnings - removing dead code * Cleaning up warnings - fixing deprecated name * Cleaning up warnings - removing dead code * Revert "Cleaning up warnings - removing dead code" This reverts commit f18a765. * Enable the std feature of ring (#1289)
1 parent b1f3111 commit 0eeddac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1656
-631
lines changed

.circleci/config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ jobs:
1212
test:
1313
machine:
1414
enabled: true
15-
docker_layer_caching: true
1615
steps:
1716
- checkout
1817
- run:

core/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ multihash = { package = "parity-multihash", version = "0.1.0", path = "../misc/m
2424
multistream-select = { version = "0.5.0", path = "../misc/multistream-select" }
2525
futures-preview = { version = "= 0.3.0-alpha.18", features = ["compat", "io-compat"] }
2626
parking_lot = "0.8"
27-
protobuf = "2.3"
27+
protobuf = "2.8"
2828
quick-error = "1.2"
2929
rand = "0.6"
3030
rw-stream-sink = { version = "0.1.1", path = "../misc/rw-stream-sink" }
31-
libsecp256k1 = { version = "0.3.0", optional = true }
31+
libsecp256k1 = { version = "0.3.1", optional = true }
3232
sha2 = "0.8.0"
3333
smallvec = "0.6"
3434
wasm-timer = "0.1"
3535
unsigned-varint = "0.2"
3636
void = "1"
37-
zeroize = "0.9"
37+
zeroize = "1"
3838

3939
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dependencies]
40-
ring = { version = "0.14", features = ["use_heap"], default-features = false }
40+
ring = { version = "^0.16", features = ["alloc", "std"], default-features = false }
4141
untrusted = { version = "0.6" }
4242

4343
[dev-dependencies]

core/regen_structs_proto.sh

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
11
#!/bin/sh
22

3-
# This script regenerates the `src/structs_proto.rs` and `src/keys_proto.rs` files from
4-
# `structs.proto` and `keys.proto`.
5-
6-
sudo docker run --rm -v `pwd`:/usr/code:z -w /usr/code rust /bin/bash -c " \
7-
apt-get update; \
8-
apt-get install -y protobuf-compiler; \
9-
cargo install --version 2.3.0 protobuf-codegen; \
10-
protoc --rust_out . keys.proto"
11-
12-
sudo chown $USER:$USER keys.rs
13-
mv -f keys.rs ./src/keys_proto.rs
3+
../scripts/protobuf/gen.sh src/keys.proto

core/src/identity/rsa.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ use ring::rand::SystemRandom;
2727
use ring::signature::{self, RsaKeyPair, RSA_PKCS1_SHA256, RSA_PKCS1_2048_8192_SHA256};
2828
use ring::signature::KeyPair;
2929
use std::sync::Arc;
30-
use untrusted::Input;
3130
use zeroize::Zeroize;
3231

3332
/// An RSA keypair.
@@ -40,7 +39,7 @@ impl Keypair {
4039
///
4140
/// [RFC5208]: https://tools.ietf.org/html/rfc5208#section-5
4241
pub fn from_pkcs8(der: &mut [u8]) -> Result<Keypair, DecodingError> {
43-
let kp = RsaKeyPair::from_pkcs8(Input::from(&der[..]))
42+
let kp = RsaKeyPair::from_pkcs8(&der)
4443
.map_err(|e| DecodingError::new("RSA PKCS#8 PrivateKeyInfo").source(e))?;
4544
der.zeroize();
4645
Ok(Keypair(Arc::new(kp)))
@@ -69,10 +68,8 @@ pub struct PublicKey(Vec<u8>);
6968
impl PublicKey {
7069
/// Verify an RSA signature on a message using the public key.
7170
pub fn verify(&self, msg: &[u8], sig: &[u8]) -> bool {
72-
signature::verify(&RSA_PKCS1_2048_8192_SHA256,
73-
Input::from(&self.0),
74-
Input::from(msg),
75-
Input::from(sig)).is_ok()
71+
let key = signature::UnparsedPublicKey::new(&RSA_PKCS1_2048_8192_SHA256, &self.0);
72+
key.verify(msg, sig).is_ok()
7673
}
7774

7875
/// Encode the RSA public key in DER as a PKCS#1 RSAPublicKey structure,

core/keys.proto renamed to core/src/keys.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
syntax = "proto2";
2+
13
enum KeyType {
24
RSA = 0;
35
Ed25519 = 1;

core/src/keys_proto.rs

Lines changed: 76 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// This file is generated by rust-protobuf 2.3.0. Do not edit
1+
// This file is generated by rust-protobuf 2.8.1. Do not edit
22
// @generated
33

44
// https://github.com/Manishearth/rust-clippy/issues/702
@@ -17,10 +17,15 @@
1717
#![allow(unsafe_code)]
1818
#![allow(unused_imports)]
1919
#![allow(unused_results)]
20+
//! Generated file from `src/keys.proto`
2021
2122
use protobuf::Message as Message_imported_for_functions;
2223
use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
2324

25+
/// Generated files are compatible only with the same version
26+
/// of protobuf runtime.
27+
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_8_1;
28+
2429
#[derive(PartialEq,Clone,Default)]
2530
pub struct PublicKey {
2631
// message fields
@@ -31,13 +36,23 @@ pub struct PublicKey {
3136
pub cached_size: ::protobuf::CachedSize,
3237
}
3338

39+
impl<'a> ::std::default::Default for &'a PublicKey {
40+
fn default() -> &'a PublicKey {
41+
<PublicKey as ::protobuf::Message>::default_instance()
42+
}
43+
}
44+
3445
impl PublicKey {
3546
pub fn new() -> PublicKey {
3647
::std::default::Default::default()
3748
}
3849

3950
// required .KeyType Type = 1;
4051

52+
53+
pub fn get_Type(&self) -> KeyType {
54+
self.Type.unwrap_or(KeyType::RSA)
55+
}
4156
pub fn clear_Type(&mut self) {
4257
self.Type = ::std::option::Option::None;
4358
}
@@ -51,12 +66,15 @@ impl PublicKey {
5166
self.Type = ::std::option::Option::Some(v);
5267
}
5368

54-
pub fn get_Type(&self) -> KeyType {
55-
self.Type.unwrap_or(KeyType::RSA)
56-
}
57-
5869
// required bytes Data = 2;
5970

71+
72+
pub fn get_Data(&self) -> &[u8] {
73+
match self.Data.as_ref() {
74+
Some(v) => &v,
75+
None => &[],
76+
}
77+
}
6078
pub fn clear_Data(&mut self) {
6179
self.Data.clear();
6280
}
@@ -83,13 +101,6 @@ impl PublicKey {
83101
pub fn take_Data(&mut self) -> ::std::vec::Vec<u8> {
84102
self.Data.take().unwrap_or_else(|| ::std::vec::Vec::new())
85103
}
86-
87-
pub fn get_Data(&self) -> &[u8] {
88-
match self.Data.as_ref() {
89-
Some(v) => &v,
90-
None => &[],
91-
}
92-
}
93104
}
94105

95106
impl ::protobuf::Message for PublicKey {
@@ -217,8 +228,8 @@ impl ::protobuf::Message for PublicKey {
217228

218229
impl ::protobuf::Clear for PublicKey {
219230
fn clear(&mut self) {
220-
self.clear_Type();
221-
self.clear_Data();
231+
self.Type = ::std::option::Option::None;
232+
self.Data.clear();
222233
self.unknown_fields.clear();
223234
}
224235
}
@@ -230,7 +241,7 @@ impl ::std::fmt::Debug for PublicKey {
230241
}
231242

232243
impl ::protobuf::reflect::ProtobufValue for PublicKey {
233-
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
244+
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
234245
::protobuf::reflect::ProtobufValueRef::Message(self)
235246
}
236247
}
@@ -245,13 +256,23 @@ pub struct PrivateKey {
245256
pub cached_size: ::protobuf::CachedSize,
246257
}
247258

259+
impl<'a> ::std::default::Default for &'a PrivateKey {
260+
fn default() -> &'a PrivateKey {
261+
<PrivateKey as ::protobuf::Message>::default_instance()
262+
}
263+
}
264+
248265
impl PrivateKey {
249266
pub fn new() -> PrivateKey {
250267
::std::default::Default::default()
251268
}
252269

253270
// required .KeyType Type = 1;
254271

272+
273+
pub fn get_Type(&self) -> KeyType {
274+
self.Type.unwrap_or(KeyType::RSA)
275+
}
255276
pub fn clear_Type(&mut self) {
256277
self.Type = ::std::option::Option::None;
257278
}
@@ -265,12 +286,15 @@ impl PrivateKey {
265286
self.Type = ::std::option::Option::Some(v);
266287
}
267288

268-
pub fn get_Type(&self) -> KeyType {
269-
self.Type.unwrap_or(KeyType::RSA)
270-
}
271-
272289
// required bytes Data = 2;
273290

291+
292+
pub fn get_Data(&self) -> &[u8] {
293+
match self.Data.as_ref() {
294+
Some(v) => &v,
295+
None => &[],
296+
}
297+
}
274298
pub fn clear_Data(&mut self) {
275299
self.Data.clear();
276300
}
@@ -297,13 +321,6 @@ impl PrivateKey {
297321
pub fn take_Data(&mut self) -> ::std::vec::Vec<u8> {
298322
self.Data.take().unwrap_or_else(|| ::std::vec::Vec::new())
299323
}
300-
301-
pub fn get_Data(&self) -> &[u8] {
302-
match self.Data.as_ref() {
303-
Some(v) => &v,
304-
None => &[],
305-
}
306-
}
307324
}
308325

309326
impl ::protobuf::Message for PrivateKey {
@@ -431,8 +448,8 @@ impl ::protobuf::Message for PrivateKey {
431448

432449
impl ::protobuf::Clear for PrivateKey {
433450
fn clear(&mut self) {
434-
self.clear_Type();
435-
self.clear_Data();
451+
self.Type = ::std::option::Option::None;
452+
self.Data.clear();
436453
self.unknown_fields.clear();
437454
}
438455
}
@@ -444,7 +461,7 @@ impl ::std::fmt::Debug for PrivateKey {
444461
}
445462

446463
impl ::protobuf::reflect::ProtobufValue for PrivateKey {
447-
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
464+
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
448465
::protobuf::reflect::ProtobufValueRef::Message(self)
449466
}
450467
}
@@ -502,41 +519,41 @@ impl ::std::default::Default for KeyType {
502519
}
503520

504521
impl ::protobuf::reflect::ProtobufValue for KeyType {
505-
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
522+
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
506523
::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
507524
}
508525
}
509526

510527
static file_descriptor_proto_data: &'static [u8] = b"\
511-
\n\nkeys.proto\"=\n\tPublicKey\x12\x1c\n\x04Type\x18\x01\x20\x02(\x0e2\
512-
\x08.KeyTypeR\x04type\x12\x12\n\x04Data\x18\x02\x20\x02(\x0cR\x04data\">\
513-
\n\nPrivateKey\x12\x1c\n\x04Type\x18\x01\x20\x02(\x0e2\x08.KeyTypeR\x04t\
514-
ype\x12\x12\n\x04Data\x18\x02\x20\x02(\x0cR\x04data*.\n\x07KeyType\x12\
515-
\x07\n\x03RSA\x10\0\x12\x0b\n\x07Ed25519\x10\x01\x12\r\n\tSecp256k1\x10\
516-
\x02J\xdf\x03\n\x06\x12\x04\0\0\x0e\x01\n\n\n\x02\x05\0\x12\x04\0\0\x04\
517-
\x01\n\n\n\x03\x05\0\x01\x12\x03\0\x05\x0c\n\x0b\n\x04\x05\0\x02\0\x12\
518-
\x03\x01\x02\n\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x01\x02\x05\n\x0c\n\
519-
\x05\x05\0\x02\0\x02\x12\x03\x01\x08\t\n\x0b\n\x04\x05\0\x02\x01\x12\x03\
520-
\x02\x02\x0e\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x02\x02\t\n\x0c\n\x05\
521-
\x05\0\x02\x01\x02\x12\x03\x02\x0c\r\n\x0b\n\x04\x05\0\x02\x02\x12\x03\
522-
\x03\x02\x10\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x03\x02\x0b\n\x0c\n\
523-
\x05\x05\0\x02\x02\x02\x12\x03\x03\x0e\x0f\n\n\n\x02\x04\0\x12\x04\x06\0\
524-
\t\x01\n\n\n\x03\x04\0\x01\x12\x03\x06\x08\x11\n\x0b\n\x04\x04\0\x02\0\
525-
\x12\x03\x07\x02\x1c\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x07\x02\n\n\x0c\
526-
\n\x05\x04\0\x02\0\x06\x12\x03\x07\x0b\x12\n\x0c\n\x05\x04\0\x02\0\x01\
527-
\x12\x03\x07\x13\x17\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x07\x1a\x1b\n\
528-
\x0b\n\x04\x04\0\x02\x01\x12\x03\x08\x02\x1a\n\x0c\n\x05\x04\0\x02\x01\
529-
\x04\x12\x03\x08\x02\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x08\x0b\x10\
530-
\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x08\x11\x15\n\x0c\n\x05\x04\0\x02\
531-
\x01\x03\x12\x03\x08\x18\x19\n\n\n\x02\x04\x01\x12\x04\x0b\0\x0e\x01\n\n\
532-
\n\x03\x04\x01\x01\x12\x03\x0b\x08\x12\n\x0b\n\x04\x04\x01\x02\0\x12\x03\
533-
\x0c\x02\x1c\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03\x0c\x02\n\n\x0c\n\x05\
534-
\x04\x01\x02\0\x06\x12\x03\x0c\x0b\x12\n\x0c\n\x05\x04\x01\x02\0\x01\x12\
535-
\x03\x0c\x13\x17\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0c\x1a\x1b\n\x0b\
536-
\n\x04\x04\x01\x02\x01\x12\x03\r\x02\x1a\n\x0c\n\x05\x04\x01\x02\x01\x04\
537-
\x12\x03\r\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\r\x0b\x10\n\x0c\
538-
\n\x05\x04\x01\x02\x01\x01\x12\x03\r\x11\x15\n\x0c\n\x05\x04\x01\x02\x01\
539-
\x03\x12\x03\r\x18\x19\
528+
\n\x0esrc/keys.proto\"=\n\tPublicKey\x12\x1c\n\x04Type\x18\x01\x20\x02(\
529+
\x0e2\x08.KeyTypeR\x04Type\x12\x12\n\x04Data\x18\x02\x20\x02(\x0cR\x04Da\
530+
ta\">\n\nPrivateKey\x12\x1c\n\x04Type\x18\x01\x20\x02(\x0e2\x08.KeyTypeR\
531+
\x04Type\x12\x12\n\x04Data\x18\x02\x20\x02(\x0cR\x04Data*.\n\x07KeyType\
532+
\x12\x07\n\x03RSA\x10\0\x12\x0b\n\x07Ed25519\x10\x01\x12\r\n\tSecp256k1\
533+
\x10\x02J\xe9\x03\n\x06\x12\x04\0\0\x10\x01\n\x08\n\x01\x0c\x12\x03\0\0\
534+
\x12\n\n\n\x02\x05\0\x12\x04\x02\0\x06\x01\n\n\n\x03\x05\0\x01\x12\x03\
535+
\x02\x05\x0c\n\x0b\n\x04\x05\0\x02\0\x12\x03\x03\x02\n\n\x0c\n\x05\x05\0\
536+
\x02\0\x01\x12\x03\x03\x02\x05\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\
537+
\x08\t\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x04\x02\x0e\n\x0c\n\x05\x05\0\
538+
\x02\x01\x01\x12\x03\x04\x02\t\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x04\
539+
\x0c\r\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x05\x02\x10\n\x0c\n\x05\x05\0\
540+
\x02\x02\x01\x12\x03\x05\x02\x0b\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\
541+
\x05\x0e\x0f\n\n\n\x02\x04\0\x12\x04\x08\0\x0b\x01\n\n\n\x03\x04\0\x01\
542+
\x12\x03\x08\x08\x11\n\x0b\n\x04\x04\0\x02\0\x12\x03\t\x02\x1c\n\x0c\n\
543+
\x05\x04\0\x02\0\x04\x12\x03\t\x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\
544+
\t\x0b\x12\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\t\x13\x17\n\x0c\n\x05\x04\
545+
\0\x02\0\x03\x12\x03\t\x1a\x1b\n\x0b\n\x04\x04\0\x02\x01\x12\x03\n\x02\
546+
\x1a\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\n\x02\n\n\x0c\n\x05\x04\0\x02\
547+
\x01\x05\x12\x03\n\x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\n\x11\
548+
\x15\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\n\x18\x19\n\n\n\x02\x04\x01\
549+
\x12\x04\r\0\x10\x01\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x12\n\x0b\n\x04\
550+
\x04\x01\x02\0\x12\x03\x0e\x02\x1c\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03\
551+
\x0e\x02\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x0e\x0b\x12\n\x0c\n\x05\
552+
\x04\x01\x02\0\x01\x12\x03\x0e\x13\x17\n\x0c\n\x05\x04\x01\x02\0\x03\x12\
553+
\x03\x0e\x1a\x1b\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0f\x02\x1a\n\x0c\n\
554+
\x05\x04\x01\x02\x01\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x01\x02\x01\
555+
\x05\x12\x03\x0f\x0b\x10\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0f\x11\
556+
\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0f\x18\x19\
540557
";
541558

542559
static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {

core/src/peer_id.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ impl Into<multihash::Multihash> for PeerId {
219219
quick_error! {
220220
#[derive(Debug)]
221221
pub enum ParseError {
222-
B58(e: bs58::decode::DecodeError) {
222+
B58(e: bs58::decode::Error) {
223223
display("base-58 decode error: {}", e)
224224
cause(e)
225225
from()

core/tests/transport_upgrade.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ fn upgrade_pipeline() {
110110
});
111111

112112
let listen_addr: Multiaddr = format!("/memory/{}", random::<u64>()).parse().unwrap();
113-
113+
114114
async_std::task::spawn({
115115
let listen_addr = listen_addr.clone();
116116
let dialer_id = dialer_id.clone();

0 commit comments

Comments
 (0)