summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/NetLoginHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/NetLoginHandler.java')
-rw-r--r--src/main/java/net/minecraft/server/NetLoginHandler.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/NetLoginHandler.java b/src/main/java/net/minecraft/server/NetLoginHandler.java
index 7c201a84..2d8d25f2 100644
--- a/src/main/java/net/minecraft/server/NetLoginHandler.java
+++ b/src/main/java/net/minecraft/server/NetLoginHandler.java
@@ -23,6 +23,7 @@ public class NetLoginHandler extends NetHandler {
private String loginKey = Long.toString(random.nextLong(), 16); // CraftBukkit - Security fix
private SecretKey k = null;
public String hostname = ""; // CraftBukkit - add field
+ private boolean login = false; // CraftBukkit
public NetLoginHandler(MinecraftServer minecraftserver, Socket socket, String s) throws java.io.IOException { // CraftBukkit - throws IOException
this.server = minecraftserver;
@@ -98,6 +99,13 @@ public class NetLoginHandler extends NetHandler {
public void a(Packet205ClientCommand packet205clientcommand) {
if (packet205clientcommand.a == 0) {
if (this.server.getOnlineMode()) {
+ // CraftBukkit start
+ if (this.login) {
+ this.disconnect("Duplicate login");
+ return;
+ }
+ this.login = true;
+ // CraftBukkit end
(new ThreadLoginVerifier(this, server.server)).start(); // CraftBukkit - add CraftServer
} else {
this.i = true;