From 5cf67127c7fb3d566ea354bd2887c4676546f461 Mon Sep 17 00:00:00 2001 From: games647 Date: Sat, 14 May 2016 13:30:32 +0200 Subject: [PATCH] Fix dead lock in xAuth --- CHANGELOG.md | 2 ++ .../games647/fastlogin/bukkit/hooks/xAuthHook.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c3ff0bc..b5eb9bfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ######1.2 +* Fix race condition in BungeeCord +* Fix dead lock in xAuth * Added API methods for plugins to set their own password generator * Added API methods for plugins to set their own auth plugin hook => Added support for AdvancedLogin diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/hooks/xAuthHook.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/hooks/xAuthHook.java index 145e23f3..7d6f4e09 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/hooks/xAuthHook.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/hooks/xAuthHook.java @@ -70,10 +70,7 @@ public class xAuthHook implements BukkitAuthPlugin { boolean registerSuccess = xAuthPlugin.getAuthClass(xAuthPlayer) .adminRegister(player.getName(), password, null); - if (registerSuccess) { - //login in the player after registration - return forceLogin(player); - } + return registerSuccess; } return false; @@ -81,7 +78,13 @@ public class xAuthHook implements BukkitAuthPlugin { }); try { - return future.get(); + boolean success = future.get(); + if (success) { + //login in the player after registration + return forceLogin(player); + } + + return false; } catch (InterruptedException | ExecutionException ex) { xAuthPlugin.getLogger().log(Level.SEVERE, "Failed to forceLogin", ex); return false;