From 65483f73c96dd5197a16baa7b515122555754ac1 Mon Sep 17 00:00:00 2001 From: Revertron Date: Fri, 23 Apr 2021 17:27:05 +0200 Subject: [PATCH] Added app version to Shake message. --- .github/workflows/rust_create_release.yml | 6 +++++- src/p2p/message.rs | 6 +++--- src/p2p/network.rs | 8 +++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rust_create_release.yml b/.github/workflows/rust_create_release.yml index 89f5ecd..18307f8 100644 --- a/.github/workflows/rust_create_release.yml +++ b/.github/workflows/rust_create_release.yml @@ -39,8 +39,12 @@ jobs: tag_name: ${{ env.VERSION }} release_name: ${{ env.VERSION }} body: | - ## A new version + ## New + * Added new features. + ## Bug Fixes & Improvements * Various fixes and stability improvements. + ## Documentation & others + * Updated documentation. draft: true prerelease: false diff --git a/src/p2p/message.rs b/src/p2p/message.rs index 1cfdf92..9ec261e 100644 --- a/src/p2p/message.rs +++ b/src/p2p/message.rs @@ -8,7 +8,7 @@ use crate::Bytes; pub enum Message { Error, Hand { #[serde(default = "default_version")] app_version: String, origin: String, version: u32, public: bool, #[serde(default)] rand: String }, - Shake { origin: String, version: u32, ok: bool, height: u64 }, + Shake { #[serde(default = "default_version")] app_version: String, origin: String, version: u32, ok: bool, height: u64 }, Ping { height: u64, hash: Bytes }, Pong { height: u64, hash: Bytes }, Twin, @@ -32,8 +32,8 @@ impl Message { Message::Hand { app_version: app_version.to_owned(), origin: origin.to_owned(), version, public, rand: rand.to_owned() } } - pub fn shake(origin: &str, version: u32, ok: bool, height: u64) -> Self { - Message::Shake { origin: origin.to_owned(), version, ok, height } + pub fn shake(app_version: &str, origin: &str, version: u32, ok: bool, height: u64) -> Self { + Message::Shake { app_version: app_version.to_owned(), origin: origin.to_owned(), version, ok, height } } pub fn ping(height: u64, hash: Bytes) -> Self { diff --git a/src/p2p/network.rs b/src/p2p/network.rs index 38cb12b..dcf1ee9 100644 --- a/src/p2p/network.rs +++ b/src/p2p/network.rs @@ -397,21 +397,23 @@ fn handle_message(context: Arc>, message: Message, peers: &mut Pe let peer = peers.get_mut_peer(token).unwrap(); peer.set_public(public); peer.set_active(true); - debug!("Hello from v{} on {}", &app_version, peer.get_addr().ip()); - State::message(Message::shake(&origin, version, true, my_height)) + debug!(">> v{} on {}", &app_version, peer.get_addr().ip()); + let app_version = context.lock().unwrap().app_version.clone(); + State::message(Message::shake(&app_version, &origin, version, true, my_height)) } else { warn!("Handshake from unsupported chain or version"); State::Banned } } } - Message::Shake { origin, version, ok, height } => { + Message::Shake { app_version, origin, version, ok, height } => { if origin.ne(my_origin) || version != my_version { return State::Banned; } if ok { let nodes = peers.get_peers_active_count(); let peer = peers.get_mut_peer(token).unwrap(); + debug!("<< v{} on {}", &app_version, peer.get_addr().ip()); peer.set_height(height); peer.set_active(true); peer.reset_reconnects();