From c64efe67757dd0612470c79e9e4960da009a5209 Mon Sep 17 00:00:00 2001 From: Milutinke Date: Sun, 11 Sep 2022 21:20:15 +0200 Subject: [PATCH 1/2] Added discord link --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a6768e70..fe2e0e05 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [Documentation](https://mccteam.github.io/docs/) | [Download](#download) | [Installation](https://mccteam.github.io/docs/guide/installation.html) | [Configuration](https://mccteam.github.io/docs/guide/configuration.html) | [Usage](https://mccteam.github.io/docs/guide/usage.html) -[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server @@ -31,6 +31,10 @@ Get development builds from the [Releases section](https://github.com/MCCTeam/Mi Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + ## Helping Us ❤️ We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) From 34277e3fbd1e0d555d2f6c040151d373c140c4ed Mon Sep 17 00:00:00 2001 From: BruceChen Date: Mon, 12 Sep 2022 19:02:08 +0800 Subject: [PATCH 2/2] Fix a bug in message signature --- MinecraftClient/Protocol/Handlers/Protocol18.cs | 2 +- MinecraftClient/Protocol/PlayerInfo.cs | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 3f7b233c..aa22af19 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -595,7 +595,7 @@ namespace MinecraftClient.Protocol.Handlers bool lastVerifyResult = player.IsMessageChainLegal(); verifyResult = player.VerifyMessageHead(ref precedingSignature, ref headerSignature, ref bodyDigest); if (lastVerifyResult && !verifyResult) - log.Warn("Player " + player.Name + "'s message chain is broken!"); + log.Warn(Translations.Get("chat.message_chain_broken", player.Name)); } } } diff --git a/MinecraftClient/Protocol/PlayerInfo.cs b/MinecraftClient/Protocol/PlayerInfo.cs index b16376ce..3d6f0a40 100644 --- a/MinecraftClient/Protocol/PlayerInfo.cs +++ b/MinecraftClient/Protocol/PlayerInfo.cs @@ -46,6 +46,7 @@ namespace MinecraftClient.Protocol Gamemode = gamemode; Ping = ping; DisplayName = displayName; + lastMessageVerified = false; if (timeStamp != null && publicKey != null && signature != null) { DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds((long)timeStamp); @@ -53,13 +54,13 @@ namespace MinecraftClient.Protocol try { PublicKey = new PublicKey(publicKey, signature); + lastMessageVerified = true; } catch (System.Security.Cryptography.CryptographicException) { PublicKey = null; } } - lastMessageVerified = true; precedingSignature = null; } @@ -121,9 +122,15 @@ namespace MinecraftClient.Protocol if (this.lastMessageVerified == false) return false; if (PublicKey == null || IsKeyExpired() || (this.precedingSignature != null && precedingSignature == null)) + { + this.lastMessageVerified = false; return false; + } if (this.precedingSignature != null && !this.precedingSignature.SequenceEqual(precedingSignature!)) + { + this.lastMessageVerified = false; return false; + } DateTimeOffset timeOffset = DateTimeOffset.FromUnixTimeMilliseconds(timestamp); @@ -150,9 +157,15 @@ namespace MinecraftClient.Protocol if (this.lastMessageVerified == false) return false; if (PublicKey == null || IsKeyExpired() || (this.precedingSignature != null && precedingSignature == null)) + { + this.lastMessageVerified = false; return false; + } if (this.precedingSignature != null && !this.precedingSignature.SequenceEqual(precedingSignature!)) + { + this.lastMessageVerified = false; return false; + } bool res = PublicKey.VerifyHeader(Uuid, ref bodyDigest, ref headerSignature, ref precedingSignature);