From 208be6210cc7ff52c4499880ad93378b4d93f962 Mon Sep 17 00:00:00 2001 From: Mike <76-Mike@users.noreply.git.krews.org> Date: Sat, 2 May 2020 03:38:22 +0200 Subject: [PATCH] Null check for when encryption is disabled. --- .../incoming/handshake/CompleteDiffieHandshakeEvent.java | 6 ++++++ .../incoming/handshake/InitDiffieHandshakeEvent.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/CompleteDiffieHandshakeEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/CompleteDiffieHandshakeEvent.java index 83b015a9..3794c800 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/CompleteDiffieHandshakeEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/CompleteDiffieHandshakeEvent.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.incoming.handshake; +import com.eu.habbo.Emulator; import com.eu.habbo.crypto.HabboRC4; import com.eu.habbo.messages.NoAuthMessage; import com.eu.habbo.messages.incoming.MessageHandler; @@ -13,6 +14,11 @@ public class CompleteDiffieHandshakeEvent extends MessageHandler { @Override public void handle() throws Exception { + if (this.client.getEncryption() == null) { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } + byte[] sharedKey = this.client.getEncryption().getDiffie().getSharedKey(this.packet.readString()); this.client.sendResponse(new CompleteDiffieHandshakeComposer(this.client.getEncryption().getDiffie().getPublicKey())); diff --git a/src/main/java/com/eu/habbo/messages/incoming/handshake/InitDiffieHandshakeEvent.java b/src/main/java/com/eu/habbo/messages/incoming/handshake/InitDiffieHandshakeEvent.java index e0e6424a..3f0a3823 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/handshake/InitDiffieHandshakeEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/handshake/InitDiffieHandshakeEvent.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.incoming.handshake; +import com.eu.habbo.Emulator; import com.eu.habbo.messages.NoAuthMessage; import com.eu.habbo.messages.incoming.MessageHandler; import com.eu.habbo.messages.outgoing.handshake.InitDiffieHandshakeComposer; @@ -9,6 +10,11 @@ public class InitDiffieHandshakeEvent extends MessageHandler { @Override public void handle() throws Exception { + if (this.client.getEncryption() == null) { + Emulator.getGameServer().getGameClientManager().disposeClient(this.client); + return; + } + this.client.sendResponse(new InitDiffieHandshakeComposer( this.client.getEncryption().getDiffie().getSignedPrime(), this.client.getEncryption().getDiffie().getSignedGenerator()));