From cfca8ccd851d33af1f2178351615eb794f1c1e18 Mon Sep 17 00:00:00 2001 From: Sabrita Date: Mon, 27 Feb 2023 18:34:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B5=8B=E8=AF=95=E5=BA=93?= =?UTF-8?q?=20=E5=88=A0=E9=99=A4=20wecome=20=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +- src/main/java/fr/xephi/authme/AuthMe.java | 11 + .../executable/register/RegisterCommand.java | 22 + .../authme/data/VerificationCodeManager.java | 6 +- .../fr/xephi/authme/mail/EmailService.java | 118 +- .../executors/EmailRegisterExecutor.java | 10 +- .../service/PasswordRecoveryService.java | 11 +- .../authme/service/ValidationService.java | 10 +- .../fr/xephi/authme/settings/Settings.java | 12 + .../settings/properties/EmailSettings.java | 3 + .../properties/RestrictionSettings.java | 5 + src/main/resources/GeoLite2-Country.mmdb | Bin 0 -> 5699688 bytes src/main/resources/email.html | 138 +- src/main/resources/messages/help_zhcn.yml | 5 +- src/main/resources/messages/messages_zhcn.yml | 210 ++-- src/main/resources/new_email.html | 126 ++ src/main/resources/recovery_code_email.html | 128 +- src/main/resources/shutdown.html | 117 ++ .../resources/verification_code_email.html | 139 +- .../authme/AuthMeInitializationTest.java | 145 --- .../java/fr/xephi/authme/AuthMeMatchers.java | 136 -- .../java/fr/xephi/authme/ClassCollector.java | 165 --- .../xephi/authme/ClassesConsistencyTest.java | 173 --- .../xephi/authme/CodeClimateConfigTest.java | 44 - .../fr/xephi/authme/ConsoleLoggerTest.java | 227 ---- .../authme/IsEqualByReflectionMatcher.java | 91 -- .../fr/xephi/authme/ReflectionTestUtils.java | 153 --- src/test/java/fr/xephi/authme/TestHelper.java | 121 -- .../fr/xephi/authme/api/v3/AuthMeApiTest.java | 558 --------- .../authme/api/v3/AuthMePlayerImplTest.java | 95 -- .../command/CommandConsistencyTest.java | 84 -- .../authme/command/CommandHandlerTest.java | 302 ----- .../command/CommandInitializerTest.java | 283 ----- .../authme/command/CommandMapperTest.java | 319 ----- .../authme/command/CommandUtilsTest.java | 138 -- .../authme/command/PlayerCommandTest.java | 81 -- .../authme/command/TestCommandsUtil.java | 133 -- .../command/executable/HelpCommandTest.java | 163 --- .../authme/AccountsCommandTest.java | 178 --- .../executable/authme/AuthMeCommandTest.java | 36 - .../executable/authme/BackupCommandTest.java | 39 - .../ChangePasswordAdminCommandTest.java | 73 -- .../authme/ConverterCommandTest.java | 149 --- .../authme/FirstSpawnCommandTest.java | 63 - .../authme/ForceLoginCommandTest.java | 133 -- .../authme/GetEmailCommandTest.java | 65 - .../executable/authme/GetIpCommandTest.java | 106 -- .../authme/LastLoginCommandTest.java | 135 -- .../authme/PurgeBannedPlayersCommandTest.java | 75 -- .../executable/authme/PurgeCommandTest.java | 89 -- .../authme/PurgeLastPositionCommandTest.java | 118 -- .../authme/PurgePlayerCommandTest.java | 94 -- .../authme/RecentPlayersCommandTest.java | 87 -- .../authme/RegisterAdminCommandTest.java | 186 --- .../executable/authme/ReloadCommandTest.java | 148 --- .../authme/SetEmailCommandTest.java | 192 --- .../authme/SetFirstSpawnCommandTest.java | 64 - .../authme/SetSpawnCommandTest.java | 64 - .../executable/authme/SpawnCommandTest.java | 64 - .../authme/SwitchAntiBotCommandTest.java | 97 -- .../authme/TotpDisableAdminCommandTest.java | 120 -- .../authme/TotpViewStatusCommandTest.java | 92 -- .../authme/UnregisterAdminCommandTest.java | 94 -- .../authme/UpdateHelpMessagesCommandTest.java | 70 -- .../authme/debug/DataStatisticsTest.java | 121 -- .../authme/debug/DebugCommandTest.java | 158 --- .../debug/DebugSectionConsistencyTest.java | 72 -- .../authme/debug/DebugSectionUtilsTest.java | 125 -- .../debug/HasPermissionCheckerTest.java | 96 -- .../debug/MySqlDefaultChangerColumnsTest.java | 69 - .../authme/debug/MySqlDefaultChangerTest.java | 98 -- .../authme/debug/PlayerAuthViewerTest.java | 106 -- .../captcha/CaptchaCommandTest.java | 190 --- .../ChangePasswordCommandTest.java | 130 -- .../executable/email/AddEmailCommandTest.java | 83 -- .../email/ChangeEmailCommandTest.java | 99 -- .../email/EmailBaseCommandTest.java | 49 - .../email/EmailSetPasswordCommandTest.java | 108 -- .../email/ProcessCodeCommandTest.java | 92 -- .../email/RecoverEmailCommandTest.java | 227 ---- .../email/ShowEmailCommandTest.java | 95 -- .../executable/login/LoginCommandTest.java | 67 - .../executable/logout/LogoutCommandTest.java | 60 - .../register/RegisterCommandTest.java | 332 ----- .../executable/totp/AddTotpCommandTest.java | 93 -- .../totp/ConfirmTotpCommandTest.java | 158 --- .../totp/RemoveTotpCommandTest.java | 149 --- .../executable/totp/TotpBaseCommandTest.java | 47 - .../unregister/UnregisterCommandTest.java | 122 -- .../verification/VerificationCommandTest.java | 168 --- ...pMessageAndHelpSectionConsistencyTest.java | 39 - .../help/HelpMessagesConsistencyTest.java | 97 -- .../command/help/HelpMessagesServiceTest.java | 160 --- .../authme/command/help/HelpProviderTest.java | 466 ------- .../QuickCommandsProtectionManagerTest.java | 80 -- .../xephi/authme/data/TempbanManagerTest.java | 265 ---- .../data/VerificationCodeManagerTest.java | 171 --- .../authme/data/auth/PlayerAuthTest.java | 69 - .../data/captcha/LoginCaptchaManagerTest.java | 174 --- .../RegistrationCaptchaManagerTest.java | 93 -- .../limbo/AllowFlightRestoreTypeTest.java | 109 -- .../data/limbo/LimboPlayerMatchers.java | 137 -- .../limbo/LimboPlayerTaskManagerTest.java | 200 --- .../data/limbo/LimboServiceHelperTest.java | 91 -- .../authme/data/limbo/LimboServiceTest.java | 252 ---- .../limbo/WalkFlySpeedRestoreTypeTest.java | 108 -- ...istributedFilesPersistenceHandlerTest.java | 216 ---- ...IndividualFilesPersistenceHandlerTest.java | 129 -- .../persistence/LimboPersistenceTest.java | 158 --- .../persistence/LimboPersistenceTypeTest.java | 48 - .../persistence/SegmentNameBuilderTest.java | 141 --- .../limbo/persistence/SegmentSizeTest.java | 47 - .../AbstractDataSourceIntegrationTest.java | 535 -------- .../AbstractResourceClosingTest.java | 255 ---- ...tractSqlDataSourceResourceClosingTest.java | 73 -- .../datasource/MySqlIntegrationTest.java | 94 -- .../datasource/MySqlResourceClosingTest.java | 33 - .../datasource/PostgreSqlIntegrationTest.java | 92 -- .../PostgreSqlResourceClosingTest.java | 33 - .../datasource/SQLiteIntegrationTest.java | 135 -- .../datasource/SQLiteResourceClosingTest.java | 22 - .../SqLiteMigraterIntegrationTest.java | 105 -- .../datasource/SqlDataSourceTestUtil.java | 64 - .../datasource/SqlDataSourceUtilsTest.java | 149 --- .../AbstractDataSourceConverterTest.java | 127 -- .../converter/CrazyLoginConverterTest.java | 93 -- .../converter/LoginSecurityConverterTest.java | 147 --- ...ractMySqlExtensionResourceClosingTest.java | 51 - .../Ipb4ExtensionResourceClosingTest.java | 21 - .../mysqlextensions/NoOpExtensionTest.java | 54 - .../PhpBbExtensionResourceClosingTest.java | 21 - ...WordpressExtensionResourceClosingTest.java | 21 - .../XfBcryptExtensionResourceClosingTest.java | 21 - .../authme/events/EventsConsistencyTest.java | 69 - .../authme/initialization/TaskCloserTest.java | 155 --- .../authme/listener/BlockListenerTest.java | 95 -- .../authme/listener/EntityListenerTest.java | 247 ---- .../authme/listener/EventCancelVerifier.java | 79 -- .../listener/ListenerConsistencyTest.java | 122 -- .../authme/listener/ListenerServiceTest.java | 235 ---- .../authme/listener/OnJoinVerifierTest.java | 523 -------- .../listener/PlayerListener111Test.java | 30 - .../authme/listener/PlayerListener19Test.java | 30 - .../authme/listener/PlayerListenerTest.java | 1115 ----------------- .../authme/listener/ServerListenerTest.java | 112 -- .../xephi/authme/mail/EmailServiceTest.java | 188 --- .../fr/xephi/authme/mail/SendMailSslTest.java | 140 --- .../message/HelpMessageConsistencyTest.java | 90 -- .../message/MessageFilePlaceholderTest.java | 90 -- .../xephi/authme/message/MessageKeyTest.java | 49 - .../authme/message/MessagePathHelperTest.java | 67 - .../message/MessagesFileConsistencyTest.java | 61 - .../message/MessagesIntegrationTest.java | 318 ----- .../message/YamlTextFileCheckerTest.java | 91 -- .../message/updater/MessageUpdaterTest.java | 149 --- .../updater/MigraterYamlFileResourceTest.java | 75 -- .../updater/OldMessageKeysMigraterTest.java | 41 - .../authme/output/ConsoleFilterTest.java | 77 -- .../output/ConsoleLoggerFactoryTest.java | 93 -- .../xephi/authme/output/Log4JFilterTest.java | 233 ---- .../authme/output/LogFilterHelperTest.java | 89 -- .../fr/xephi/authme/output/LogLevelTest.java | 31 - .../AbstractPermissionsEnumTest.java | 52 - .../permission/AdminPermissionTest.java | 18 - .../DebugSectionPermissionsTest.java | 17 - .../permission/PermissionConsistencyTest.java | 283 ----- .../PermissionsManagerInitializationTest.java | 190 --- .../permission/PermissionsManagerTest.java | 151 --- .../permission/PermissionsSystemTypeTest.java | 45 - .../permission/PlayerPermissionTest.java | 17 - .../permission/PlayerStatePermissionTest.java | 47 - .../authme/permission/TestPermissions.java | 33 - .../permission/handlers/VaultHandlerTest.java | 84 -- .../AsyncChangePasswordTest.java | 130 -- .../process/email/AsyncAddEmailTest.java | 221 ---- .../process/email/AsyncChangeEmailTest.java | 273 ---- .../process/login/AsynchronousLoginTest.java | 271 ---- .../process/register/AsyncRegisterTest.java | 171 --- .../executors/EmailRegisterExecutorTest.java | 167 --- .../PasswordRegisterExecutorTest.java | 154 --- .../PlayerAuthBuilderHelperTest.java | 41 - .../AsynchronousUnregisterTest.java | 310 ----- .../HashAlgorithmIntegrationTest.java | 109 -- .../xephi/authme/security/HashUtilsTest.java | 136 -- .../authme/security/PasswordSecurityTest.java | 289 ----- .../crypts/AbstractEncryptionMethodTest.java | 239 ---- .../authme/security/crypts/Argon2Test.java | 29 - .../authme/security/crypts/BCrypt2yTest.java | 34 - .../authme/security/crypts/BCryptTest.java | 43 - .../authme/security/crypts/CmwCryptTest.java | 15 - .../security/crypts/CrazyCrypt1Test.java | 16 - .../authme/security/crypts/DoubleMd5Test.java | 16 - .../authme/security/crypts/Ipb3Test.java | 16 - .../authme/security/crypts/Ipb4Test.java | 52 - .../authme/security/crypts/JoomlaTest.java | 17 - .../xephi/authme/security/crypts/Md5Test.java | 16 - .../authme/security/crypts/Md5vBTest.java | 16 - .../authme/security/crypts/MyBBTest.java | 16 - .../security/crypts/Pbkdf2DjangoTest.java | 16 - .../authme/security/crypts/Pbkdf2Test.java | 44 - .../authme/security/crypts/PhpBBTest.java | 59 - .../authme/security/crypts/PhpFusionTest.java | 16 - .../authme/security/crypts/RoyalAuthTest.java | 16 - .../security/crypts/Salted2Md5Test.java | 28 - .../security/crypts/SaltedSha512Test.java | 16 - .../authme/security/crypts/Sha1Test.java | 16 - .../authme/security/crypts/Sha256Test.java | 17 - .../authme/security/crypts/Sha512Test.java | 16 - .../xephi/authme/security/crypts/SmfTest.java | 43 - .../authme/security/crypts/TwoFactorTest.java | 63 - .../authme/security/crypts/Wbb3Test.java | 16 - .../authme/security/crypts/Wbb4Test.java | 16 - .../authme/security/crypts/WhirlpoolTest.java | 16 - .../authme/security/crypts/WordpressTest.java | 21 - .../authme/security/crypts/XAuthTest.java | 16 - .../authme/security/crypts/XfBCryptTest.java | 34 - .../totp/GenerateTotpServiceTest.java | 113 -- .../security/totp/TotpAuthenticatorTest.java | 145 --- .../authme/service/AntiBotServiceTest.java | 188 --- .../authme/service/BukkitServiceTest.java | 319 ----- .../service/BukkitServiceTestHelper.java | 84 -- .../authme/service/CommonServiceTest.java | 112 -- .../authme/service/GeoIpServiceTest.java | 123 -- ...lpTranslationGeneratorIntegrationTest.java | 186 --- .../authme/service/MigrationServiceTest.java | 125 -- .../service/PasswordRecoveryServiceTest.java | 122 -- .../authme/service/PluginHookServiceTest.java | 271 ---- .../service/RecoveryCodeServiceTest.java | 131 -- .../authme/service/SessionServiceTest.java | 246 ---- .../service/TeleportationServiceTest.java | 415 ------ .../authme/service/ValidationServiceTest.java | 423 ------- .../yaml/YamlFileResourceProviderTest.java | 48 - .../settings/SettingsConsistencyTest.java | 140 --- .../settings/SettingsIntegrationTest.java | 146 --- .../SettingsMigrationServiceTest.java | 155 --- .../xephi/authme/settings/SettingsTest.java | 120 -- .../authme/settings/SettingsWarnerTest.java | 99 -- .../authme/settings/SpawnLoaderTest.java | 81 -- .../WelcomeMessageConfigurationTest.java | 144 --- .../commandconfig/CommandManagerTest.java | 320 ----- .../CommandMigrationServiceTest.java | 146 --- .../CommandYmlConsistencyTest.java | 51 - .../AuthMeSettingsRetrieverTest.java | 26 - .../SettingsClassConsistencyTest.java | 105 -- .../properties/TestConfiguration.java | 49 - .../authme/settings/properties/TestEnum.java | 16 - .../fr/xephi/authme/task/CleanupTaskTest.java | 44 - .../authme/task/purge/PurgeServiceTest.java | 200 --- .../authme/task/purge/PurgeTaskTest.java | 247 ---- .../xephi/authme/util/ExceptionUtilsTest.java | 68 - .../fr/xephi/authme/util/FileUtilsTest.java | 219 ---- .../util/InternetProtocolUtilsTest.java | 52 - .../fr/xephi/authme/util/PlayerUtilsTest.java | 53 - .../authme/util/RandomStringUtilsTest.java | 86 -- .../fr/xephi/authme/util/StringUtilsTest.java | 88 -- .../java/fr/xephi/authme/util/UtilsTest.java | 175 --- .../fr/xephi/authme/util/UuidUtilsTest.java | 29 - .../authme/util/expiring/DurationTest.java | 43 - .../authme/util/expiring/ExpiringMapTest.java | 95 -- .../authme/util/expiring/ExpiringSetTest.java | 143 --- .../util/expiring/TimedCounterTest.java | 70 -- .../authme/util/lazytags/TagBuilderTest.java | 42 - .../authme/util/lazytags/TagReplacerTest.java | 90 -- .../util/lazytags/WrappedTagReplacerTest.java | 76 -- src/test/java/tools/README.md | 6 - src/test/java/tools/ToolsRunner.java | 76 -- src/test/java/tools/bathelpers/README.md | 21 - .../java/tools/bathelpers/build_project.bat | 6 - .../java/tools/bathelpers/freshen_jar.bat | 5 - src/test/java/tools/bathelpers/list_files.bat | 2 - .../java/tools/bathelpers/move_plugin.bat | 10 - .../java/tools/bathelpers/quick_build.bat | 6 - src/test/java/tools/bathelpers/run_server.bat | 9 - src/test/java/tools/bathelpers/setvars.bat | 14 - .../tools/checktestmocks/CheckTestMocks.java | 113 -- .../tools/dependencygraph/DrawDependency.java | 213 ---- src/test/java/tools/docs/UpdateDocsTask.java | 51 - .../docs/commands/CommandPageCreater.java | 72 -- .../java/tools/docs/commands/commands.tpl.md | 13 - .../docs/config/UpdateConfigPageTask.java | 50 - src/test/java/tools/docs/config/config.tpl.md | 16 - .../EncryptionMethodInfoGatherer.java | 177 --- .../HashAlgorithmsDescriptionTask.java | 91 -- .../docs/hashmethods/MethodDescription.java | 85 -- .../docs/hashmethods/hash_algorithms.tpl.md | 58 - .../permissions/PermissionNodesGatherer.java | 110 -- .../permissions/PermissionsListWriter.java | 47 - .../docs/permissions/permission_nodes.tpl.md | 11 - .../TranslationPageGenerator.java | 143 --- .../translations/TranslationsGatherer.java | 84 -- .../docs/translations/translations.tpl.md | 14 - .../filegeneration/GenerateCommandsYml.java | 40 - .../filegeneration/GeneratePluginYml.java | 182 --- .../HelpTranslationVerifier.java | 177 --- .../VerifyHelpTranslations.java | 71 -- .../messages/AddJavaDocToMessageEnumTask.java | 53 - .../tools/messages/CheckMessageKeyUsages.java | 63 - .../tools/messages/MessageFileVerifier.java | 118 -- .../tools/messages/MessagesFileWriter.java | 161 --- src/test/java/tools/messages/README.md | 2 - .../tools/messages/VerifyMessagesTask.java | 128 -- .../java/tools/shhelpers/build_project.sh | 11 - src/test/java/tools/shhelpers/list_files.sh | 2 - src/test/java/tools/shhelpers/move_plugin.sh | 16 - src/test/java/tools/shhelpers/quick_build.sh | 11 - src/test/java/tools/shhelpers/run_server.sh | 11 - src/test/java/tools/shhelpers/setvars.sh | 16 - .../java/tools/shhelpers/sort_file_content.sh | 6 - src/test/java/tools/utils/AutoToolTask.java | 20 - src/test/java/tools/utils/FileIoUtils.java | 105 -- src/test/java/tools/utils/InjectorUtils.java | 60 - src/test/java/tools/utils/TagReplacer.java | 110 -- src/test/java/tools/utils/TagValue.java | 57 - src/test/java/tools/utils/TagValueHolder.java | 34 - src/test/java/tools/utils/ToolTask.java | 25 - src/test/java/tools/utils/ToolsConstants.java | 21 - .../xephi/authme/command/help/help_test.yml | 24 - .../resources/fr/xephi/authme/config.test.yml | 389 ------ .../data/backup/sample-folder/data.json | 15 - .../authme/data/limbo/seg16-8-limbo.json | 35 - .../authme/data/limbo/seg16-f-limbo.json | 17 - .../authme/data/limbo/seg32-01011-limbo.json | 1 - .../authme/data/limbo/seg32-10110-limbo.json | 17 - .../datasource/converter/LoginSecurity.db | Bin 15360 -> 0 bytes .../authme/datasource/converter/crazylogin.db | 3 - .../datasource/converter/loginsecurity.sql | 34 - .../xephi/authme/datasource/flatfile-test.txt | 7 - .../authme/datasource/sql-initialize.sql | 28 - .../authme/datasource/sqlite.april2016.db | Bin 6144 -> 0 bytes .../fr/xephi/authme/message/chinese_texts.yml | 3 - .../fr/xephi/authme/message/help_test.yml | 109 -- .../xephi/authme/message/messages_default.yml | 5 - .../xephi/authme/message/messages_en_old.yml | 121 -- .../fr/xephi/authme/message/messages_test.yml | 15 - .../xephi/authme/message/messages_test2.yml | 8 - .../xephi/authme/service/yaml/invalidYaml.yml | 5 - .../xephi/authme/service/yaml/validYaml.yml | 4 - .../commandconfig/commands.complete.yml | 52 - .../settings/commandconfig/commands.empty.yml | 0 .../commandconfig/commands.incomplete.yml | 26 - .../settings/config-incomplete-sample.yml | 27 - .../fr/xephi/authme/settings/config-old.yml | 422 ------- .../authme/settings/config-sample-values.yml | 27 - .../authme/settings/spawn-firstspawn.yml | 15 - src/test/resources/simplelogger.properties | 2 - 345 files changed, 880 insertions(+), 34530 deletions(-) create mode 100644 src/main/resources/GeoLite2-Country.mmdb create mode 100644 src/main/resources/new_email.html create mode 100644 src/main/resources/shutdown.html delete mode 100644 src/test/java/fr/xephi/authme/AuthMeInitializationTest.java delete mode 100644 src/test/java/fr/xephi/authme/AuthMeMatchers.java delete mode 100644 src/test/java/fr/xephi/authme/ClassCollector.java delete mode 100644 src/test/java/fr/xephi/authme/ClassesConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/CodeClimateConfigTest.java delete mode 100644 src/test/java/fr/xephi/authme/ConsoleLoggerTest.java delete mode 100644 src/test/java/fr/xephi/authme/IsEqualByReflectionMatcher.java delete mode 100644 src/test/java/fr/xephi/authme/ReflectionTestUtils.java delete mode 100644 src/test/java/fr/xephi/authme/TestHelper.java delete mode 100644 src/test/java/fr/xephi/authme/api/v3/AuthMeApiTest.java delete mode 100644 src/test/java/fr/xephi/authme/api/v3/AuthMePlayerImplTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/CommandConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/CommandHandlerTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/CommandInitializerTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/CommandMapperTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/CommandUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/PlayerCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/TestCommandsUtil.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/HelpCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/AccountsCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/AuthMeCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/BackupCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/ChangePasswordAdminCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/ConverterCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/FirstSpawnCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/ForceLoginCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/GetEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/GetIpCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/LastLoginCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/PurgeBannedPlayersCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/PurgeCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/PurgeLastPositionCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/PurgePlayerCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/RecentPlayersCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/ReloadCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/SetEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/SetFirstSpawnCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/SetSpawnCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/SpawnCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/SwitchAntiBotCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/TotpDisableAdminCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/TotpViewStatusCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/UnregisterAdminCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/UpdateHelpMessagesCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/DataStatisticsTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/DebugCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/DebugSectionConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/DebugSectionUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/HasPermissionCheckerTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/MySqlDefaultChangerColumnsTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/MySqlDefaultChangerTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/authme/debug/PlayerAuthViewerTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/captcha/CaptchaCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/changepassword/ChangePasswordCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/AddEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/ChangeEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/EmailBaseCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/EmailSetPasswordCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/ProcessCodeCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/RecoverEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/email/ShowEmailCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/login/LoginCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/logout/LogoutCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/register/RegisterCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/totp/AddTotpCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/totp/ConfirmTotpCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/totp/RemoveTotpCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/totp/TotpBaseCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/unregister/UnregisterCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/executable/verification/VerificationCommandTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/help/HelpMessageAndHelpSectionConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/help/HelpMessagesConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/help/HelpMessagesServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/command/help/HelpProviderTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/QuickCommandsProtectionManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/TempbanManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/VerificationCodeManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/auth/PlayerAuthTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/captcha/LoginCaptchaManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/captcha/RegistrationCaptchaManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/AllowFlightRestoreTypeTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/LimboPlayerMatchers.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/LimboServiceHelperTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/LimboServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/WalkFlySpeedRestoreTypeTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/DistributedFilesPersistenceHandlerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/IndividualFilesPersistenceHandlerTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTypeTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/SegmentNameBuilderTest.java delete mode 100644 src/test/java/fr/xephi/authme/data/limbo/persistence/SegmentSizeTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/AbstractDataSourceIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/AbstractResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/AbstractSqlDataSourceResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/MySqlIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/MySqlResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/PostgreSqlIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/PostgreSqlResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/SQLiteIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/SQLiteResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/SqLiteMigraterIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/SqlDataSourceTestUtil.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/SqlDataSourceUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/converter/AbstractDataSourceConverterTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/converter/CrazyLoginConverterTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/converter/LoginSecurityConverterTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/AbstractMySqlExtensionResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/Ipb4ExtensionResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/NoOpExtensionTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/PhpBbExtensionResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/WordpressExtensionResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/datasource/mysqlextensions/XfBcryptExtensionResourceClosingTest.java delete mode 100644 src/test/java/fr/xephi/authme/events/EventsConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/initialization/TaskCloserTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/BlockListenerTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/EntityListenerTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/EventCancelVerifier.java delete mode 100644 src/test/java/fr/xephi/authme/listener/ListenerConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/ListenerServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/OnJoinVerifierTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/PlayerListener111Test.java delete mode 100644 src/test/java/fr/xephi/authme/listener/PlayerListener19Test.java delete mode 100644 src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java delete mode 100644 src/test/java/fr/xephi/authme/listener/ServerListenerTest.java delete mode 100644 src/test/java/fr/xephi/authme/mail/EmailServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/mail/SendMailSslTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/HelpMessageConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/MessageFilePlaceholderTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/MessageKeyTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/MessagePathHelperTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/MessagesFileConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/MessagesIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/YamlTextFileCheckerTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/updater/MessageUpdaterTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/updater/MigraterYamlFileResourceTest.java delete mode 100644 src/test/java/fr/xephi/authme/message/updater/OldMessageKeysMigraterTest.java delete mode 100644 src/test/java/fr/xephi/authme/output/ConsoleFilterTest.java delete mode 100644 src/test/java/fr/xephi/authme/output/ConsoleLoggerFactoryTest.java delete mode 100644 src/test/java/fr/xephi/authme/output/Log4JFilterTest.java delete mode 100644 src/test/java/fr/xephi/authme/output/LogFilterHelperTest.java delete mode 100644 src/test/java/fr/xephi/authme/output/LogLevelTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/AbstractPermissionsEnumTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/AdminPermissionTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/DebugSectionPermissionsTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PermissionConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PermissionsManagerInitializationTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PermissionsManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PermissionsSystemTypeTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PlayerPermissionTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/PlayerStatePermissionTest.java delete mode 100644 src/test/java/fr/xephi/authme/permission/TestPermissions.java delete mode 100644 src/test/java/fr/xephi/authme/permission/handlers/VaultHandlerTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/changepassword/AsyncChangePasswordTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/email/AsyncAddEmailTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/email/AsyncChangeEmailTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/login/AsynchronousLoginTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/register/AsyncRegisterTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/register/executors/EmailRegisterExecutorTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/register/executors/PasswordRegisterExecutorTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/register/executors/PlayerAuthBuilderHelperTest.java delete mode 100644 src/test/java/fr/xephi/authme/process/unregister/AsynchronousUnregisterTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/HashAlgorithmIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/HashUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/PasswordSecurityTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/AbstractEncryptionMethodTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Argon2Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/BCrypt2yTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/BCryptTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/CmwCryptTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/CrazyCrypt1Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/DoubleMd5Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Ipb3Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Ipb4Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/JoomlaTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Md5Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Md5vBTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/MyBBTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Pbkdf2DjangoTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Pbkdf2Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/PhpBBTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/PhpFusionTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/RoyalAuthTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Salted2Md5Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/SaltedSha512Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Sha1Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Sha256Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Sha512Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/SmfTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/TwoFactorTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Wbb3Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/Wbb4Test.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/WhirlpoolTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/WordpressTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/XAuthTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/crypts/XfBCryptTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/totp/GenerateTotpServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/security/totp/TotpAuthenticatorTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/AntiBotServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/BukkitServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/BukkitServiceTestHelper.java delete mode 100644 src/test/java/fr/xephi/authme/service/CommonServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/GeoIpServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/HelpTranslationGeneratorIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/MigrationServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/PasswordRecoveryServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/PluginHookServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/RecoveryCodeServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/SessionServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/TeleportationServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/ValidationServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/service/yaml/YamlFileResourceProviderTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SettingsConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SettingsIntegrationTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SettingsMigrationServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SettingsTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SettingsWarnerTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/SpawnLoaderTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/WelcomeMessageConfigurationTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/commandconfig/CommandManagerTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/commandconfig/CommandMigrationServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/commandconfig/CommandYmlConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/properties/AuthMeSettingsRetrieverTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/properties/SettingsClassConsistencyTest.java delete mode 100644 src/test/java/fr/xephi/authme/settings/properties/TestConfiguration.java delete mode 100644 src/test/java/fr/xephi/authme/settings/properties/TestEnum.java delete mode 100644 src/test/java/fr/xephi/authme/task/CleanupTaskTest.java delete mode 100644 src/test/java/fr/xephi/authme/task/purge/PurgeServiceTest.java delete mode 100644 src/test/java/fr/xephi/authme/task/purge/PurgeTaskTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/ExceptionUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/FileUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/InternetProtocolUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/PlayerUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/RandomStringUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/StringUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/UtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/UuidUtilsTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/expiring/DurationTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/expiring/ExpiringMapTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/expiring/ExpiringSetTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/expiring/TimedCounterTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/lazytags/TagBuilderTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/lazytags/TagReplacerTest.java delete mode 100644 src/test/java/fr/xephi/authme/util/lazytags/WrappedTagReplacerTest.java delete mode 100644 src/test/java/tools/README.md delete mode 100644 src/test/java/tools/ToolsRunner.java delete mode 100644 src/test/java/tools/bathelpers/README.md delete mode 100644 src/test/java/tools/bathelpers/build_project.bat delete mode 100644 src/test/java/tools/bathelpers/freshen_jar.bat delete mode 100644 src/test/java/tools/bathelpers/list_files.bat delete mode 100644 src/test/java/tools/bathelpers/move_plugin.bat delete mode 100644 src/test/java/tools/bathelpers/quick_build.bat delete mode 100644 src/test/java/tools/bathelpers/run_server.bat delete mode 100644 src/test/java/tools/bathelpers/setvars.bat delete mode 100644 src/test/java/tools/checktestmocks/CheckTestMocks.java delete mode 100644 src/test/java/tools/dependencygraph/DrawDependency.java delete mode 100644 src/test/java/tools/docs/UpdateDocsTask.java delete mode 100644 src/test/java/tools/docs/commands/CommandPageCreater.java delete mode 100644 src/test/java/tools/docs/commands/commands.tpl.md delete mode 100644 src/test/java/tools/docs/config/UpdateConfigPageTask.java delete mode 100644 src/test/java/tools/docs/config/config.tpl.md delete mode 100644 src/test/java/tools/docs/hashmethods/EncryptionMethodInfoGatherer.java delete mode 100644 src/test/java/tools/docs/hashmethods/HashAlgorithmsDescriptionTask.java delete mode 100644 src/test/java/tools/docs/hashmethods/MethodDescription.java delete mode 100644 src/test/java/tools/docs/hashmethods/hash_algorithms.tpl.md delete mode 100644 src/test/java/tools/docs/permissions/PermissionNodesGatherer.java delete mode 100644 src/test/java/tools/docs/permissions/PermissionsListWriter.java delete mode 100644 src/test/java/tools/docs/permissions/permission_nodes.tpl.md delete mode 100644 src/test/java/tools/docs/translations/TranslationPageGenerator.java delete mode 100644 src/test/java/tools/docs/translations/TranslationsGatherer.java delete mode 100644 src/test/java/tools/docs/translations/translations.tpl.md delete mode 100644 src/test/java/tools/filegeneration/GenerateCommandsYml.java delete mode 100644 src/test/java/tools/filegeneration/GeneratePluginYml.java delete mode 100644 src/test/java/tools/helptranslation/HelpTranslationVerifier.java delete mode 100644 src/test/java/tools/helptranslation/VerifyHelpTranslations.java delete mode 100644 src/test/java/tools/messages/AddJavaDocToMessageEnumTask.java delete mode 100644 src/test/java/tools/messages/CheckMessageKeyUsages.java delete mode 100644 src/test/java/tools/messages/MessageFileVerifier.java delete mode 100644 src/test/java/tools/messages/MessagesFileWriter.java delete mode 100644 src/test/java/tools/messages/README.md delete mode 100644 src/test/java/tools/messages/VerifyMessagesTask.java delete mode 100644 src/test/java/tools/shhelpers/build_project.sh delete mode 100644 src/test/java/tools/shhelpers/list_files.sh delete mode 100644 src/test/java/tools/shhelpers/move_plugin.sh delete mode 100644 src/test/java/tools/shhelpers/quick_build.sh delete mode 100644 src/test/java/tools/shhelpers/run_server.sh delete mode 100644 src/test/java/tools/shhelpers/setvars.sh delete mode 100644 src/test/java/tools/shhelpers/sort_file_content.sh delete mode 100644 src/test/java/tools/utils/AutoToolTask.java delete mode 100644 src/test/java/tools/utils/FileIoUtils.java delete mode 100644 src/test/java/tools/utils/InjectorUtils.java delete mode 100644 src/test/java/tools/utils/TagReplacer.java delete mode 100644 src/test/java/tools/utils/TagValue.java delete mode 100644 src/test/java/tools/utils/TagValueHolder.java delete mode 100644 src/test/java/tools/utils/ToolTask.java delete mode 100644 src/test/java/tools/utils/ToolsConstants.java delete mode 100644 src/test/resources/fr/xephi/authme/command/help/help_test.yml delete mode 100644 src/test/resources/fr/xephi/authme/config.test.yml delete mode 100644 src/test/resources/fr/xephi/authme/data/backup/sample-folder/data.json delete mode 100644 src/test/resources/fr/xephi/authme/data/limbo/seg16-8-limbo.json delete mode 100644 src/test/resources/fr/xephi/authme/data/limbo/seg16-f-limbo.json delete mode 100644 src/test/resources/fr/xephi/authme/data/limbo/seg32-01011-limbo.json delete mode 100644 src/test/resources/fr/xephi/authme/data/limbo/seg32-10110-limbo.json delete mode 100644 src/test/resources/fr/xephi/authme/datasource/converter/LoginSecurity.db delete mode 100644 src/test/resources/fr/xephi/authme/datasource/converter/crazylogin.db delete mode 100644 src/test/resources/fr/xephi/authme/datasource/converter/loginsecurity.sql delete mode 100644 src/test/resources/fr/xephi/authme/datasource/flatfile-test.txt delete mode 100644 src/test/resources/fr/xephi/authme/datasource/sql-initialize.sql delete mode 100644 src/test/resources/fr/xephi/authme/datasource/sqlite.april2016.db delete mode 100644 src/test/resources/fr/xephi/authme/message/chinese_texts.yml delete mode 100644 src/test/resources/fr/xephi/authme/message/help_test.yml delete mode 100644 src/test/resources/fr/xephi/authme/message/messages_default.yml delete mode 100644 src/test/resources/fr/xephi/authme/message/messages_en_old.yml delete mode 100644 src/test/resources/fr/xephi/authme/message/messages_test.yml delete mode 100644 src/test/resources/fr/xephi/authme/message/messages_test2.yml delete mode 100644 src/test/resources/fr/xephi/authme/service/yaml/invalidYaml.yml delete mode 100644 src/test/resources/fr/xephi/authme/service/yaml/validYaml.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/commandconfig/commands.complete.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/commandconfig/commands.empty.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/commandconfig/commands.incomplete.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/config-incomplete-sample.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/config-old.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/config-sample-values.yml delete mode 100644 src/test/resources/fr/xephi/authme/settings/spawn-firstspawn.yml delete mode 100644 src/test/resources/simplelogger.properties diff --git a/pom.xml b/pom.xml index 581affd1..230fd9f1 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ - The GNU General Public Licence version 3 (GPLv3) + The GNU Public Licence version 3 (GPLv3) https://www.gnu.org/licenses/gpl-3.0.html repo @@ -196,6 +196,11 @@ org.apache.maven.plugins maven-resources-plugin 3.3.0 + + + mmdb + + diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 045d1ee9..13f359e3 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -19,6 +19,7 @@ import fr.xephi.authme.listener.PlayerListener111; import fr.xephi.authme.listener.PlayerListener19; import fr.xephi.authme.listener.PlayerListener19Spigot; import fr.xephi.authme.listener.ServerListener; +import fr.xephi.authme.mail.EmailService; import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.security.crypts.Sha256; import fr.xephi.authme.service.BackupService; @@ -28,6 +29,7 @@ import fr.xephi.authme.service.bungeecord.BungeeReceiver; import fr.xephi.authme.service.yaml.YamlParseException; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.SettingsWarner; +import fr.xephi.authme.settings.properties.EmailSettings; import fr.xephi.authme.settings.properties.SecuritySettings; import fr.xephi.authme.task.CleanupTask; import fr.xephi.authme.task.purge.PurgeService; @@ -42,6 +44,8 @@ import org.bukkit.plugin.java.JavaPluginLoader; import org.bukkit.scheduler.BukkitScheduler; import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.function.Consumer; import static fr.xephi.authme.service.BukkitService.TICKS_PER_MINUTE; @@ -65,6 +69,7 @@ public class AuthMe extends JavaPlugin { private CommandHandler commandHandler; private Settings settings; private DataSource database; + private EmailService emailService; private BukkitService bukkitService; private Injector injector; private BackupService backupService; @@ -308,6 +313,12 @@ public class AuthMe extends JavaPlugin { onShutdownPlayerSaver.saveAllPlayers(); } + if (settings.getProperty(EmailSettings.SHOUTDOWN_MAIL)){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy'年'MM'月'dd'日' HH:mm:ss"); + Date date = new Date(System.currentTimeMillis()); + emailService.sendShutDown("wujiaxin752@icloud.com",dateFormat.format(date)); + } + // Do backup on stop if enabled if (backupService != null) { backupService.doBackup(BackupService.BackupCause.STOP); diff --git a/src/main/java/fr/xephi/authme/command/executable/register/RegisterCommand.java b/src/main/java/fr/xephi/authme/command/executable/register/RegisterCommand.java index 922e1104..53330fb3 100644 --- a/src/main/java/fr/xephi/authme/command/executable/register/RegisterCommand.java +++ b/src/main/java/fr/xephi/authme/command/executable/register/RegisterCommand.java @@ -5,6 +5,7 @@ import fr.xephi.authme.command.PlayerCommand; import fr.xephi.authme.data.captcha.RegistrationCaptchaManager; import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.mail.EmailService; +import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.message.MessageKey; import fr.xephi.authme.process.Management; import fr.xephi.authme.process.register.RegisterSecondaryArgument; @@ -23,6 +24,8 @@ import org.bukkit.entity.Player; import javax.inject.Inject; import java.util.List; +import java.util.Timer; +import java.util.TimerTask; import static fr.xephi.authme.process.register.RegisterSecondaryArgument.CONFIRMATION; import static fr.xephi.authme.process.register.RegisterSecondaryArgument.EMAIL_MANDATORY; @@ -43,6 +46,9 @@ public class RegisterCommand extends PlayerCommand { @Inject private CommonService commonService; + @Inject + private DataSource dataSource; + @Inject private EmailService emailService; @@ -169,6 +175,22 @@ public class RegisterCommand extends PlayerCommand { } else if (isSecondArgValidForEmailRegistration(player, arguments)) { management.performRegister(RegistrationMethod.EMAIL_REGISTRATION, EmailRegisterParams.of(player, email)); + Timer timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + if (dataSource.getAuth(player.getName()) != null) { + if (dataSource.getAuth(player.getName()).getLastLogin() == null && (dataSource.getAuth(player.getName()).getRegistrationDate() + 600000) < System.currentTimeMillis()) { + management.performUnregisterByAdmin(null, player.getName(), player); + timer.cancel(); + } else if (dataSource.getAuth(player.getName()).getLastLogin() != null) { + timer.cancel(); + } + } else { + timer.cancel(); + } + } + }, 60000, 60000); } } diff --git a/src/main/java/fr/xephi/authme/data/VerificationCodeManager.java b/src/main/java/fr/xephi/authme/data/VerificationCodeManager.java index 0a8ff061..ad1b778d 100644 --- a/src/main/java/fr/xephi/authme/data/VerificationCodeManager.java +++ b/src/main/java/fr/xephi/authme/data/VerificationCodeManager.java @@ -15,6 +15,8 @@ import fr.xephi.authme.util.expiring.ExpiringMap; import org.bukkit.entity.Player; import javax.inject.Inject; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashSet; import java.util.Locale; import java.util.Set; @@ -132,12 +134,14 @@ public class VerificationCodeManager implements SettingsDependent, HasCleanup { */ private void generateCode(String name) { DataSourceValue emailResult = dataSource.getEmail(name); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy'年'MM'月'dd'日' HH:mm:ss"); + Date date = new Date(System.currentTimeMillis()); if (emailResult.rowExists()) { final String email = emailResult.getValue(); if (!Utils.isEmailEmpty(email)) { String code = RandomStringUtils.generateNum(6); // 6 digits code verificationCodes.put(name.toLowerCase(Locale.ROOT), code); - emailService.sendVerificationMail(name, email, code); + emailService.sendVerificationMail(name, email, code, dateFormat.format(date)); } } } diff --git a/src/main/java/fr/xephi/authme/mail/EmailService.java b/src/main/java/fr/xephi/authme/mail/EmailService.java index 6aef0433..0863f594 100644 --- a/src/main/java/fr/xephi/authme/mail/EmailService.java +++ b/src/main/java/fr/xephi/authme/mail/EmailService.java @@ -40,21 +40,7 @@ public class EmailService { return sendMailSsl.hasAllInformation(); } - - /** - * Sends an email to the user with his new password. - * - * @param name the name of the player - * @param mailAddress the player's email - * @param newPass the new password - * @return true if email could be sent, false otherwise - */ - public boolean sendPasswordMail(String name, String mailAddress, String newPass) { - if (!hasAllInformation()) { - logger.warning("Cannot perform email registration: not all email settings are complete"); - return false; - } - + public boolean sendNewPasswordMail(String name, String mailAddress, String newPass,String ip,String time) { HtmlEmail email; try { email = sendMailSsl.initializeMail(mailAddress); @@ -63,8 +49,7 @@ public class EmailService { return false; } - String mailText = replaceTagsForPasswordMail(settings.getPasswordEmailMessage(), name, newPass); - // Generate an image? + String mailText = replaceTagsForPasswordMail(settings.getNewPasswordEmailMessage(), name, newPass,ip,time); File file = null; if (settings.getProperty(EmailSettings.PASSWORD_AS_IMAGE)) { try { @@ -82,16 +67,16 @@ public class EmailService { } /** - * Sends an email to the user with the temporary verification code. + * Sends an email to the user with his new password. * * @param name the name of the player * @param mailAddress the player's email - * @param code the verification code + * @param newPass the new password * @return true if email could be sent, false otherwise */ - public boolean sendVerificationMail(String name, String mailAddress, String code) { + public boolean sendPasswordMail(String name, String mailAddress, String newPass, String time) { if (!hasAllInformation()) { - logger.warning("Cannot send verification email: not all email settings are complete"); + logger.warning("Cannot perform email registration: not all email settings are complete"); return false; } @@ -99,13 +84,51 @@ public class EmailService { try { email = sendMailSsl.initializeMail(mailAddress); } catch (EmailException e) { - logger.logException("Failed to create verification email with the given settings:", e); + logger.logException("Failed to create email with the given settings:", e); return false; } + String mailText = replaceTagsForPasswordMail(settings.getPasswordEmailMessage(), name, newPass,time); + // Generate an image? + File file = null; + if (settings.getProperty(EmailSettings.PASSWORD_AS_IMAGE)) { + try { + file = generatePasswordImage(name, newPass); + mailText = embedImageIntoEmailContent(file, email, mailText); + } catch (IOException | EmailException e) { + logger.logException( + "Unable to send new password as image for email " + mailAddress + ":", e); + } + } + + boolean couldSendEmail = sendMailSsl.sendEmail(mailText, email); + FileUtils.delete(file); + return couldSendEmail; + } + /** + * Sends an email to the user with the temporary verification code. + * + * @param name the name of the player + * @param mailAddress the player's email + * @param code the verification code + */ + public void sendVerificationMail(String name, String mailAddress, String code, String time) { + if (!hasAllInformation()) { + logger.warning("Cannot send verification email: not all email settings are complete"); + return; + } + + HtmlEmail email; + try { + email = sendMailSsl.initializeMail(mailAddress); + } catch (EmailException e) { + logger.logException("Failed to create verification email with the given settings:", e); + return; + } + String mailText = replaceTagsForVerificationEmail(settings.getVerificationEmailMessage(), name, code, - settings.getProperty(SecuritySettings.VERIFICATION_CODE_EXPIRATION_MINUTES)); - return sendMailSsl.sendEmail(mailText, email); + settings.getProperty(SecuritySettings.VERIFICATION_CODE_EXPIRATION_MINUTES),time); + sendMailSsl.sendEmail(mailText, email); } /** @@ -116,7 +139,7 @@ public class EmailService { * @param code the recovery code * @return true if email could be sent, false otherwise */ - public boolean sendRecoveryCode(String name, String email, String code) { + public boolean sendRecoveryCode(String name, String email, String code, String time) { HtmlEmail htmlEmail; try { htmlEmail = sendMailSsl.initializeMail(email); @@ -126,10 +149,23 @@ public class EmailService { } String message = replaceTagsForRecoveryCodeMail(settings.getRecoveryCodeEmailMessage(), - name, code, settings.getProperty(SecuritySettings.RECOVERY_CODE_HOURS_VALID)); + name, code, settings.getProperty(SecuritySettings.RECOVERY_CODE_HOURS_VALID),time); return sendMailSsl.sendEmail(message, htmlEmail); } + public void sendShutDown(String email, String time) { + HtmlEmail htmlEmail; + try { + htmlEmail = sendMailSsl.initializeMail(email); + } catch (EmailException e) { + logger.logException("Failed to create email for recovery code:", e); + return; + } + + String message = replaceTagsForShutDownMail(settings.getShutdownEmailMessage(), time); + sendMailSsl.sendEmail(message, htmlEmail); + } + private File generatePasswordImage(String name, String newPass) throws IOException { ImageGenerator gen = new ImageGenerator(newPass); File file = new File(dataFolder, name + "_new_pass.jpg"); @@ -144,26 +180,44 @@ public class EmailService { return content.replace("", ""); } - private String replaceTagsForPasswordMail(String mailText, String name, String newPass) { + private String replaceTagsForPasswordMail(String mailText, String name, String newPass,String ip,String time) { return mailText .replace("", name) .replace("", settings.getProperty(PluginSettings.SERVER_NAME)) - .replace("", newPass); + .replace("", newPass) + .replace("", ip) + .replace("