From cee5a4cf4f3c8b2a6297692f91d36ddb539a9fd4 Mon Sep 17 00:00:00 2001 From: Thomas Woischnig Date: Mon, 4 Dec 2023 20:52:06 +0100 Subject: [PATCH] Wrong password hash size --- .../Runtime/LobbyClient.dll | Bin 36352 -> 36352 bytes .../Runtime/LobbyServerDto.dll | Bin 25088 -> 25088 bytes LobbyClient/LobbyClient.cs | 3 +- LobbyClientTest/Program.cs | 32 ++++++++++++++++-- LobbyServerDto/LobbyRequestHostInfo.cs | 2 +- LobbyServerDto/LobbyRequestNatPunch.cs | 2 +- 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Assets/NetworkLobbyClient/Runtime/LobbyClient.dll b/Assets/NetworkLobbyClient/Runtime/LobbyClient.dll index 8956247c6ec53ecb163224e8a2876992f8dd9291..623717f8c78f13ce85f0b0ea98e5135357fa89bd 100644 GIT binary patch delta 107 zcmZpe!_+W`X+j4J%i@=pH}=dZ7r1xOQm81U(Q$7>QuERDZpF_X$5Oj`-{leVFN^XyY>ZLtCr@R4}FjDhO0Ei}nz1S1g6EVu4>ayL2fW>EQW3$&!Y#M5ZSsV+ z00H-;f=U~ke7^;UEev?)DOFGY&=#uz71T?B3W8Km$($Y=v0YDA=m^8{&AIK9*#NxV BEK~ph diff --git a/Assets/NetworkLobbyClient/Runtime/LobbyServerDto.dll b/Assets/NetworkLobbyClient/Runtime/LobbyServerDto.dll index 7b5acc42a5bba58d80f704be888439a917cbaca0..15ef445001f245c98bfcf7a3f98ce2111e94413e 100644 GIT binary patch delta 329 zcmZoT!q{+xaY6@6T=V8F6MJMB#U`!{XFN2Skx`xXL^%UP$Yez(oyn1m>Wngz8yV{v zzfERj5@s#YW?*2PY#436Ie60e+Lo>tr4PS^cu#ApFg{dv|^`keXkdyekW z&3i()Sy0|AUcN*IXMfp|7hZuVr>C}n}y4j*in zt(I`&AOHXW delta 312 zcmZoT!q{+xaY6^nZ4uShi9IrmauZjEGoG5v$f(YGp`3vsWU?ZY&g4i&bw-uRjg0k- z|0Xjs3A5H{GcYhtR*W{^9KfV0#V9rT0KduPbutfttbW;V5dP*}a!(i;r8du35anYO z*}PS+R!D)HRe>d%L6J!jOgex`M=~fE5XE7;k z-V?&js>H#_AjJR!K2>igF);cDFaZVXfmo#ih$lac6lYxwWG$ZjH&R*P&Eq=9_t(Q+ z_J8M#aJ^{JGua@jNEa$t0uuxpB(!eN`+_BhuQEHa$xQtO)D8nYlg~#(XH* diff --git a/LobbyClient/LobbyClient.cs b/LobbyClient/LobbyClient.cs index c5ed145..5b05b42 100644 --- a/LobbyClient/LobbyClient.cs +++ b/LobbyClient/LobbyClient.cs @@ -380,7 +380,7 @@ namespace Lobbies private void TcpClient_DataReceived(int dataLength, Memory data) { try - { + { if (dataLength > 0) { switch (LobbyMessageIdentifier.ReadLobbyMessageIdentifier(data.Span)) @@ -428,6 +428,7 @@ namespace Lobbies case LobbyHostInfo.TypeId: { var lobbyHostInfo = LobbyHostInfo.Deserialize(data.Span); + if (lobbyHostInfo != null) { events.Enqueue(new LobbyClientEvent { EventType = LobbyClientEventTypes.LobbyHostInfo, EventData = lobbyHostInfo }); diff --git a/LobbyClientTest/Program.cs b/LobbyClientTest/Program.cs index 761f155..35ac64d 100644 --- a/LobbyClientTest/Program.cs +++ b/LobbyClientTest/Program.cs @@ -29,6 +29,26 @@ _ = Task.Run(() => { switch (lobbyEvent.EventType) { + case LobbyClientEventTypes.LobbyJoinFailed: + { + var lobbyJoinFailReason = lobbyEvent.EventData as LobbyJoinFailReason; + var p = Console.GetCursorPosition(); + Console.SetCursorPosition(0, p.Top); + switch (lobbyJoinFailReason!.Reason) + { + case LobbyJoinFailReason.FailReasons.WrongPassword: + Console.WriteLine("Lobby password wrong!"); + break; + case LobbyJoinFailReason.FailReasons.LobbyFull: + Console.WriteLine("Lobby full!"); + break; + case LobbyJoinFailReason.FailReasons.LobbyNotFound: + Console.WriteLine("Lobby not found!"); + break; + } + Console.Write(">"); + } + break; case LobbyClientEventTypes.Connected: { connected = true; @@ -210,7 +230,7 @@ while (running) else { Console.WriteLine("Hosting game ..."); - lobbyClient.HostLobby(GameGuids.NFS, "Hallo, Welt!", 1, 8, null, myPort); + lobbyClient.HostLobby(GameGuids.NFS, "Hallo, Welt!", 1, 8, "haher", myPort); fakeGameHost.isHost = true; } } @@ -234,7 +254,15 @@ while (running) var firstLobby = openLobbies.FirstOrDefault(); if (firstLobby != null) { - lobbyClient.RequestLobbyHostInfo(firstLobby.Id, null); + if(firstLobby.PasswordProtected) + { + Console.WriteLine("Please enter password: "); + Console.Write(">"); + var password = Console.ReadLine(); + lobbyClient.RequestLobbyHostInfo(firstLobby.Id, password); + } + else + lobbyClient.RequestLobbyHostInfo(firstLobby.Id, null); } else { diff --git a/LobbyServerDto/LobbyRequestHostInfo.cs b/LobbyServerDto/LobbyRequestHostInfo.cs index 656487c..fad0246 100644 --- a/LobbyServerDto/LobbyRequestHostInfo.cs +++ b/LobbyServerDto/LobbyRequestHostInfo.cs @@ -15,7 +15,7 @@ namespace LobbyServerDto /// /// Hash of the password if the lobby requires one /// - [MaxLength(26)] + [MaxLength(64)] public byte[]? PasswordHash { get; set; } } } \ No newline at end of file diff --git a/LobbyServerDto/LobbyRequestNatPunch.cs b/LobbyServerDto/LobbyRequestNatPunch.cs index 4affca6..8c85218 100644 --- a/LobbyServerDto/LobbyRequestNatPunch.cs +++ b/LobbyServerDto/LobbyRequestNatPunch.cs @@ -15,7 +15,7 @@ namespace LobbyServerDto /// /// Password hash if the lobby is password protected /// - [MaxLength(26)] + [MaxLength(64)] public byte[]? PasswordHash { get; set; } /// /// Our external ip