diff --git a/core/src/main/java/com/github/games647/fastlogin/core/BalancedSSLFactory.java b/core/src/main/java/com/github/games647/fastlogin/core/BalancedSSLFactory.java index 12d71543..4ce69953 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/BalancedSSLFactory.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/BalancedSSLFactory.java @@ -1,27 +1,23 @@ package com.github.games647.fastlogin.core; -import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; +import java.util.Iterator; import javax.net.ssl.SSLSocketFactory; public class BalancedSSLFactory extends SSLSocketFactory { - private final SSLSocketFactory oldFactory; - //in order to be thread-safe - private final List localAddresses; - - private AtomicInteger id; + private final Iterator iterator; + private final SSLSocketFactory oldFactory; public BalancedSSLFactory(SSLSocketFactory oldFactory, Iterable localAddresses) { this.oldFactory = oldFactory; - this.localAddresses = ImmutableList.copyOf(localAddresses); + this.iterator = Iterables.cycle(localAddresses).iterator(); } @Override @@ -63,7 +59,8 @@ public class BalancedSSLFactory extends SSLSocketFactory { } private InetAddress getNextLocalAddress() { - int index = id.incrementAndGet() % localAddresses.size(); - return localAddresses.get(index); + synchronized (iterator) { + return iterator.next(); + } } } diff --git a/core/src/main/java/com/github/games647/fastlogin/core/CommonUtil.java b/core/src/main/java/com/github/games647/fastlogin/core/CommonUtil.java index c5ce82b8..77d2f7db 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/CommonUtil.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/CommonUtil.java @@ -68,8 +68,7 @@ public class CommonUtil { Class adapterClass = JDK14LoggerAdapter.class; Constructor cons = adapterClass.getDeclaredConstructor(java.util.logging.Logger.class); cons.setAccessible(true); - JDK14LoggerAdapter logger = cons.newInstance(parent); - return logger; + return cons.newInstance(parent); } catch (ReflectiveOperationException reflectEx) { parent.log(Level.WARNING, "Cannot create slf4j logging adapter", reflectEx); parent.log(Level.WARNING, "Creating logger instance manually..."); diff --git a/core/src/main/java/com/github/games647/fastlogin/core/mojang/MojangApiConnector.java b/core/src/main/java/com/github/games647/fastlogin/core/mojang/MojangApiConnector.java index fd518c07..e0f3279b 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/mojang/MojangApiConnector.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/mojang/MojangApiConnector.java @@ -153,7 +153,7 @@ public class MojangApiConnector { } private SSLSocketFactory buildAddresses(Logger logger, Collection localAddresses) { - if (!localAddresses.isEmpty()) { + if (localAddresses.isEmpty()) { return HttpsURLConnection.getDefaultSSLSocketFactory(); } diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/JoinManagement.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/JoinManagement.java index b2120296..b2f854a5 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/shared/JoinManagement.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/shared/JoinManagement.java @@ -65,7 +65,7 @@ public abstract class JoinManagement

{ } private boolean checkPremiumName(S source, String username, PlayerProfile profile) throws Exception { - core.getPlugin().getLog().debug("GameProfile {} uses a premium username", username); + core.getPlugin().getLog().info("GameProfile {} uses a premium username", username); if (core.getConfig().get("autoRegister", false) && (authHook == null || !authHook.isRegistered(username))) { requestPremiumLogin(source, profile, username, false); return true;