From be25b255b0a724b6e92835b6ee974db5593576a2 Mon Sep 17 00:00:00 2001 From: mohammed jasem alaajel <34905970+ham1255@users.noreply.github.com> Date: Thu, 17 Jun 2021 17:59:41 +0400 Subject: [PATCH] Revert "Remove all Auth plugins hooks (#2)" This reverts commit 2bf56302803a8c9832edc75926e2885572ccce57. --- ...removed-hooks-and-commented-them-out.patch | 74 --- .../0005-deleted-unwanted-classes.patch | 263 -------- ...0006-Removing-all-Auth-related-stuff.patch | 562 ------------------ 3 files changed, 899 deletions(-) delete mode 100644 FastLogin-Patches/0004-removed-hooks-and-commented-them-out.patch delete mode 100644 FastLogin-Patches/0005-deleted-unwanted-classes.patch delete mode 100644 FastLogin-Patches/0006-Removing-all-Auth-related-stuff.patch diff --git a/FastLogin-Patches/0004-removed-hooks-and-commented-them-out.patch b/FastLogin-Patches/0004-removed-hooks-and-commented-them-out.patch deleted file mode 100644 index b9a9c73..0000000 --- a/FastLogin-Patches/0004-removed-hooks-and-commented-them-out.patch +++ /dev/null @@ -1,74 +0,0 @@ -From d85a4cd57426f484fa46c9149dd9ace7ebc77170 Mon Sep 17 00:00:00 2001 -From: mohammed jasem alaajel <34905970+ham1255@users.noreply.github.com> -Date: Tue, 15 Jun 2021 02:09:53 +0400 -Subject: [PATCH] removed hooks and commented them out - - -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -index e26b271..25f1ac2 100644 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -+++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -@@ -25,9 +25,6 @@ - */ - package com.github.games647.fastlogin.bungee; - --import com.github.games647.fastlogin.bungee.hook.BungeeAuthHook; --import com.github.games647.fastlogin.bungee.hook.BungeeCordAuthenticatorBungeeHook; --import com.github.games647.fastlogin.bungee.hook.SodionAuthHook; - import com.github.games647.fastlogin.bungee.listener.ConnectListener; - import com.github.games647.fastlogin.bungee.listener.PluginMessageListener; - import com.github.games647.fastlogin.core.AsyncScheduler; -@@ -50,7 +47,6 @@ import java.util.List; - import java.util.concurrent.ConcurrentMap; - import java.util.concurrent.ThreadFactory; - --import net.md_5.bungee.BungeeServerInfo; - import net.md_5.bungee.api.CommandSender; - import net.md_5.bungee.api.chat.TextComponent; - import net.md_5.bungee.api.connection.PendingConnection; -@@ -102,8 +98,9 @@ public class FastLoginBungee extends Plugin implements PlatformPlugin>> hooks = Arrays.asList( -- BungeeAuthHook.class, BungeeCordAuthenticatorBungeeHook.class, SodionAuthHook.class); -+ try { -+ List>> hooks = Arrays.asList(); - - for (Class> clazz : hooks) { - String pluginName = clazz.getSimpleName(); -@@ -141,7 +139,8 @@ public class FastLoginBungee extends Plugin implements PlatformPlugin>>>>>> 654e137 (related to main) -+ // LimeLogin end - - public void sendPluginMessage(Server server, ChannelMessage message) { - if (server != null) { --- -2.32.0.windows.1 - diff --git a/FastLogin-Patches/0005-deleted-unwanted-classes.patch b/FastLogin-Patches/0005-deleted-unwanted-classes.patch deleted file mode 100644 index 9d0c740..0000000 --- a/FastLogin-Patches/0005-deleted-unwanted-classes.patch +++ /dev/null @@ -1,263 +0,0 @@ -From 151180bd97484b1dfc4342c73d0a73dc33669a2f Mon Sep 17 00:00:00 2001 -From: mohammed jasem alaajel <34905970+ham1255@users.noreply.github.com> -Date: Tue, 15 Jun 2021 02:10:12 +0400 -Subject: [PATCH] deleted unwanted classes - - -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeAuthHook.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeAuthHook.java -deleted file mode 100644 -index abddb17..0000000 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeAuthHook.java -+++ /dev/null -@@ -1,65 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.bungee.hook; -- --import com.github.games647.fastlogin.bungee.FastLoginBungee; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; -- --import me.vik1395.BungeeAuth.Main; --import me.vik1395.BungeeAuthAPI.RequestHandler; -- --import net.md_5.bungee.api.connection.ProxiedPlayer; -- --/** -- * GitHub: https://github.com/vik1395/BungeeAuth-Minecraft -- * -- * Project page: -- * -- * Spigot: https://www.spigotmc.org/resources/bungeeauth.493/ -- */ --public class BungeeAuthHook implements AuthPlugin { -- -- private final RequestHandler requestHandler = new RequestHandler(); -- -- public BungeeAuthHook(FastLoginBungee plugin) { -- } -- -- @Override -- public boolean forceLogin(ProxiedPlayer player) { -- String playerName = player.getName(); -- return Main.plonline.contains(playerName) || requestHandler.forceLogin(playerName); -- } -- -- @Override -- public boolean isRegistered(String playerName) { -- return requestHandler.isRegistered(playerName); -- } -- -- @Override -- public boolean forceRegister(ProxiedPlayer player, String password) { -- return requestHandler.forceRegister(player, password); -- } --} -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeCordAuthenticatorBungeeHook.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeCordAuthenticatorBungeeHook.java -deleted file mode 100644 -index beb56d9..0000000 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/BungeeCordAuthenticatorBungeeHook.java -+++ /dev/null -@@ -1,93 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.bungee.hook; -- --import java.sql.SQLException; -- --import com.github.games647.fastlogin.bungee.FastLoginBungee; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; -- --import de.xxschrandxx.bca.bungee.BungeeCordAuthenticatorBungee; --import de.xxschrandxx.bca.bungee.api.BungeeCordAuthenticatorBungeeAPI; -- --import net.md_5.bungee.api.connection.ProxiedPlayer; -- --/** -- * GitHub: -- * https://github.com/xXSchrandXx/SpigotPlugins/tree/master/BungeeCordAuthenticator -- * -- * Project page: -- * -- * Spigot: https://www.spigotmc.org/resources/bungeecordauthenticator.87669/ -- */ --public class BungeeCordAuthenticatorBungeeHook implements AuthPlugin { -- -- public final BungeeCordAuthenticatorBungeeAPI api; -- -- public BungeeCordAuthenticatorBungeeHook(FastLoginBungee plugin) { -- api = ((BungeeCordAuthenticatorBungee) plugin.getProxy().getPluginManager() -- .getPlugin("BungeeCordAuthenticatorBungee")).getAPI(); -- plugin.getLog().info("BungeeCordAuthenticatorHook | Hooked successful!"); -- } -- -- @Override -- public boolean forceLogin(ProxiedPlayer player) { -- if (api.isAuthenticated(player)) { -- return true; -- } else { -- try { -- api.setAuthenticated(player); -- } -- catch (SQLException e) { -- e.printStackTrace(); -- return false; -- } -- return true; -- } -- } -- -- @Override -- public boolean isRegistered(String playerName) { -- try { -- return api.getSQL().checkPlayerEntry(playerName); -- } -- catch (SQLException e) { -- e.printStackTrace(); -- return false; -- } -- } -- -- @Override -- public boolean forceRegister(ProxiedPlayer player, String password) { -- try { -- return api.createPlayerEntry(player, password); -- } -- catch (SQLException e) { -- e.printStackTrace(); -- return false; -- } -- } --} -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/SodionAuthHook.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/SodionAuthHook.java -deleted file mode 100644 -index c12f2b0..0000000 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/hook/SodionAuthHook.java -+++ /dev/null -@@ -1,78 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.bungee.hook; -- --import com.github.games647.fastlogin.bungee.FastLoginBungee; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; --import net.md_5.bungee.api.connection.ProxiedPlayer; --import red.mohist.sodionauth.bungee.implementation.BungeePlayer; --import red.mohist.sodionauth.core.SodionAuthApi; --import red.mohist.sodionauth.core.exception.AuthenticatedException; -- --/** -- * GitHub: https://github.com/Mohist-Community/SodionAuth -- *

-- * Project page: https://gitea.e-loli.com/SodionAuth/SodionAuth -- *

-- * Bukkit: Unknown -- *

-- * Spigot: https://www.spigotmc.org/resources/sodionauth.76944/ -- */ --public class SodionAuthHook implements AuthPlugin { -- -- private final FastLoginBungee plugin; -- -- public SodionAuthHook(FastLoginBungee plugin) { -- this.plugin = plugin; -- } -- -- @Override -- public boolean forceLogin(ProxiedPlayer player) { -- try { -- SodionAuthApi.login(new BungeePlayer(player)); -- } catch (AuthenticatedException e) { -- plugin.getLog().warn(ALREADY_AUTHENTICATED, player); -- return false; -- } -- return true; -- } -- -- @Override -- public boolean forceRegister(ProxiedPlayer player, String password) { -- try{ -- return SodionAuthApi.register(new BungeePlayer(player), password); -- } catch (UnsupportedOperationException e){ -- plugin.getLog().warn("Currently SodionAuth is not accepting forceRegister, " + -- "It may be caused by unsupported AuthBackend"); -- return false; -- } -- } -- -- @Override -- public boolean isRegistered(String playerName) { -- return SodionAuthApi.isRegistered(playerName); -- } --} --- -2.32.0.windows.1 - diff --git a/FastLogin-Patches/0006-Removing-all-Auth-related-stuff.patch b/FastLogin-Patches/0006-Removing-all-Auth-related-stuff.patch deleted file mode 100644 index 1b875c5..0000000 --- a/FastLogin-Patches/0006-Removing-all-Auth-related-stuff.patch +++ /dev/null @@ -1,562 +0,0 @@ -From 4975802f5fcea2ef9cfa06df8b9a0939961ff935 Mon Sep 17 00:00:00 2001 -From: mohammed jasem alaajel <34905970+ham1255@users.noreply.github.com> -Date: Tue, 15 Jun 2021 02:28:50 +0400 -Subject: [PATCH] Removing all Auth related stuff - - -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -index 25f1ac2..ec6f74a 100644 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -+++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java -@@ -29,7 +29,6 @@ import com.github.games647.fastlogin.bungee.listener.ConnectListener; - import com.github.games647.fastlogin.bungee.listener.PluginMessageListener; - import com.github.games647.fastlogin.core.AsyncScheduler; - import com.github.games647.fastlogin.core.CommonUtil; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; - import com.github.games647.fastlogin.core.message.ChangePremiumMessage; - import com.github.games647.fastlogin.core.message.ChannelMessage; - import com.github.games647.fastlogin.core.message.NamespaceKey; -@@ -42,8 +41,6 @@ import com.google.common.io.ByteStreams; - import com.google.common.util.concurrent.ThreadFactoryBuilder; - - import java.nio.file.Path; --import java.util.Arrays; --import java.util.List; - import java.util.concurrent.ConcurrentMap; - import java.util.concurrent.ThreadFactory; - -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/listener/ConnectListener.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/listener/ConnectListener.java -index db8f269..07df30a 100644 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/listener/ConnectListener.java -+++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/listener/ConnectListener.java -@@ -32,7 +32,6 @@ import com.github.games647.fastlogin.bungee.hook.floodgate.FloodgateHook; - import com.github.games647.fastlogin.bungee.hook.floodgate.FloodgateV1Hook; - import com.github.games647.fastlogin.bungee.hook.floodgate.FloodgateV2Hook; - import com.github.games647.fastlogin.bungee.task.AsyncPremiumCheck; --import com.github.games647.fastlogin.bungee.task.ForceLoginTask; - import com.github.games647.fastlogin.core.RateLimiter; - import com.github.games647.fastlogin.core.StoredProfile; - import com.github.games647.fastlogin.core.shared.LoginSession; -@@ -249,8 +248,12 @@ public class ConnectListener implements Listener { - // delay sending force command, because Paper will process the login event asynchronously - // In this case it means that the force command (plugin message) is already received and processed while - // player is still in the login phase and reported to be offline. -- Runnable loginTask = new ForceLoginTask(plugin.getCore(), player, server, session); -- plugin.getScheduler().runAsync(loginTask); -+ -+ // LimeLogin start -+ //Disabled... -+ //Runnable loginTask = new ForceLoginTask(plugin.getCore(), player, server, session); -+ //plugin.getScheduler().runAsync(loginTask); -+ // LimeLogin end - } - - @EventHandler -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java -index 410b1e4..0136f09 100644 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java -+++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/AsyncPremiumCheck.java -@@ -49,8 +49,9 @@ public class AsyncPremiumCheck extends JoinManagement>>>>>> 654e137 (related to main) - this.plugin = plugin; - this.preLoginEvent = preLoginEvent; - this.connection = connection; -diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/ForceLoginTask.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/ForceLoginTask.java -deleted file mode 100644 -index 0a7f862..0000000 ---- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/task/ForceLoginTask.java -+++ /dev/null -@@ -1,121 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.bungee.task; -- --import com.github.games647.fastlogin.bungee.BungeeLoginSession; --import com.github.games647.fastlogin.bungee.FastLoginBungee; --import com.github.games647.fastlogin.bungee.event.BungeeFastLoginAutoLoginEvent; --import com.github.games647.fastlogin.core.StoredProfile; --import com.github.games647.fastlogin.core.message.ChannelMessage; --import com.github.games647.fastlogin.core.message.LoginActionMessage; --import com.github.games647.fastlogin.core.message.LoginActionMessage.Type; --import com.github.games647.fastlogin.core.shared.FastLoginCore; --import com.github.games647.fastlogin.core.shared.ForceLoginManagement; --import com.github.games647.fastlogin.core.shared.LoginSession; --import com.github.games647.fastlogin.core.shared.event.FastLoginAutoLoginEvent; -- --import java.util.UUID; -- --import net.md_5.bungee.api.CommandSender; --import net.md_5.bungee.api.ProxyServer; --import net.md_5.bungee.api.connection.ProxiedPlayer; --import net.md_5.bungee.api.connection.Server; -- --public class ForceLoginTask -- extends ForceLoginManagement { -- -- private final Server server; -- -- public ForceLoginTask(FastLoginCore core, -- ProxiedPlayer player, Server server, BungeeLoginSession session) { -- super(core, player, session); -- -- this.server = server; -- } -- -- @Override -- public void run() { -- if (session == null) { -- return; -- } -- -- super.run(); -- -- if (!isOnlineMode()) { -- session.setAlreadySaved(true); -- } -- } -- -- @Override -- public boolean forceLogin(ProxiedPlayer player) { -- if (session.isAlreadyLogged()) { -- return true; -- } -- -- session.setAlreadyLogged(true); -- return super.forceLogin(player); -- } -- -- @Override -- public FastLoginAutoLoginEvent callFastLoginAutoLoginEvent(LoginSession session, StoredProfile profile) { -- return core.getPlugin().getProxy().getPluginManager() -- .callEvent(new BungeeFastLoginAutoLoginEvent(session, profile)); -- } -- -- @Override -- public boolean forceRegister(ProxiedPlayer player) { -- return session.isAlreadyLogged() || super.forceRegister(player); -- } -- -- @Override -- public void onForceActionSuccess(LoginSession session) { -- //sub channel name -- Type type = Type.LOGIN; -- if (session.needsRegistration()) { -- type = Type.REGISTER; -- } -- -- UUID proxyId = UUID.fromString(ProxyServer.getInstance().getConfig().getUuid()); -- ChannelMessage loginMessage = new LoginActionMessage(type, player.getName(), proxyId); -- -- core.getPlugin().sendPluginMessage(server, loginMessage); -- } -- -- @Override -- public String getName(ProxiedPlayer player) { -- return player.getName(); -- } -- -- @Override -- public boolean isOnline(ProxiedPlayer player) { -- return player.isConnected(); -- } -- -- @Override -- public boolean isOnlineMode() { -- return player.getPendingConnection().isOnlineMode(); -- } --} -diff --git a/core/src/main/java/com/github/games647/fastlogin/core/hooks/AuthPlugin.java b/core/src/main/java/com/github/games647/fastlogin/core/hooks/AuthPlugin.java -deleted file mode 100644 -index 1a614ba..0000000 ---- a/core/src/main/java/com/github/games647/fastlogin/core/hooks/AuthPlugin.java -+++ /dev/null -@@ -1,87 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.core.hooks; -- --/** -- * Represents a supporting authentication plugin in BungeeCord and Bukkit/Spigot/... servers -- * -- * @param

either {@link org.bukkit.entity.Player} for Bukkit or {@link net.md_5.bungee.api.connection.ProxiedPlayer} -- * for BungeeCord -- */ --public interface AuthPlugin

{ -- -- String ALREADY_AUTHENTICATED = "Player {} is already authenticated. Cancelling force login."; -- -- /** -- * Login the premium (paid account) player after the player joined successfully the server. -- * -- * This operation will be performed async while the player successfully -- * joined the server. -- * -- * @param player the player that needs to be logged in -- * @return if the operation was successful -- */ -- boolean forceLogin(P player); -- -- /** -- * Forces a register in order to protect the paid account. -- * -- * This operation will be performed async while the player successfully -- * joined the server. -- * -- * After a successful registration the player should be logged -- * in too. -- * -- * The method will be called only for premium accounts. -- * So it's recommended to set additionally premium property -- * if possible. -- * -- * Background: If we don't register an account, cracked players -- * could steal the unregistered account from the paid -- * player account -- * -- * @param player the premium account -- * @param password a strong random generated password -- * @return if the operation was successful -- */ -- boolean forceRegister(P player, String password); -- -- /** -- * Checks whether an account exists for this player name. -- * -- * This check should check if a cracked player account exists -- * so we can be sure the premium player doesn't steal the account -- * of that player. -- * -- * This operation will be performed async while the player is -- * connecting. -- * -- * @param playerName player name -- * @return if the player has an account -- * @throws Exception if an error occurred -- */ -- boolean isRegistered(String playerName) throws Exception; --} -diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java -index ec3f924..90c9add 100644 ---- a/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java -+++ b/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java -@@ -30,7 +30,6 @@ import com.github.games647.craftapi.resolver.http.RotatingProxySelector; - import com.github.games647.fastlogin.core.AuthStorage; - import com.github.games647.fastlogin.core.CommonUtil; - import com.github.games647.fastlogin.core.RateLimiter; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; - import com.github.games647.fastlogin.core.hooks.DefaultPasswordGenerator; - import com.github.games647.fastlogin.core.hooks.PasswordGenerator; - import com.google.common.net.HostAndPort; -@@ -85,8 +84,9 @@ public class FastLoginCore

> { - private AuthStorage storage; - private RateLimiter rateLimiter; - private PasswordGenerator

passwordGenerator = new DefaultPasswordGenerator<>(); -- private AuthPlugin

authPlugin; -- -+ // LimeLogin start -+ //private AuthPlugin

authPlugin; -+ // LimeLogin end -<<<<<<< HEAD - -======= ->>>>>>> 654e137 (related to main) - public FastLoginCore(T plugin) { - this.plugin = plugin; - } -@@ -251,17 +251,25 @@ public class FastLoginCore

> { - return pendingConfirms; - } - -+ // LimeLogin start -+ /* - public AuthPlugin

getAuthPluginHook() { - return authPlugin; - } -+ */ -+ // LimeLogin end -<<<<<<< HEAD - - -======= ->>>>>>> 654e137 (related to main) - - public RateLimiter getRateLimiter() { - return rateLimiter; - } - -+ // LimeLogin start -+ /* - public void setAuthPluginHook(AuthPlugin

authPlugin) { - this.authPlugin = authPlugin; - } -+ */ -+ // LimeLogin end - - public void saveDefaultFile(String fileName) { - Path dataFolder = plugin.getPluginFolder(); -diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java -deleted file mode 100644 -index b417e64..0000000 ---- a/core/src/main/java/com/github/games647/fastlogin/core/shared/ForceLoginManagement.java -+++ /dev/null -@@ -1,143 +0,0 @@ --/* -- * SPDX-License-Identifier: MIT -- * -- * The MIT License (MIT) -- * -- * Copyright (c) 2015-2021 -- * -- * Permission is hereby granted, free of charge, to any person obtaining a copy -- * of this software and associated documentation files (the "Software"), to deal -- * in the Software without restriction, including without limitation the rights -- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -- * copies of the Software, and to permit persons to whom the Software is -- * furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in all -- * copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- * SOFTWARE. -- */ --package com.github.games647.fastlogin.core.shared; -- --import com.github.games647.fastlogin.core.AuthStorage; --import com.github.games647.fastlogin.core.StoredProfile; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; --import com.github.games647.fastlogin.core.shared.event.FastLoginAutoLoginEvent; -- --public abstract class ForceLoginManagement

> -- implements Runnable { -- -- protected final FastLoginCore core; -- protected final P player; -- protected final L session; -- -- public ForceLoginManagement(FastLoginCore core, P player, L session) { -- this.core = core; -- this.player = player; -- this.session = session; -- } -- -- @Override -- public void run() { -- if (!isOnline(player)) { -- core.getPlugin().getLog().info("Player {} disconnected", player); -- return; -- } -- -- if (session == null) { -- core.getPlugin().getLog().info("No valid session found for {}", player); -- return; -- } -- -- AuthStorage storage = core.getStorage(); -- StoredProfile playerProfile = session.getProfile(); -- try { -- if (isOnlineMode()) { -- //premium player -- AuthPlugin

authPlugin = core.getAuthPluginHook(); -- if (authPlugin == null) { -- //maybe only bungeecord plugin -- onForceActionSuccess(session); -- } else { -- boolean success = true; -- String playerName = getName(player); -- if (core.getConfig().get("autoLogin", true)) { -- if (session.needsRegistration() -- || (core.getConfig().get("auto-register-unknown", false) -- && !authPlugin.isRegistered(playerName))) { -- success = forceRegister(player); -- } else if (!callFastLoginAutoLoginEvent(session, playerProfile).isCancelled()) { -- success = forceLogin(player); -- } -- } -- -- if (success) { -- //update only on success to prevent corrupt data -- if (playerProfile != null) { -- playerProfile.setId(session.getUuid()); -- playerProfile.setPremium(true); -- storage.save(playerProfile); -- } -- -- onForceActionSuccess(session); -- } -- } -- } else if (playerProfile != null) { -- //cracked player -- playerProfile.setId(null); -- playerProfile.setPremium(false); -- // LimeLogin start -- -- //Govindas comment - don't save cracked player profiles, I found it to be useless -- //storage.save(playerProfile); -- //end of Govindas comment -- -- // LimeLogin end -- } -- } catch (Exception ex) { -- core.getPlugin().getLog().warn("ERROR ON FORCE LOGIN of {}", getName(player), ex); -- } -- } -- -- public boolean forceRegister(P player) { -- core.getPlugin().getLog().info("Register player {}", getName(player)); -- -- String generatedPassword = core.getPasswordGenerator().getRandomPassword(player); -- boolean success = core.getAuthPluginHook().forceRegister(player, generatedPassword); -- -- String message = core.getMessage("auto-register"); -- if (success && message != null) { -- message = message.replace("%password", generatedPassword); -- core.getPlugin().sendMessage(player, message); -- } -- -- return success; -- } -- -- public boolean forceLogin(P player) { -- core.getPlugin().getLog().info("Logging player {} in", getName(player)); -- -- boolean success = core.getAuthPluginHook().forceLogin(player); -- if (success) { -- core.sendLocaleMessage("auto-login", player); -- } -- -- return success; -- } -- -- public abstract FastLoginAutoLoginEvent callFastLoginAutoLoginEvent(LoginSession session, StoredProfile profile); -- -- public abstract void onForceActionSuccess(LoginSession session); -- -- public abstract String getName(P player); -- -- public abstract boolean isOnline(P player); -- -- public abstract boolean isOnlineMode(); --} -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 5490673..dabe324 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 -@@ -28,7 +28,6 @@ package com.github.games647.fastlogin.core.shared; - import com.github.games647.craftapi.model.Profile; - import com.github.games647.craftapi.resolver.RateLimitException; - import com.github.games647.fastlogin.core.StoredProfile; --import com.github.games647.fastlogin.core.hooks.AuthPlugin; - import com.github.games647.fastlogin.core.hooks.FloodgateHook; - import com.github.games647.fastlogin.core.shared.event.FastLoginPreLoginEvent; - -@@ -43,14 +42,18 @@ import net.md_5.bungee.config.Configuration; - public abstract class JoinManagement

{ - - protected final FastLoginCore core; -- protected final AuthPlugin

authHook; -+ // LimeLogin start -+ //protected final AuthPlugin

authHook; -+ // LimeLogin end - private final FloodgateHook floodgateHook; - -- public JoinManagement(FastLoginCore core, AuthPlugin

authHook) { -+ // LimeLogin start -+ public JoinManagement(FastLoginCore core) { - this.core = core; -- this.authHook = authHook; - this.floodgateHook = new FloodgateHook<>(core); - } -<<<<<<< HEAD - -======= ->>>>>>> 654e137 (related to main) -+ // LimeLogin end -+ - - public void onLogin(String username, S source) { - core.getPlugin().getLog().info("Handling player {}", username); -@@ -130,7 +133,7 @@ public abstract class JoinManagement

{ - //end of Govindas comment -<<<<<<< HEAD - - // LimeLogin end - -======= - - // LimeLogin end ->>>>>>> 654e137 (related to main) -- if (core.getConfig().get("autoRegister", false) && (authHook == null)) { -+ if (core.getConfig().get("autoRegister", false)) { - // LimeLogin start - requestPremiumLogin(source, profile, username, false); //Comment: always use false to fix an error XD - // LimeLogin end -<<<<<<< HEAD - -======= ->>>>>>> 654e137 (related to main) --- -2.32.0.windows.1 -