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()));