From b17c70255facb81f0bbd9d9c57bc1abca911a919 Mon Sep 17 00:00:00 2001 From: Zaxar163 Date: Sat, 31 Aug 2019 14:44:43 +0200 Subject: [PATCH 01/16] =?UTF-8?q?[ANY]=20=D0=A0=D0=B5=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pro/gravit/launchserver/LaunchServer.java | 10 +++-- .../launchserver/LaunchServerBuilder.java | 8 ++-- .../launchserver/LaunchServerStarter.java | 20 ++++----- .../gravit/launchserver/Reconfigurable.java | 4 +- .../auth/PostgreSQLSourceConfig.java | 13 +++--- .../auth/handler/CachedAuthHandler.java | 6 ++- .../auth/handler/PostgreSQLAuthHandler.java | 11 +++-- .../auth/hwid/JsonFileHWIDHandler.java | 2 +- .../binary/JARLauncherBinary.java | 8 +++- .../binary/LauncherConfigurator.java | 6 +-- .../binary/SimpleEXELauncherBinary.java | 8 ++-- .../binary/tasks/CompressBuildTask.java | 6 +-- .../gravit/launchserver/command/Command.java | 4 +- .../command/handler/CommandHandler.java | 8 +++- .../command/modules/LoadModuleCommand.java | 1 - .../components/AuthLimiterComponent.java | 3 -- .../config/LaunchServerConfig.java | 12 +++--- .../dao/provider/HibernateDaoProvider.java | 5 ++- .../launchserver/modules/CoreModule.java | 43 ------------------- .../modules/LaunchServerModuleContext.java | 35 --------------- .../launchserver/modules/SimpleModule.java | 43 ------------------- .../events/LaunchServerPostInitPhase.java | 1 - .../modules/impl/LaunchServerCoreModule.java | 1 - .../impl/LaunchServerModulesManager.java | 6 +-- .../launchserver/socket/WebSocketService.java | 2 - .../socket/response/auth/AuthResponse.java | 2 +- .../response/auth/RegisterResponse.java | 10 ++--- .../launchserver/StartLaunchServerTest.java | 25 ++++++----- .../pro/gravit/launcher/LauncherEngine.java | 2 - .../launcher/client/ClientModuleManager.java | 6 +-- .../launcher/client/FunctionalBridge.java | 4 +- .../launcher/gui/JSRuntimeProvider.java | 7 ++- .../java/pro/gravit/launcher/Launcher.java | 1 - .../launcher/downloader/ListDownloader.java | 15 +++++-- .../launcher/modules/LauncherModule.java | 5 ++- .../launcher/modules/LauncherModuleInfo.java | 4 +- .../modules/LauncherModulesManager.java | 5 ++- .../pro/gravit/launcher/modules/Module.java | 22 ---------- .../launcher/modules/ModuleContext.java | 13 ------ .../launcher/modules/ModulesManager.java | 25 ----------- .../launcher/modules/events/PreGsonPhase.java | 1 + .../modules/impl/SimpleModuleManager.java | 23 +++++++--- .../java/pro/gravit/launcher/ModulesTest.java | 13 ++++-- .../gravit/launcher/impl/Depend1Module.java | 1 + .../gravit/launcher/impl/Depend3Module.java | 1 - .../gravit/launcher/impl/InternalModule.java | 1 - .../pro/gravit/launcher/impl/MainModule.java | 2 +- .../pro/gravit/utils/command/Command.java | 8 +++- .../gravit/utils/command/CommandHandler.java | 3 -- .../utils/command/StdCommandHandler.java | 3 +- .../gravit/launcher/CommandHandlerTest.java | 7 ++- .../pro/gravit/launcher/SerializeTest.java | 6 ++- .../server/ServerWrapperModulesManager.java | 4 +- modules | 2 +- 54 files changed, 179 insertions(+), 308 deletions(-) delete mode 100644 LaunchServer/src/main/java/pro/gravit/launchserver/modules/CoreModule.java delete mode 100644 LaunchServer/src/main/java/pro/gravit/launchserver/modules/LaunchServerModuleContext.java delete mode 100644 LaunchServer/src/main/java/pro/gravit/launchserver/modules/SimpleModule.java delete mode 100644 LauncherAPI/src/main/java/pro/gravit/launcher/modules/Module.java delete mode 100644 LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModuleContext.java delete mode 100644 LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModulesManager.java diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java index 18516038..d5eee7fe 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServer.java @@ -38,7 +38,6 @@ import pro.gravit.launcher.hasher.HashedDir; import pro.gravit.launcher.managers.ConfigManager; import pro.gravit.launcher.managers.GarbageManager; -import pro.gravit.launcher.modules.LauncherModulesManager; import pro.gravit.launcher.modules.events.ClosePhase; import pro.gravit.launcher.profiles.ClientProfile; import pro.gravit.launchserver.auth.AuthProviderPair; @@ -50,7 +49,10 @@ import pro.gravit.launchserver.binary.SimpleEXELauncherBinary; import pro.gravit.launchserver.config.LaunchServerConfig; import pro.gravit.launchserver.config.LaunchServerRuntimeConfig; -import pro.gravit.launchserver.manangers.*; +import pro.gravit.launchserver.manangers.CertificateManager; +import pro.gravit.launchserver.manangers.MirrorManager; +import pro.gravit.launchserver.manangers.ReconfigurableManager; +import pro.gravit.launchserver.manangers.SessionManager; import pro.gravit.launchserver.manangers.hook.AuthHookManager; import pro.gravit.launchserver.manangers.hook.BuildHookManager; import pro.gravit.launchserver.modules.events.LaunchServerFullInitEvent; @@ -59,7 +61,9 @@ import pro.gravit.launchserver.modules.events.NewLaunchServerInstanceEvent; import pro.gravit.launchserver.modules.impl.LaunchServerModulesManager; import pro.gravit.launchserver.socket.handlers.NettyServerSocketHandler; -import pro.gravit.utils.command.*; +import pro.gravit.utils.command.Command; +import pro.gravit.utils.command.CommandHandler; +import pro.gravit.utils.command.SubCommand; import pro.gravit.utils.helper.CommonHelper; import pro.gravit.utils.helper.IOHelper; import pro.gravit.utils.helper.JVMHelper; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerBuilder.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerBuilder.java index 4a42c70b..310ac179 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerBuilder.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerBuilder.java @@ -1,14 +1,14 @@ package pro.gravit.launchserver; +import java.nio.file.Path; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; + import pro.gravit.launchserver.config.LaunchServerConfig; import pro.gravit.launchserver.config.LaunchServerRuntimeConfig; import pro.gravit.launchserver.modules.impl.LaunchServerModulesManager; import pro.gravit.utils.command.CommandHandler; -import java.nio.file.Path; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; - public class LaunchServerBuilder { private LaunchServerConfig config; private LaunchServerRuntimeConfig runtimeConfig; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java index 132f8d6f..c019adec 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/LaunchServerStarter.java @@ -1,5 +1,15 @@ package pro.gravit.launchserver; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.Writer; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.KeyPair; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; + import pro.gravit.launcher.Launcher; import pro.gravit.launcher.hwid.HWIDProvider; import pro.gravit.launcher.modules.events.PreConfigPhase; @@ -24,16 +34,6 @@ import pro.gravit.utils.helper.LogHelper; import pro.gravit.utils.helper.SecurityHelper; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.Writer; -import java.nio.file.Files; -import java.nio.file.Path; -import java.security.KeyPair; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; - public class LaunchServerStarter { public static void main(String[] args) throws Exception { JVMHelper.checkStackTrace(LaunchServerStarter.class); diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/Reconfigurable.java b/LaunchServer/src/main/java/pro/gravit/launchserver/Reconfigurable.java index 07c5cde0..181ad476 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/Reconfigurable.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/Reconfigurable.java @@ -1,9 +1,9 @@ package pro.gravit.launchserver; -import pro.gravit.utils.command.Command; - import java.util.Map; +import pro.gravit.utils.command.Command; + /** * Allows calling commands using the config command */ diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/PostgreSQLSourceConfig.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/PostgreSQLSourceConfig.java index 7a852f03..643aaf6a 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/PostgreSQLSourceConfig.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/PostgreSQLSourceConfig.java @@ -1,16 +1,17 @@ package pro.gravit.launchserver.auth; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import org.postgresql.ds.PGSimpleDataSource; + import com.zaxxer.hikari.HikariDataSource; import pro.gravit.utils.helper.LogHelper; import pro.gravit.utils.helper.VerifyHelper; -import org.postgresql.ds.PGSimpleDataSource; - -import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.SQLException; - public final class PostgreSQLSourceConfig implements AutoCloseable { public static final int TIMEOUT = VerifyHelper.verifyInt( Integer.parseUnsignedInt(System.getProperty("launcher.postgresql.idleTimeout", Integer.toString(5000))), diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/CachedAuthHandler.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/CachedAuthHandler.java index 0a63054d..1639727a 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/CachedAuthHandler.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/CachedAuthHandler.java @@ -15,7 +15,11 @@ import pro.gravit.launchserver.auth.provider.AuthProviderResult; import pro.gravit.utils.command.Command; import pro.gravit.utils.command.SubCommand; -import pro.gravit.utils.helper.*; +import pro.gravit.utils.helper.CommonHelper; +import pro.gravit.utils.helper.IOHelper; +import pro.gravit.utils.helper.LogHelper; +import pro.gravit.utils.helper.SecurityHelper; +import pro.gravit.utils.helper.VerifyHelper; public abstract class CachedAuthHandler extends AuthHandler implements NeedGarbageCollection, Reconfigurable { public static final class Entry { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/PostgreSQLAuthHandler.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/PostgreSQLAuthHandler.java index 697ee53b..2d794b1b 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/PostgreSQLAuthHandler.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/handler/PostgreSQLAuthHandler.java @@ -1,13 +1,16 @@ package pro.gravit.launchserver.auth.handler; +import java.io.IOException; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.UUID; + import org.postgresql.util.PGobject; import pro.gravit.launchserver.auth.PostgreSQLSourceConfig; -import java.io.IOException; -import java.sql.*; -import java.util.UUID; - public final class PostgreSQLAuthHandler extends CachedAuthHandler { private PostgreSQLSourceConfig postgreSQLHolder; private String uuidColumn; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/hwid/JsonFileHWIDHandler.java b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/hwid/JsonFileHWIDHandler.java index b181da50..d48868e5 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/auth/hwid/JsonFileHWIDHandler.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/auth/hwid/JsonFileHWIDHandler.java @@ -12,8 +12,8 @@ import com.google.gson.reflect.TypeToken; -import pro.gravit.launcher.hwid.HWID; import pro.gravit.launcher.Launcher; +import pro.gravit.launcher.hwid.HWID; import pro.gravit.utils.helper.IOHelper; import pro.gravit.utils.helper.LogHelper; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/JARLauncherBinary.java b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/JARLauncherBinary.java index 179dadd1..724bcb16 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/JARLauncherBinary.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/JARLauncherBinary.java @@ -9,7 +9,13 @@ import pro.gravit.launcher.Launcher; import pro.gravit.launchserver.LaunchServer; -import pro.gravit.launchserver.binary.tasks.*; +import pro.gravit.launchserver.binary.tasks.AdditionalFixesApplyTask; +import pro.gravit.launchserver.binary.tasks.AttachJarsTask; +import pro.gravit.launchserver.binary.tasks.CompressBuildTask; +import pro.gravit.launchserver.binary.tasks.LauncherBuildTask; +import pro.gravit.launchserver.binary.tasks.MainBuildTask; +import pro.gravit.launchserver.binary.tasks.PrepareBuildTask; +import pro.gravit.launchserver.binary.tasks.ProGuardBuildTask; import pro.gravit.utils.helper.CommonHelper; import pro.gravit.utils.helper.IOHelper; import pro.gravit.utils.helper.LogHelper; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/LauncherConfigurator.java b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/LauncherConfigurator.java index d555ce64..818ed953 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/LauncherConfigurator.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/LauncherConfigurator.java @@ -2,6 +2,7 @@ import org.objectweb.asm.ClassWriter; import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.FieldInsnNode; import org.objectweb.asm.tree.InsnList; @@ -12,15 +13,10 @@ import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.TypeInsnNode; import org.objectweb.asm.tree.VarInsnNode; -import org.objectweb.asm.Type; import pro.gravit.launcher.AutogenConfig; -import pro.gravit.launcher.Launcher; import pro.gravit.launcher.LauncherConfig; import pro.gravit.launcher.modules.LauncherModule; -import pro.gravit.launcher.modules.LauncherModulesManager; -import pro.gravit.launcher.modules.Module; -import pro.gravit.launcher.modules.ModulesManager; import pro.gravit.launchserver.asm.ClassMetadataReader; import pro.gravit.launchserver.asm.SafeClassWriter; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/SimpleEXELauncherBinary.java b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/SimpleEXELauncherBinary.java index 1bbac5cd..006c9fb0 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/SimpleEXELauncherBinary.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/SimpleEXELauncherBinary.java @@ -1,13 +1,13 @@ package pro.gravit.launchserver.binary; -import pro.gravit.launchserver.LaunchServer; -import pro.gravit.utils.helper.IOHelper; -import pro.gravit.utils.helper.LogHelper; - import java.io.IOException; import java.io.OutputStream; import java.nio.file.Path; +import pro.gravit.launchserver.LaunchServer; +import pro.gravit.utils.helper.IOHelper; +import pro.gravit.utils.helper.LogHelper; + public class SimpleEXELauncherBinary extends LauncherBinary { public Path exeTemplate; public SimpleEXELauncherBinary(LaunchServer server) { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/CompressBuildTask.java b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/CompressBuildTask.java index b8d1c194..9766a1b6 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/CompressBuildTask.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/binary/tasks/CompressBuildTask.java @@ -1,8 +1,5 @@ package pro.gravit.launchserver.binary.tasks; -import pro.gravit.launchserver.LaunchServer; -import pro.gravit.utils.helper.IOHelper; - import java.io.IOException; import java.nio.file.Path; import java.util.zip.Deflater; @@ -10,6 +7,9 @@ import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; +import pro.gravit.launchserver.LaunchServer; +import pro.gravit.utils.helper.IOHelper; + public class CompressBuildTask implements LauncherBuildTask { public transient final LaunchServer server; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/command/Command.java b/LaunchServer/src/main/java/pro/gravit/launchserver/command/Command.java index 32ed911e..ef48ce08 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/command/Command.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/command/Command.java @@ -1,9 +1,9 @@ package pro.gravit.launchserver.command; -import pro.gravit.launchserver.LaunchServer; - import java.util.Map; +import pro.gravit.launchserver.LaunchServer; + public abstract class Command extends pro.gravit.utils.command.Command { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/command/handler/CommandHandler.java b/LaunchServer/src/main/java/pro/gravit/launchserver/command/handler/CommandHandler.java index 98c9ea7b..ec3f0c2d 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/command/handler/CommandHandler.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/command/handler/CommandHandler.java @@ -28,7 +28,13 @@ import pro.gravit.launchserver.command.install.MultiCommand; import pro.gravit.launchserver.command.modules.LoadModuleCommand; import pro.gravit.launchserver.command.modules.ModulesCommand; -import pro.gravit.launchserver.command.service.*; +import pro.gravit.launchserver.command.service.ClientsCommand; +import pro.gravit.launchserver.command.service.ComponentCommand; +import pro.gravit.launchserver.command.service.ConfigCommand; +import pro.gravit.launchserver.command.service.GetModulusCommand; +import pro.gravit.launchserver.command.service.GetPermissionsCommand; +import pro.gravit.launchserver.command.service.GivePermissionsCommand; +import pro.gravit.launchserver.command.service.ServerStatusCommand; import pro.gravit.utils.command.BaseCommandCategory; import pro.gravit.utils.command.basic.ClearCommand; import pro.gravit.utils.command.basic.DebugCommand; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/command/modules/LoadModuleCommand.java b/LaunchServer/src/main/java/pro/gravit/launchserver/command/modules/LoadModuleCommand.java index 7c9b5e83..78ce06ea 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/command/modules/LoadModuleCommand.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/command/modules/LoadModuleCommand.java @@ -1,6 +1,5 @@ package pro.gravit.launchserver.command.modules; -import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/components/AuthLimiterComponent.java b/LaunchServer/src/main/java/pro/gravit/launchserver/components/AuthLimiterComponent.java index 1e7ca11a..5b01de0e 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/components/AuthLimiterComponent.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/components/AuthLimiterComponent.java @@ -1,8 +1,5 @@ package pro.gravit.launchserver.components; -import java.util.ArrayList; -import java.util.List; - import pro.gravit.launcher.NeedGarbageCollection; import pro.gravit.launchserver.LaunchServer; import pro.gravit.launchserver.socket.Client; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/config/LaunchServerConfig.java b/LaunchServer/src/main/java/pro/gravit/launchserver/config/LaunchServerConfig.java index fbcdf705..a3e5aa04 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/config/LaunchServerConfig.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/config/LaunchServerConfig.java @@ -1,5 +1,11 @@ package pro.gravit.launchserver.config; +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + import io.netty.channel.epoll.Epoll; import io.netty.handler.logging.LogLevel; import pro.gravit.launcher.Launcher; @@ -24,12 +30,6 @@ import pro.gravit.utils.helper.JVMHelper; import pro.gravit.utils.helper.LogHelper; -import java.io.File; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - public final class LaunchServerConfig { private transient LaunchServer server = null; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java index 541f43ed..08dd15ec 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java @@ -1,6 +1,9 @@ package pro.gravit.launchserver.dao.provider; +import java.nio.file.Paths; + import org.hibernate.cfg.Configuration; + import pro.gravit.launchserver.LaunchServer; import pro.gravit.launchserver.dao.User; import pro.gravit.launchserver.dao.UserHWID; @@ -8,8 +11,6 @@ import pro.gravit.launchserver.dao.impl.HibernateUserDAOImpl; import pro.gravit.utils.helper.CommonHelper; -import java.nio.file.Paths; - public class HibernateDaoProvider extends DaoProvider { public String driver; public String url; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/CoreModule.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/CoreModule.java deleted file mode 100644 index 5590aaf8..00000000 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/CoreModule.java +++ /dev/null @@ -1,43 +0,0 @@ -package pro.gravit.launchserver.modules; - -import pro.gravit.launcher.modules.Module; -import pro.gravit.launcher.modules.ModuleContext; -import pro.gravit.utils.Version; - -public class CoreModule implements Module { - @Override - public void close() { - // nothing to do - } - - @Override - public String getName() { - return "LaunchServer"; - } - - @Override - public Version getVersion() { - return Version.getVersion(); - } - - @Override - public int getPriority() { - return 0; - } - - @Override - public void init(ModuleContext context) { - // nothing to do - } - - @Override - public void postInit(ModuleContext context) { - // nothing to do - } - - - @Override - public void preInit(ModuleContext context) { - // nothing to do - } -} diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/LaunchServerModuleContext.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/LaunchServerModuleContext.java deleted file mode 100644 index b753032a..00000000 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/LaunchServerModuleContext.java +++ /dev/null @@ -1,35 +0,0 @@ -package pro.gravit.launchserver.modules; - -import pro.gravit.launcher.managers.SimpleModulesConfigManager; -import pro.gravit.launcher.modules.ModuleContext; -import pro.gravit.launcher.modules.ModulesConfigManager; -import pro.gravit.launcher.modules.ModulesManager; -import pro.gravit.launchserver.LaunchServer; -import pro.gravit.utils.PublicURLClassLoader; - -public class LaunchServerModuleContext implements ModuleContext { - public final LaunchServer launchServer; - public final PublicURLClassLoader classloader; - public final SimpleModulesConfigManager modulesConfigManager; - - public LaunchServerModuleContext(LaunchServer server, PublicURLClassLoader classloader, SimpleModulesConfigManager modulesConfigManager) { - launchServer = server; - this.classloader = classloader; - this.modulesConfigManager = modulesConfigManager; - } - - @Override - public Type getType() { - return Type.LAUNCHSERVER; - } - - @Override - public ModulesManager getModulesManager() { - return null; - } - - @Override - public ModulesConfigManager getModulesConfigManager() { - return modulesConfigManager; - } -} diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/SimpleModule.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/SimpleModule.java deleted file mode 100644 index 6495cfd6..00000000 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/SimpleModule.java +++ /dev/null @@ -1,43 +0,0 @@ -package pro.gravit.launchserver.modules; - -import pro.gravit.launcher.modules.Module; -import pro.gravit.launcher.modules.ModuleContext; -import pro.gravit.utils.Version; - -public class SimpleModule implements Module { - @Override - public void close() { - // on stop - } - - @Override - public String getName() { - return "SimpleModule"; - } - - @Override - public Version getVersion() { - return new Version(1, 0, 0, 0, Version.Type.UNKNOWN); - } - - @Override - public int getPriority() { - return 0; - } - - @Override - public void init(ModuleContext context) { - - } - - @Override - public void postInit(ModuleContext context) { - - } - - - @Override - public void preInit(ModuleContext context) { - - } -} diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/events/LaunchServerPostInitPhase.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/events/LaunchServerPostInitPhase.java index 9c131c85..e582bdf0 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/events/LaunchServerPostInitPhase.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/events/LaunchServerPostInitPhase.java @@ -1,6 +1,5 @@ package pro.gravit.launchserver.modules.events; -import pro.gravit.launcher.modules.events.InitPhase; import pro.gravit.launcher.modules.events.PostInitPhase; import pro.gravit.launchserver.LaunchServer; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerCoreModule.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerCoreModule.java index c816d073..88557e35 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerCoreModule.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerCoreModule.java @@ -5,7 +5,6 @@ import pro.gravit.launcher.modules.LauncherModuleInfo; import pro.gravit.launcher.modules.events.InitPhase; import pro.gravit.utils.Version; -import pro.gravit.utils.helper.LogHelper; public class LaunchServerCoreModule extends LauncherModule { public LaunchServerCoreModule() { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerModulesManager.java b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerModulesManager.java index 4b7e1af3..0cc68190 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerModulesManager.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/modules/impl/LaunchServerModulesManager.java @@ -1,14 +1,14 @@ package pro.gravit.launchserver.modules.impl; +import java.nio.file.Path; +import java.util.Arrays; + import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.LauncherModuleInfo; import pro.gravit.launcher.modules.impl.SimpleModuleManager; import pro.gravit.launchserver.LaunchServer; import pro.gravit.utils.helper.LogHelper; -import java.nio.file.Path; -import java.util.Arrays; - public class LaunchServerModulesManager extends SimpleModuleManager { public LaunchServerCoreModule coreModule; public LaunchServerModulesManager(Path modulesDir, Path configDir) { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java index dedf17da..0e6c98d6 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java @@ -1,7 +1,6 @@ package pro.gravit.launchserver.socket; import java.lang.reflect.Type; -import java.util.HashMap; import com.google.gson.Gson; @@ -42,7 +41,6 @@ import pro.gravit.utils.helper.IOHelper; import pro.gravit.utils.helper.LogHelper; -@SuppressWarnings("rawtypes") public class WebSocketService { public final ChannelGroup channels; public static ProviderMap providers = new ProviderMap<>(); diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/AuthResponse.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/AuthResponse.java index 84cc20be..7b0afcd8 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/AuthResponse.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/AuthResponse.java @@ -9,9 +9,9 @@ import javax.crypto.IllegalBlockSizeException; import io.netty.channel.ChannelHandlerContext; +import pro.gravit.launcher.events.request.AuthRequestEvent; import pro.gravit.launcher.hwid.HWID; import pro.gravit.launcher.hwid.OshiHWID; -import pro.gravit.launcher.events.request.AuthRequestEvent; import pro.gravit.launcher.profiles.ClientProfile; import pro.gravit.launchserver.auth.AuthException; import pro.gravit.launchserver.auth.AuthProviderPair; diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java index b5fae77e..c9ae5f91 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java @@ -1,16 +1,16 @@ package pro.gravit.launchserver.socket.response.auth; -import io.netty.channel.ChannelHandlerContext; -import pro.gravit.launchserver.dao.User; -import pro.gravit.launchserver.socket.Client; -import pro.gravit.launchserver.socket.response.SimpleResponse; - import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import java.util.UUID; +import io.netty.channel.ChannelHandlerContext; +import pro.gravit.launchserver.dao.User; +import pro.gravit.launchserver.socket.Client; +import pro.gravit.launchserver.socket.response.SimpleResponse; + public class RegisterResponse extends SimpleResponse { public String login; public String password; diff --git a/LaunchServer/src/test/java/pro/gravit/launchserver/StartLaunchServerTest.java b/LaunchServer/src/test/java/pro/gravit/launchserver/StartLaunchServerTest.java index d0dc375f..4af453ca 100644 --- a/LaunchServer/src/test/java/pro/gravit/launchserver/StartLaunchServerTest.java +++ b/LaunchServer/src/test/java/pro/gravit/launchserver/StartLaunchServerTest.java @@ -1,23 +1,23 @@ package pro.gravit.launchserver; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; -import pro.gravit.launcher.Launcher; -import pro.gravit.launcher.managers.SimpleModulesConfigManager; -import pro.gravit.launchserver.config.LaunchServerConfig; -import pro.gravit.launchserver.config.LaunchServerRuntimeConfig; -import pro.gravit.launchserver.manangers.LaunchServerGsonManager; -import pro.gravit.launchserver.modules.impl.LaunchServerModulesManager; -import pro.gravit.utils.command.StdCommandHandler; -import pro.gravit.utils.helper.SecurityHelper; - import java.io.IOException; import java.nio.file.Path; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import pro.gravit.launcher.Launcher; +import pro.gravit.launchserver.config.LaunchServerConfig; +import pro.gravit.launchserver.config.LaunchServerRuntimeConfig; +import pro.gravit.launchserver.manangers.LaunchServerGsonManager; +import pro.gravit.launchserver.modules.impl.LaunchServerModulesManager; +import pro.gravit.utils.command.StdCommandHandler; +import pro.gravit.utils.helper.SecurityHelper; + public class StartLaunchServerTest { @TempDir public static Path modulesDir; @@ -30,7 +30,6 @@ public class StartLaunchServerTest { public static void prepare() throws Exception { LaunchServerModulesManager modulesManager = new LaunchServerModulesManager(modulesDir, configDir); - SimpleModulesConfigManager configManager = new SimpleModulesConfigManager(configDir); LaunchServerConfig config = LaunchServerConfig.getDefault(LaunchServer.LaunchServerEnv.TEST); Launcher.gsonManager = new LaunchServerGsonManager(modulesManager); Launcher.gsonManager.initGson(); diff --git a/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java b/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java index c48bf6dd..65f7fde2 100644 --- a/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java +++ b/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java @@ -16,9 +16,7 @@ import pro.gravit.launcher.managers.ClientGsonManager; import pro.gravit.launcher.managers.ClientHookManager; import pro.gravit.launcher.managers.ConsoleManager; -import pro.gravit.launcher.modules.LauncherModulesManager; import pro.gravit.launcher.modules.events.PreConfigPhase; -import pro.gravit.launcher.modules.impl.SimpleModuleManager; import pro.gravit.launcher.request.Request; import pro.gravit.launcher.request.RequestException; import pro.gravit.launcher.request.auth.RestoreSessionRequest; diff --git a/Launcher/src/main/java/pro/gravit/launcher/client/ClientModuleManager.java b/Launcher/src/main/java/pro/gravit/launcher/client/ClientModuleManager.java index ee48f182..90e66237 100644 --- a/Launcher/src/main/java/pro/gravit/launcher/client/ClientModuleManager.java +++ b/Launcher/src/main/java/pro/gravit/launcher/client/ClientModuleManager.java @@ -1,11 +1,11 @@ package pro.gravit.launcher.client; -import pro.gravit.launcher.modules.LauncherModule; -import pro.gravit.launcher.modules.impl.SimpleModuleManager; - import java.io.IOException; import java.nio.file.Path; +import pro.gravit.launcher.modules.LauncherModule; +import pro.gravit.launcher.modules.impl.SimpleModuleManager; + public class ClientModuleManager extends SimpleModuleManager { public ClientModuleManager() { super(null, null); diff --git a/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java b/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java index a2736acb..efa11a15 100644 --- a/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java +++ b/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java @@ -6,19 +6,19 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import pro.gravit.launcher.hwid.HWID; import pro.gravit.launcher.LauncherAPI; import pro.gravit.launcher.events.request.AuthRequestEvent; import pro.gravit.launcher.guard.LauncherGuardManager; import pro.gravit.launcher.hasher.FileNameMatcher; import pro.gravit.launcher.hasher.HashedDir; +import pro.gravit.launcher.hwid.HWID; import pro.gravit.launcher.hwid.OshiHWIDProvider; import pro.gravit.launcher.managers.ConsoleManager; import pro.gravit.launcher.managers.HasherManager; import pro.gravit.launcher.managers.HasherStore; import pro.gravit.launcher.request.Request; -import pro.gravit.utils.helper.LogHelper; import pro.gravit.utils.Version; +import pro.gravit.utils.helper.LogHelper; public class FunctionalBridge { @LauncherAPI diff --git a/Launcher/src/main/java/pro/gravit/launcher/gui/JSRuntimeProvider.java b/Launcher/src/main/java/pro/gravit/launcher/gui/JSRuntimeProvider.java index 1248415c..f9ceebbd 100644 --- a/Launcher/src/main/java/pro/gravit/launcher/gui/JSRuntimeProvider.java +++ b/Launcher/src/main/java/pro/gravit/launcher/gui/JSRuntimeProvider.java @@ -11,7 +11,12 @@ import javax.script.ScriptEngine; import javax.script.ScriptException; -import pro.gravit.launcher.*; +import pro.gravit.launcher.JSApplication; +import pro.gravit.launcher.Launcher; +import pro.gravit.launcher.LauncherAPI; +import pro.gravit.launcher.LauncherConfig; +import pro.gravit.launcher.LauncherEngine; +import pro.gravit.launcher.NewLauncherSettings; import pro.gravit.launcher.client.ClientLauncher; import pro.gravit.launcher.client.DirBridge; import pro.gravit.launcher.client.FunctionalBridge; diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/Launcher.java b/LauncherAPI/src/main/java/pro/gravit/launcher/Launcher.java index a3737e66..b200f191 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/Launcher.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/Launcher.java @@ -11,7 +11,6 @@ import java.util.regex.Pattern; import pro.gravit.launcher.managers.GsonManager; -import pro.gravit.launcher.modules.ModulesManager; import pro.gravit.launcher.profiles.ClientProfile; import pro.gravit.launcher.serialize.HInput; import pro.gravit.utils.helper.IOHelper; diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/downloader/ListDownloader.java b/LauncherAPI/src/main/java/pro/gravit/launcher/downloader/ListDownloader.java index b9fed281..bb7c40d7 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/downloader/ListDownloader.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/downloader/ListDownloader.java @@ -8,9 +8,15 @@ import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Path; -import java.util.List; import java.util.ArrayList; -import java.util.concurrent.*; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -22,7 +28,10 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.LaxRedirectStrategy; -import pro.gravit.utils.helper.*; +import pro.gravit.utils.helper.CommonHelper; +import pro.gravit.utils.helper.IOHelper; +import pro.gravit.utils.helper.LogHelper; +import pro.gravit.utils.helper.VerifyHelper; public class ListDownloader { private static final AtomicInteger COUNTER_THR = new AtomicInteger(0); diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModule.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModule.java index 7878bb00..eaab1413 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModule.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModule.java @@ -6,7 +6,8 @@ public abstract class LauncherModule { private LauncherModulesContext context; - private Map, EventHandler> eventMap = new HashMap<>(); + @SuppressWarnings("rawtypes") + private Map, EventHandler> eventMap = new HashMap<>(); protected LauncherModulesManager modulesManager; protected final LauncherModuleInfo moduleInfo; protected ModulesConfigManager modulesConfigManager; @@ -154,7 +155,7 @@ protected boolean registerEvent(EventHandler handle, Class< public final void callEvent(T event) { Class tClass = event.getClass(); - for(Map.Entry, EventHandler> e : eventMap.entrySet()) + for(@SuppressWarnings("rawtypes") Map.Entry, EventHandler> e : eventMap.entrySet()) { if(e.getKey().isAssignableFrom(tClass)) diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModuleInfo.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModuleInfo.java index 26c0d298..a9950d72 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModuleInfo.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModuleInfo.java @@ -13,7 +13,7 @@ public LauncherModuleInfo(String name, Version version) { this.name = name; this.version = version; this.priority = 0; - this.dependencies = new String[]{}; + this.dependencies = new String[0]; providers = new String[0]; } @@ -21,7 +21,7 @@ public LauncherModuleInfo(String name) { this.name = name; this.version = new Version(1,0,0); this.priority = 0; - this.dependencies = new String[]{}; + this.dependencies = new String[0]; providers = new String[0]; } diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModulesManager.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModulesManager.java index b85380d5..94f3a6e5 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModulesManager.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/LauncherModulesManager.java @@ -1,12 +1,12 @@ package pro.gravit.launcher.modules; -import pro.gravit.utils.Version; - import java.io.IOException; import java.nio.file.Path; import java.util.List; import java.util.function.Predicate; +import pro.gravit.utils.Version; + public interface LauncherModulesManager { LauncherModule loadModule(LauncherModule module); @@ -23,6 +23,7 @@ default boolean containsModule(Class cl return getModule(clazz) != null; } ClassLoader getModuleClassLoader(); + ModulesConfigManager getConfigManager(); T getModule(Class clazz); T getModuleByInterface(Class clazz); List getModulesByInterface(Class clazz); diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/Module.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/Module.java deleted file mode 100644 index 5dd082f1..00000000 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/Module.java +++ /dev/null @@ -1,22 +0,0 @@ -package pro.gravit.launcher.modules; - -import pro.gravit.utils.Version; -@Deprecated -public interface Module extends AutoCloseable { - - String getName(); - - Version getVersion(); - - int getPriority(); - - void init(ModuleContext context); - - void postInit(ModuleContext context); - - void preInit(ModuleContext context); - - default void finish(ModuleContext context) { - // NOP - } -} diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModuleContext.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModuleContext.java deleted file mode 100644 index c435c99b..00000000 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModuleContext.java +++ /dev/null @@ -1,13 +0,0 @@ -package pro.gravit.launcher.modules; -@Deprecated -public interface ModuleContext { - enum Type { - SERVER, CLIENT, LAUNCHSERVER - } - - Type getType(); - - ModulesManager getModulesManager(); - - ModulesConfigManager getModulesConfigManager(); -} diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModulesManager.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModulesManager.java deleted file mode 100644 index 5321dee6..00000000 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/ModulesManager.java +++ /dev/null @@ -1,25 +0,0 @@ -package pro.gravit.launcher.modules; - -import java.net.URL; -@Deprecated -public interface ModulesManager extends AutoCloseable { - void initModules(); - - void load(Module module); - - void loadModule(URL jarpath) throws Exception; - - void loadModule(URL jarpath, String classname) throws Exception; - - void postInitModules(); - - void preInitModules(); - - void finishModules(); - - void printModules(); - - void sort(); - - void registerModule(Module module); -} diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/events/PreGsonPhase.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/events/PreGsonPhase.java index ca514a12..6e1acd11 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/events/PreGsonPhase.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/events/PreGsonPhase.java @@ -1,6 +1,7 @@ package pro.gravit.launcher.modules.events; import com.google.gson.GsonBuilder; + import pro.gravit.launcher.modules.LauncherModule; public class PreGsonPhase extends LauncherModule.Event { diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/impl/SimpleModuleManager.java b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/impl/SimpleModuleManager.java index e4acf821..e8285f4d 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/modules/impl/SimpleModuleManager.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/modules/impl/SimpleModuleManager.java @@ -1,12 +1,5 @@ package pro.gravit.launcher.modules.impl; -import pro.gravit.launcher.managers.SimpleModulesConfigManager; -import pro.gravit.launcher.modules.*; -import pro.gravit.utils.PublicURLClassLoader; -import pro.gravit.utils.Version; -import pro.gravit.utils.helper.IOHelper; -import pro.gravit.utils.helper.LogHelper; - import java.io.IOException; import java.net.URL; import java.nio.file.FileVisitResult; @@ -20,6 +13,17 @@ import java.util.function.Predicate; import java.util.jar.JarFile; +import pro.gravit.launcher.managers.SimpleModulesConfigManager; +import pro.gravit.launcher.modules.LauncherInitContext; +import pro.gravit.launcher.modules.LauncherModule; +import pro.gravit.launcher.modules.LauncherModuleInfo; +import pro.gravit.launcher.modules.LauncherModulesManager; +import pro.gravit.launcher.modules.ModulesConfigManager; +import pro.gravit.utils.PublicURLClassLoader; +import pro.gravit.utils.Version; +import pro.gravit.utils.helper.IOHelper; +import pro.gravit.utils.helper.LogHelper; + public class SimpleModuleManager implements LauncherModulesManager { protected final List modules = new ArrayList<>(); protected final List moduleNames = new ArrayList<>(); @@ -219,4 +223,9 @@ public void invokeEvent(T event) { if(event.isCancel()) return; } } + + @Override + public ModulesConfigManager getConfigManager() { + return modulesConfigManager; + } } diff --git a/LauncherAPI/src/test/java/pro/gravit/launcher/ModulesTest.java b/LauncherAPI/src/test/java/pro/gravit/launcher/ModulesTest.java index f2a6a98a..87325775 100644 --- a/LauncherAPI/src/test/java/pro/gravit/launcher/ModulesTest.java +++ b/LauncherAPI/src/test/java/pro/gravit/launcher/ModulesTest.java @@ -1,17 +1,24 @@ package pro.gravit.launcher; +import java.nio.file.Path; + import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; -import pro.gravit.launcher.impl.*; + +import pro.gravit.launcher.impl.Cyclic2DependModule; +import pro.gravit.launcher.impl.CyclicDependModule; +import pro.gravit.launcher.impl.Depend1Module; +import pro.gravit.launcher.impl.Depend2Module; +import pro.gravit.launcher.impl.Depend3Module; +import pro.gravit.launcher.impl.MainModule; +import pro.gravit.launcher.impl.TestModule; import pro.gravit.launcher.impl.event.CancelEvent; import pro.gravit.launcher.impl.event.NormalEvent; import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.impl.SimpleModuleManager; -import java.nio.file.Path; - public class ModulesTest { @TempDir public static Path configDir; diff --git a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend1Module.java b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend1Module.java index 107df843..d5156125 100644 --- a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend1Module.java +++ b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend1Module.java @@ -1,6 +1,7 @@ package pro.gravit.launcher.impl; import org.junit.jupiter.api.Assertions; + import pro.gravit.launcher.modules.LauncherInitContext; import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.LauncherModuleInfo; diff --git a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend3Module.java b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend3Module.java index 24ce98ae..3e63503a 100644 --- a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend3Module.java +++ b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/Depend3Module.java @@ -1,6 +1,5 @@ package pro.gravit.launcher.impl; -import pro.gravit.launcher.ModulesTest; import pro.gravit.launcher.modules.LauncherInitContext; import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.LauncherModuleInfo; diff --git a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/InternalModule.java b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/InternalModule.java index 6d1eeb60..1cbe663e 100644 --- a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/InternalModule.java +++ b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/InternalModule.java @@ -1,6 +1,5 @@ package pro.gravit.launcher.impl; -import pro.gravit.launcher.ModulesTest; import pro.gravit.launcher.modules.LauncherInitContext; import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.LauncherModuleInfo; diff --git a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/MainModule.java b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/MainModule.java index 0a28570b..3fdf52a4 100644 --- a/LauncherAPI/src/test/java/pro/gravit/launcher/impl/MainModule.java +++ b/LauncherAPI/src/test/java/pro/gravit/launcher/impl/MainModule.java @@ -1,7 +1,7 @@ package pro.gravit.launcher.impl; import org.junit.jupiter.api.Assertions; -import pro.gravit.launcher.ModulesTest; + import pro.gravit.launcher.modules.LauncherInitContext; import pro.gravit.launcher.modules.LauncherModule; import pro.gravit.launcher.modules.LauncherModuleInfo; diff --git a/LauncherCore/src/main/java/pro/gravit/utils/command/Command.java b/LauncherCore/src/main/java/pro/gravit/utils/command/Command.java index f6e220dc..29cf52d8 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/command/Command.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/command/Command.java @@ -1,8 +1,14 @@ package pro.gravit.utils.command; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import org.jline.reader.Candidate; + import pro.gravit.utils.helper.VerifyHelper; public abstract class Command { diff --git a/LauncherCore/src/main/java/pro/gravit/utils/command/CommandHandler.java b/LauncherCore/src/main/java/pro/gravit/utils/command/CommandHandler.java index fd697cea..ca743a9b 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/command/CommandHandler.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/command/CommandHandler.java @@ -32,9 +32,6 @@ public Category(CommandCategory category, String name, String description) { public void eval(String line, boolean bell) { LogHelper.info("Command '%s'", line); - - // Parse line to tokens - String[] args; try { evalNative(line, bell); } catch (Exception e) { diff --git a/LauncherCore/src/main/java/pro/gravit/utils/command/StdCommandHandler.java b/LauncherCore/src/main/java/pro/gravit/utils/command/StdCommandHandler.java index 3d817c7b..7c0a8930 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/command/StdCommandHandler.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/command/StdCommandHandler.java @@ -2,8 +2,9 @@ import java.io.BufferedReader; import java.io.IOException; -import pro.gravit.utils.helper.JVMHelper; + import pro.gravit.utils.helper.IOHelper; +import pro.gravit.utils.helper.JVMHelper; public class StdCommandHandler extends CommandHandler { private final BufferedReader reader; diff --git a/LauncherCore/src/test/java/pro/gravit/launcher/CommandHandlerTest.java b/LauncherCore/src/test/java/pro/gravit/launcher/CommandHandlerTest.java index 6eec21e5..539f2eb6 100644 --- a/LauncherCore/src/test/java/pro/gravit/launcher/CommandHandlerTest.java +++ b/LauncherCore/src/test/java/pro/gravit/launcher/CommandHandlerTest.java @@ -3,9 +3,14 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; + import pro.gravit.launcher.impl.Test2Command; import pro.gravit.launcher.impl.TestCommand; -import pro.gravit.utils.command.*; +import pro.gravit.utils.command.BaseCommandCategory; +import pro.gravit.utils.command.Command; +import pro.gravit.utils.command.CommandException; +import pro.gravit.utils.command.CommandHandler; +import pro.gravit.utils.command.StdCommandHandler; public class CommandHandlerTest { diff --git a/LauncherCore/src/test/java/pro/gravit/launcher/SerializeTest.java b/LauncherCore/src/test/java/pro/gravit/launcher/SerializeTest.java index 5b672db2..e0add501 100644 --- a/LauncherCore/src/test/java/pro/gravit/launcher/SerializeTest.java +++ b/LauncherCore/src/test/java/pro/gravit/launcher/SerializeTest.java @@ -1,10 +1,12 @@ package pro.gravit.launcher; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + import pro.gravit.utils.ProviderMap; import pro.gravit.utils.UniversalJsonAdapter; diff --git a/ServerWrapper/src/main/java/pro/gravit/launcher/server/ServerWrapperModulesManager.java b/ServerWrapper/src/main/java/pro/gravit/launcher/server/ServerWrapperModulesManager.java index 8eeff4c5..b8c11eb7 100644 --- a/ServerWrapper/src/main/java/pro/gravit/launcher/server/ServerWrapperModulesManager.java +++ b/ServerWrapper/src/main/java/pro/gravit/launcher/server/ServerWrapperModulesManager.java @@ -1,9 +1,9 @@ package pro.gravit.launcher.server; -import pro.gravit.launcher.modules.impl.SimpleModuleManager; - import java.nio.file.Path; +import pro.gravit.launcher.modules.impl.SimpleModuleManager; + public class ServerWrapperModulesManager extends SimpleModuleManager { public ServerWrapperModulesManager(Path modulesDir, Path configDir) { super(modulesDir, configDir); diff --git a/modules b/modules index 03cb8cb0..577d7c53 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit 03cb8cb081fe48755e691f5ed56f0d2da6a1ca2f +Subproject commit 577d7c53dd972d8a5988bd02357b7d4458e30bbf From 988d220f353bf1acba737aac4c39b6ffa890c586 Mon Sep 17 00:00:00 2001 From: Gravit Date: Sat, 31 Aug 2019 22:38:41 +0700 Subject: [PATCH 02/16] [ANY] 5.0.8 dev --- LauncherCore/src/main/java/pro/gravit/utils/Version.java | 4 ++-- build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LauncherCore/src/main/java/pro/gravit/utils/Version.java b/LauncherCore/src/main/java/pro/gravit/utils/Version.java index 2f0a7cae..b4bbc4e2 100644 --- a/LauncherCore/src/main/java/pro/gravit/utils/Version.java +++ b/LauncherCore/src/main/java/pro/gravit/utils/Version.java @@ -22,9 +22,9 @@ public final class Version { public final Type release; public static final int MAJOR = 5; public static final int MINOR = 0; - public static final int PATCH = 7; + public static final int PATCH = 8; public static final int BUILD = 1; - public static final Version.Type RELEASE = Type.STABLE; + public static final Version.Type RELEASE = Type.DEV; @LauncherAPI public Version(int major, int minor, int patch) { diff --git a/build.gradle b/build.gradle index 62c43e91..5f99cee4 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ id 'signing' } group = 'pro.gravit.launcher' -version = '5.0.7' +version = '5.0.8-SNAPSHOT' configure(subprojects.findAll { it.name != 'modules' }) { apply plugin: 'idea' From 49e26d0d2919d92e26b394d36f16e36965819131 Mon Sep 17 00:00:00 2001 From: Gravit Date: Sun, 1 Sep 2019 20:07:23 +0700 Subject: [PATCH 03/16] =?UTF-8?q?[FIX]=20=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20Guard=20=D0=B8=20ClassCastException?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/pro/gravit/launcher/LauncherEngine.java | 2 +- .../websockets/StandartClientWebSocketService.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java b/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java index c48bf6dd..47b571b7 100644 --- a/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java +++ b/Launcher/src/main/java/pro/gravit/launcher/LauncherEngine.java @@ -113,13 +113,13 @@ public void start(String... args) throws Throwable { } }; } - LauncherGuardManager.initGuard(false); if(UpdateRequest.getController() == null) UpdateRequest.setController(new LauncherUpdateController()); Objects.requireNonNull(args, "args"); if (started.getAndSet(true)) throw new IllegalStateException("Launcher has been already started"); LauncherEngine.modulesManager.invokeEvent(new ClientEngineInitPhase(this)); runtimeProvider.preLoad(); + LauncherGuardManager.initGuard(false); FunctionalBridge.getHWID = CommonHelper.newThread("GetHWID Thread", true, FunctionalBridge::getHWID); FunctionalBridge.getHWID.start(); LogHelper.debug("Dir: %s", DirBridge.dir); diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/StandartClientWebSocketService.java b/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/StandartClientWebSocketService.java index 0b9da5ab..f56717d9 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/StandartClientWebSocketService.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/StandartClientWebSocketService.java @@ -7,6 +7,7 @@ import javax.net.ssl.SSLException; +import pro.gravit.launcher.events.ExceptionEvent; import pro.gravit.launcher.events.request.ErrorRequestEvent; import pro.gravit.launcher.request.Request; import pro.gravit.launcher.request.RequestException; @@ -67,6 +68,10 @@ public WebSocketEvent get() throws InterruptedException, ExecutionException { ErrorRequestEvent errorRequestEvent = (ErrorRequestEvent) event.result; throw new ExecutionException(new RequestException(errorRequestEvent.error)); } + if (event.result.getType().equals("exception")) { + ExceptionEvent error = (ExceptionEvent) event.result; + throw new ExecutionException(new RequestException(String.format("LaunchServer fatal error: %s: %s", error.clazz, error.message))); + } return result; } @@ -80,10 +85,14 @@ public WebSocketEvent get(long timeout, TimeUnit unit) throws InterruptedExcepti } WebSocketEvent result = event.result; waitEventHandler.requests.remove(event); - if (event.result.getType().equals("error") || event.result.getType().equals("exception")) { + if (event.result.getType().equals("error")) { ErrorRequestEvent errorRequestEvent = (ErrorRequestEvent) event.result; throw new ExecutionException(new RequestException(errorRequestEvent.error)); } + if (event.result.getType().equals("exception")) { + ExceptionEvent error = (ExceptionEvent) event.result; + throw new ExecutionException(new RequestException(String.format("LaunchServer fatal error: %s: %s", error.clazz, error.message))); + } return result; } } From d9c4cfdbc89e9954ba6b34d21d9becae112f0e06 Mon Sep 17 00:00:00 2001 From: Gravit Date: Sun, 1 Sep 2019 20:12:50 +0700 Subject: [PATCH 04/16] =?UTF-8?q?[FEATURE]=20email=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/pro/gravit/launchserver/dao/User.java | 1 + .../launchserver/socket/response/auth/RegisterResponse.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java index 0573c2c3..c25d8c13 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java @@ -36,6 +36,7 @@ public class User { private byte[] password; private String accessToken; public String serverID; + public String email; private String password_salt; public long permissions; //TODO: заменить EAGER на LASY и придумать способ сохранить сессию diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java index b5fae77e..97b89be9 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/RegisterResponse.java @@ -14,6 +14,7 @@ public class RegisterResponse extends SimpleResponse { public String login; public String password; + public String email; public byte[] verifyHash; @Override public void execute(ChannelHandlerContext ctx, Client client) throws Exception @@ -32,6 +33,7 @@ public void execute(ChannelHandlerContext ctx, Client client) throws Exception } User user = new User(); user.username = login; + user.email = email; user.setPassword(password); user.uuid = UUID.randomUUID(); server.config.dao.userService.saveUser(user); From aea67ae8ec8f9394936ff30374db888fb99e3236 Mon Sep 17 00:00:00 2001 From: Gravit Date: Sun, 1 Sep 2019 20:25:15 +0700 Subject: [PATCH 05/16] =?UTF-8?q?[FEATURE]=20=D0=A1=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BC=20=D0=B1=D0=B5=D0=B7=20=D1=83=D1=87=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pro/gravit/launchserver/dao/User.java | 2 +- .../launchserver/socket/WebSocketService.java | 11 +--- .../response/auth/SetPasswordResponse.java | 55 +++++++++++++++++++ .../request/SetPasswordRequestEvent.java | 10 ++++ .../websockets/ClientWebSocketService.java | 21 +------ 5 files changed, 70 insertions(+), 29 deletions(-) create mode 100644 LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/SetPasswordResponse.java create mode 100644 LauncherAPI/src/main/java/pro/gravit/launcher/events/request/SetPasswordRequestEvent.java diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java index c25d8c13..c6766218 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/User.java @@ -30,13 +30,13 @@ public class User { private long id; @Column(unique = true) public String username; + public String email; @Column(unique = true) public UUID uuid; @Column(name = "password") private byte[] password; private String accessToken; public String serverID; - public String email; private String password_salt; public long permissions; //TODO: заменить EAGER на LASY и придумать способ сохранить сессию diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java index dedf17da..a564b4aa 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/WebSocketService.java @@ -1,7 +1,6 @@ package pro.gravit.launchserver.socket; import java.lang.reflect.Type; -import java.util.HashMap; import com.google.gson.Gson; @@ -21,14 +20,7 @@ import pro.gravit.launchserver.socket.response.WebSocketServerResponse; import pro.gravit.launchserver.socket.response.admin.AddLogListenerResponse; import pro.gravit.launchserver.socket.response.admin.ExecCommandResponse; -import pro.gravit.launchserver.socket.response.auth.AuthResponse; -import pro.gravit.launchserver.socket.response.auth.CheckServerResponse; -import pro.gravit.launchserver.socket.response.auth.GetAvailabilityAuthResponse; -import pro.gravit.launchserver.socket.response.auth.JoinServerResponse; -import pro.gravit.launchserver.socket.response.auth.ProfilesResponse; -import pro.gravit.launchserver.socket.response.auth.RegisterResponse; -import pro.gravit.launchserver.socket.response.auth.RestoreSessionResponse; -import pro.gravit.launchserver.socket.response.auth.SetProfileResponse; +import pro.gravit.launchserver.socket.response.auth.*; import pro.gravit.launchserver.socket.response.profile.BatchProfileByUsername; import pro.gravit.launchserver.socket.response.profile.ProfileByUUIDResponse; import pro.gravit.launchserver.socket.response.profile.ProfileByUsername; @@ -132,6 +124,7 @@ public static void registerResponses() { providers.register("verifySecureToken", VerifySecureTokenResponse.class); providers.register("getAvailabilityAuth", GetAvailabilityAuthResponse.class); providers.register("register", RegisterResponse.class); + providers.register("setPassword", SetPasswordResponse.class); } public void sendObject(ChannelHandlerContext ctx, Object obj) { diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/SetPasswordResponse.java b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/SetPasswordResponse.java new file mode 100644 index 00000000..93f2fb26 --- /dev/null +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/socket/response/auth/SetPasswordResponse.java @@ -0,0 +1,55 @@ +package pro.gravit.launchserver.socket.response.auth; + +import io.netty.channel.ChannelHandlerContext; +import pro.gravit.launcher.events.request.SetPasswordRequestEvent; +import pro.gravit.launchserver.dao.User; +import pro.gravit.launchserver.socket.Client; +import pro.gravit.launchserver.socket.response.SimpleResponse; + +public class SetPasswordResponse extends SimpleResponse { + public String oldPassword; + public String newPassword; + public String username; + @Override + public String getType() { + return "setPassword"; + } + + @Override + public void execute(ChannelHandlerContext ctx, Client client) throws Exception { + if(( oldPassword == null && username == null ) || newPassword == null) + { + sendError("Request invalid"); + return; + } + if(!client.isAuth) + { + sendError("You not authorized"); + return; + } + if(username != null && !client.permissions.canAdmin) + { + sendError("You not admin"); + return; + } + if(username != null) + { + User user = server.config.dao.userService.findUserByUsername(username); + user.setPassword(newPassword); + sendResult(new SetPasswordRequestEvent()); + } + else + { + User user = server.config.dao.userService.findUserByUsername(client.username); + if(user.verifyPassword(oldPassword)) + { + user.setPassword(newPassword); + sendResult(new SetPasswordRequestEvent()); + } + else + { + sendError("Old password incorrect"); + } + } + } +} diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/events/request/SetPasswordRequestEvent.java b/LauncherAPI/src/main/java/pro/gravit/launcher/events/request/SetPasswordRequestEvent.java new file mode 100644 index 00000000..96efa2c0 --- /dev/null +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/events/request/SetPasswordRequestEvent.java @@ -0,0 +1,10 @@ +package pro.gravit.launcher.events.request; + +import pro.gravit.launcher.events.RequestEvent; + +public class SetPasswordRequestEvent extends RequestEvent { + @Override + public String getType() { + return "setPassword"; + } +} diff --git a/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/ClientWebSocketService.java b/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/ClientWebSocketService.java index c16300c8..5b62226d 100644 --- a/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/ClientWebSocketService.java +++ b/LauncherAPI/src/main/java/pro/gravit/launcher/request/websockets/ClientWebSocketService.java @@ -12,25 +12,7 @@ import pro.gravit.launcher.Launcher; import pro.gravit.launcher.events.ExceptionEvent; -import pro.gravit.launcher.events.request.AuthRequestEvent; -import pro.gravit.launcher.events.request.BatchProfileByUsernameRequestEvent; -import pro.gravit.launcher.events.request.CheckServerRequestEvent; -import pro.gravit.launcher.events.request.ErrorRequestEvent; -import pro.gravit.launcher.events.request.ExecCommandRequestEvent; -import pro.gravit.launcher.events.request.GetAvailabilityAuthRequestEvent; -import pro.gravit.launcher.events.request.GetSecureTokenRequestEvent; -import pro.gravit.launcher.events.request.JoinServerRequestEvent; -import pro.gravit.launcher.events.request.LauncherRequestEvent; -import pro.gravit.launcher.events.request.LogEvent; -import pro.gravit.launcher.events.request.ProfileByUUIDRequestEvent; -import pro.gravit.launcher.events.request.ProfileByUsernameRequestEvent; -import pro.gravit.launcher.events.request.ProfilesRequestEvent; -import pro.gravit.launcher.events.request.RegisterRequestEvent; -import pro.gravit.launcher.events.request.RestoreSessionRequestEvent; -import pro.gravit.launcher.events.request.SetProfileRequestEvent; -import pro.gravit.launcher.events.request.UpdateListRequestEvent; -import pro.gravit.launcher.events.request.UpdateRequestEvent; -import pro.gravit.launcher.events.request.VerifySecureTokenRequestEvent; +import pro.gravit.launcher.events.request.*; import pro.gravit.launcher.hasher.HashedEntry; import pro.gravit.launcher.hasher.HashedEntryAdapter; import pro.gravit.launcher.request.WebSocketEvent; @@ -126,6 +108,7 @@ public void registerResults() { results.register("getAvailabilityAuth", GetAvailabilityAuthRequestEvent.class); results.register("exception", ExceptionEvent.class); results.register("register", RegisterRequestEvent.class); + results.register("setpassword", SetPasswordRequestEvent.class); } public void registerHandler(EventHandler eventHandler) { From 581b971cc3226dd702cc30e0b17cb4beeb4282d9 Mon Sep 17 00:00:00 2001 From: sasha0552 <45110640+sasha0552@users.noreply.github.com> Date: Wed, 4 Sep 2019 19:15:01 +0600 Subject: [PATCH 06/16] =?UTF-8?q?[FIX]=20Hibernate=20=D1=83=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B8=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B0=20&=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BD=D0=B5=D0=B0=D0=BA=D1=82=D1=83=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF?= =?UTF-8?q?=D1=82=D0=B0=20(#333)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [FIX] Hibernate указание диалекта & удаление неактуального скрипта * [ANY] Reformat code * [FIX] Опциональный диалект * [ANY] Reformat code in hibernate --- .../dao/provider/HibernateDaoProvider.java | 3 + compat/auth/AuthHandler.php | 80 ------------------- 2 files changed, 3 insertions(+), 80 deletions(-) delete mode 100644 compat/auth/AuthHandler.php diff --git a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java index 08dd15ec..c9483916 100644 --- a/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java +++ b/LaunchServer/src/main/java/pro/gravit/launchserver/dao/provider/HibernateDaoProvider.java @@ -16,6 +16,7 @@ public class HibernateDaoProvider extends DaoProvider { public String url; public String username; public String password; + public String dialect; public String pool_size; public String hibernateConfig; public boolean parallelHibernateInit; @@ -31,6 +32,8 @@ public void init(LaunchServer server) { .setProperty("hibernate.connection.username", username) .setProperty("hibernate.connection.password", password) .setProperty("hibernate.connection.pool_size", pool_size); + if(dialect != null) + cfg.setProperty("hibernate.dialect", dialect); if(hibernateConfig != null) cfg.configure(Paths.get(hibernateConfig).toFile()); userDAO = new HibernateUserDAOImpl(cfg.buildSessionFactory()); diff --git a/compat/auth/AuthHandler.php b/compat/auth/AuthHandler.php deleted file mode 100644 index da1b17ce..00000000 --- a/compat/auth/AuthHandler.php +++ /dev/null @@ -1,80 +0,0 @@ - "dle_users", // Название таблицы - 'usernameColumn' => "name", // Столбец с именами пользователей - 'uuidColumn' => "uuid", // Столбец с uuid - 'accessTokenColumn' => "accessToken", // Столбец с accessToken - 'ServerIDColumn' => "serverID" // Столбец с serverID -]; - -// Не трогать -// Можно повредить скрипт -$AuthHandler = [ - 'type' => filter_input(INPUT_GET, 'type', FILTER_SANITIZE_STRING), - 'username' => filter_input(INPUT_GET, 'username', FILTER_SANITIZE_STRING), - 'uuid' => filter_input(INPUT_GET, 'uuid', FILTER_SANITIZE_STRING), - 'accessToken' => filter_input(INPUT_GET, 'accessToken', FILTER_SANITIZE_STRING), - 'ServerID' => filter_input(INPUT_GET, 'ServerID', FILTER_SANITIZE_STRING), - 'secretKey' => filter_input(INPUT_GET, 'secretKey', FILTER_SANITIZE_STRING) -]; - -if (!isset($AuthHandler['secretKey'])) { - die('Не указан ключ!'); -} - -if ($secretkey != $AuthHandler['secretKey']) { - die('Неверный ключ!'); -} - -if(!$link) { - die('Ошибка подключения к базе данных'); -} - -if(isset($AuthHandler['type'])) { - if($AuthHandler['type'] == "FetchByUUID") { - if(isset($AuthHandler['uuid'])) { - $result = mysqli_query($link, 'SELECT '.$settings['usernameColumn'].','.$settings['accessTokenColumn'].','.$settings['serverID'].' FROM '.$settings['table'].' WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['usernameColumn']] + ':' + $row[$settings['accessTokenColumn']] + ':' + $row[$settings['serverID']]); - } - if($AuthHandler['type'] == "FetchByUsername") { - if(isset($AuthHandler['uuid'])) { - $result = mysqli_query($link, 'SELECT '.$settings['uuidColumn'].','.$settings['accessTokenColumn'].','.$settings['serverID'].' FROM '.$settings['table'].' WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['uuidColumn']] + ':' + $row[$settings['accessTokenColumn']] + ':' + $row[$settings['serverID']]); - } - - // Обновление строк - - if($AuthHandler['type'] == "SetAccessTokenAndUUID") { - $result = mysqli_query($link, 'UPDATE '.$settings['table'].' SET '.$settings['accessTokenColumn'].'="'.$AuthHandler['accessToken'].'" WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'"') or die($link->error); - $result1 = mysqli_query($link, 'UPDATE '.$settings['table'].' SET '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'"') or die($link->error); - mysqli_close($link); - die('OK'); - } - if($AuthHandler['type'] == "SetServerID") { - $result = mysqli_query($link, 'UPDATE '.$settings['table'].' SET '.$settings['ServerIDColumn'].'="'.$AuthHandler['serverID'].'" WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'"') or die($link->error); - mysqli_close($link); - die('OK'); - } - die('FAIL!'); -} else { - die('Type not set!'); -} -?> From ebda41bbd585eb9c80bc58d3c0336c80bda8edd5 Mon Sep 17 00:00:00 2001 From: LoomeL <44950511+LoomeL@users.noreply.github.com> Date: Wed, 4 Sep 2019 19:16:16 +0600 Subject: [PATCH 07/16] =?UTF-8?q?[FEATURE]=20=D0=9F=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B5=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=81=D1=8B=D0=BB=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20=D0=BC=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20js=20(#329)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [FEATURE] Простое добавление ссылок без модификации js * [ANY] Angelok support * [FIX] Замена id в styles.css --- Launcher/runtime/config.js | 20 +++++++---- Launcher/runtime/dialog/dialog.js | 33 +++++++++++++++---- .../runtime/dialog/scenes/login/login.fxml | 4 +-- .../dialog/scenes/mainmenu/mainmenu.fxml | 2 +- Launcher/runtime/dialog/styles.css | 8 ++--- 5 files changed, 48 insertions(+), 19 deletions(-) diff --git a/Launcher/runtime/config.js b/Launcher/runtime/config.js index 28f92dba..1f1f81b4 100644 --- a/Launcher/runtime/config.js +++ b/Launcher/runtime/config.js @@ -4,12 +4,20 @@ var config = { title: "GravitLauncher", // Заголовок окна icons: ["favicon.png"], // Путь/Пути до иконки окна - //*** Меню авторизации ***// - linkText: "GravitLauncher", // Текст ссылки - linkURL: new java.net.URL("https://gravit.pro"), // Ссылка - - //*** Меню выбора серверов ***// - discord: new java.net.URL("https://discord.gg/aJK6nMN"), // Ссылка + links: [ + //*** Ссылки ***// + { + id: "link", + text: "GravitLauncher", + url: "https://gravit.pro", + }, + + { + id: "discord", + text: "", + url: "https://discord.gg/aJK6nMN", + } + ], //*** Стандартные настройки клиента ***// autoEnterDefault: false, // Автоматический вход на выбранный сервер diff --git a/Launcher/runtime/dialog/dialog.js b/Launcher/runtime/dialog/dialog.js index 1173456b..cb99d0a0 100644 --- a/Launcher/runtime/dialog/dialog.js +++ b/Launcher/runtime/dialog/dialog.js @@ -37,7 +37,6 @@ function initLoginScene() { bar = pane; loginPane.lookup("#close").setOnAction(function(event) { javafx.application.Platform.exit() }); loginPane.lookup("#hide").setOnAction(function(event) { stage.setIconified(true) }); - loginPane.lookup("#discord").setOnAction(function() { openURL(config.discord); }); var pane = loginPane.lookup("#authPane"); authPane = pane; @@ -63,13 +62,23 @@ function initLoginScene() { savePasswordBox = pane.lookup("#rememberchb"); savePasswordBox.setSelected(settings.login === null || settings.rsaPassword !== null); - var link = pane.lookup("#link"); - link.setText(config.linkText); - link.setOnAction(function(event) app.getHostServices().showDocument(config.linkURL.toURI())); - authOptions = pane.lookup("#authOptions"); pane.lookup("#goAuth").setOnAction(goAuth); + + var pane = loginPane; + config.links.forEach(function(link) { + var el = pane.lookup("#link_" + link.id); + if (el === null) return; + + el.setOnAction(function() { + openURL(new java.net.URL(link.url)); + }); + + if (link.text === "") return; + + el.setText(link.text); + }); } /* ======== init Menu window======== */ @@ -88,7 +97,6 @@ function initMenuScene() { bar = pane; pane.lookup("#close").setOnAction(function(event) { javafx.application.Platform.exit() }); pane.lookup("#hide").setOnAction(function(event) { stage.setIconified(true) }); - pane.lookup("#discord").setOnAction(function() { openURL(config.discord); }); pane.lookup("#settings").setOnAction(goSettings); pane.lookup("#goConsole").setOnAction(goConsole); @@ -112,6 +120,19 @@ function initMenuScene() { setCurrentScene(loginScene); }); + var pane = menuPane; + config.links.forEach(function(link) { + var el = pane.lookup("#link_" + link.id); + if (el === null) return; + + el.setOnAction(function() { + openURL(new java.net.URL(link.url)); + }); + + if (link.text === "") return; + + el.setText(link.text); + }); } /* ======== init Console window======== */ diff --git a/Launcher/runtime/dialog/scenes/login/login.fxml b/Launcher/runtime/dialog/scenes/login/login.fxml index b1e94c9e..43f83937 100644 --- a/Launcher/runtime/dialog/scenes/login/login.fxml +++ b/Launcher/runtime/dialog/scenes/login/login.fxml @@ -32,7 +32,7 @@ - + @@ -57,7 +57,7 @@ - -