Commit Graph
100 Commits
Author SHA1 Message Date
ljacquandGitHub e50a1e26e4 Update ISSUE_TEMPLATE.MD 2018-01-30 22:15:07 +01:00
ljacqu 6f2c586441 Test initialization of permission handlers in PermissionManager 2018-01-21 22:11:47 +01:00
ljacqu acaaf6fe41 Minor dependency updates
- JaCoCo 0.8.0 brings some interesting exclusions in code coverage, which means we might be able to drop TestHelper#validateHasOnlyPrivateEmptyConstructor soon
2018-01-21 21:01:23 +01:00
ljacqu 847991b658 #1474 Don't log /email changepassword command (exposes password) 2018-01-21 19:06:51 +01:00
ljacqu 761ee2f05b #1035 Migrate other accounts config from config.yml to commands.yml 2018-01-21 18:58:20 +01:00
ljacquandGitHub 1e16f251ef Merge pull request #1477 from AuthMe/1035-handle-alt-accounts-in-commandsYml
1035 handle alt accounts in commands yml
2018-01-17 21:49:29 +01:00
ljacqu fe4ea6d22b Remove migration of commands from config.yml to commands.yml
- Migration was shipped with the 5.2 release and is now becoming harder to maintain; since it's quite old we drop it
2018-01-17 21:42:17 +01:00
ljacqu 7f77f30439 Minor: Fix forgotten param documentation in JavaDoc 2018-01-16 20:40:21 +01:00
ljacqu f19f8502d8 #1035 Forced commands: add more tests, rename account constraints, update commands.yml comments 2018-01-16 20:32:17 +01:00
ljacqu 3c0236e15e #1035 Fix handling of new login command constraints
- Incorporate ConfigMe fix
- Various fixes in the integration
2018-01-15 22:39:29 +01:00
ljacqu 8dbba1dc93 #1035 Add optional constraints to onLogin and onFirstLogin commands for number of alt accounts
- Extend Command to add specific constraints
- Currently doesn't work because of missing ConfigMe support
2018-01-14 12:23:04 +01:00
ljacqu 1cd5a6acce #1472 Add zhtw translation changes by @haer0248 2018-01-14 11:16:23 +01:00
ljacqu d9c1af4311 #1454 Run other accounts command in sync mode 2018-01-08 23:08:37 +01:00
ljacqu a29738e2a8 #1460 Fix null handling in recent players command
- Last login might be null
2018-01-06 20:26:07 +01:00
ljacqu ea87075cd2 #930 Add specific message for register captcha success 2018-01-06 20:01:45 +01:00
ljacqu 9afd8679e9 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 930-captcha-for-register 2018-01-06 19:04:14 +01:00
ljacqu 23c246748a #930 Register captcha: avoid circular dependency by handling limbo message in captcha command
- Set limbo message in captcha command (as is done for login captcha)
- Add clarifying comments to captcha command
- Remove classes handling circular dependencies
2018-01-06 19:04:03 +01:00
ljacqu 94cf310d5b Minor: fix code climate config test 2018-01-06 18:06:30 +01:00
ljacqu 99ef874327 Update CodeClimate configuration to new structure 2018-01-06 11:48:27 +01:00
ljacqu 84b376d2a5 #930 Change captcha storage to change code internally upon failure
- Within CaptchaStorage#checkCode, a player's captcha code is overridden with a new one on failure or cleared on success
- Fixes inconsistencies in the retrieval / regeneration of codes
2018-01-06 02:31:26 +01:00
ljacqu 180bbbf0be #930 Refactor captcha managers to have a crude captcha storage class instead of inheritance
- Remove abstract captcha manager in favor of a primitive captcha code storage (composition over inheritance)
- Supply player when checking captcha code for further usage (fixes open point from previous commit)
2018-01-05 01:26:25 +01:00
ljacqu 0494886518 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 930-captcha-for-register 2018-01-05 00:17:39 +01:00
ljacqu 7cf3f6d77b #930 Registration captcha: update message shown to player on failed captcha
- Show message with new captcha code when a captcha has failed
- Requires implementation of circular dependency handler (initial draft)
2018-01-05 00:17:22 +01:00
ljacqu c8d82a23e0 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 930-captcha-for-register 2017-12-22 21:54:58 +01:00
ljacqu 8bae71e1bd #1435 Send password recovery emails in async 2017-12-21 21:54:23 +01:00
ljacqu 1a60036592 #930 Extract common captcha functionality into abstract superclass
- Create AbstractCaptchaManager
- Add tests
2017-12-01 23:40:20 +01:00
ljacqu 33904c09e9 #930 Create registration captcha manager
- Introduce registration captcha manager, rename login captcha manager accordingly
- Integrate reg. captcha manager into /register command

Open points:
- Refactor common captcha functionality into abstract superclass
- If captcha before /register necessary, show appropriate message to player immediately
- Unit tests
2017-12-01 21:12:35 +01:00
ljacqu 67a6a42dfe Minor Javadoc fix: one "yet" is enough :) 2017-12-01 20:33:33 +01:00
ljacqu 058ac22462 Update docs 2017-12-01 19:16:49 +01:00
ljacqu c784fc7f2e #1423 Fix ignored review remarks 2017-11-29 19:43:35 +01:00
ljacqu f1c1848985 #1046 Add onFirstLogin to commands.yml
- Allow to configure commands run on player's first login (login of player with a previously null lastlogin date)
2017-11-28 21:41:30 +01:00
ljacqu 50dbbb8d87 #1254 Create command to see recently logged in players
- Create datasource method to fetch most recent players by last login date
- Add command to view last logged in players
2017-11-28 21:07:10 +01:00
ljacqu 7932c1bf90 Update to injector 1.0
- Includes Factory and SingletonStore so our custom implementation is removed
2017-11-25 21:27:18 +01:00
ljacqu 86a07771d7 Open 5.5 development iteration 2017-11-25 14:41:23 +01:00
ljacqu 6365926cf0 Fix test in AntiBotServiceTest 2017-11-23 20:06:21 +01:00
ljacqu 53f7bf155f Fix wrong check in CodeClimateConfigTest 2017-11-23 18:13:17 +01:00
ljacqu 1053440b15 Refactor util for setting BukkitService mock behavior
- Move helper methods for setting BukkitService mock behavior into their own class
- Change methods to use Mockito's answer instead of verification + argument capture -> calling the methods now belongs to the test setup (given clause) and allows the behavior to take effect more than once
2017-11-22 00:24:11 +01:00
ljacqu 4717dc148c #1413 Don't run onUnregister command in async 2017-11-21 23:48:15 +01:00
ljacqu c693901330 Merge branch '1400-phpbb-hash' of https://github.com/AuthMe/AuthMeReloaded 2017-11-04 11:32:44 +01:00
ljacqu 5c40cb3b73 Insert null email as DEFAULT so column default may take effect
Ugly implementation to fit into AuthMe 5.4. If email on PlayerAuth is null, do not supply NULL as the email value but use DEFAULT instead so that the default value is used if present in the column configuration.
2017-11-04 11:29:21 +01:00
ljacqu 7d6c61258b Fix #1401 bungeecord message sent even if disabled 2017-11-04 10:17:52 +01:00
ljacqu 80ab41ae5a #1400 Sync AuthMe's phpBB hash implementation with phpBB3's
- phpBB3 seems to favor using BCrypt $2y$ now
- Keep unsalted MD5 and phpass salted MD5 comparisons for backwards compatibility
2017-11-04 09:58:51 +01:00
ljacqu c7ba06e2b9 Fix test / use new DataSource method / add space before keywords 2017-11-03 19:57:40 +01:00
ljacqu 44a7baff9a #1350 Add option to force using the sync PlayerLoginEvent
- Introduce new configuration (taken from @sgdc3)
- Create JoiningPlayer, based on a Player object or String name, determining how permissions will be checked
2017-11-01 21:02:22 +01:00
ljacquandGitHub e3dd719b0e #792 Migrate last IP column if is NOT NULL without default value (#1385)
- Move MySQL migrations into a separate class
- Add migration for last IP column to be nullable if it has a not null constraint without a default value
2017-10-29 07:52:11 +01:00
ljacqu 2c6181d150 Add missing tests for API package 2017-10-28 23:15:53 +02:00
ljacqu b687c68d46 Create test for HelpTranslationGenerator 2017-10-28 19:36:35 +02:00
ljacquandGitHub 8127d70058 Merge pull request #1386 from AuthMe/1367-mysql-notNull-toggle
Improve MySQL not null toggle / authme debug commands output
2017-10-28 18:49:23 +02:00
ljacqu 20ca4f9dc9 #1368 Improve the look of /authme debug
- Add a colored title for each command execution within /authme debug
- Fit more texts on one line
2017-10-28 17:19:47 +02:00
ljacqu c6fbc1187f #1367 MySQL not null changer: List 'not null' and default values separately
- Check not only for NOT NULL constraint but also if a column has a default value
- Use suffixes instead of colors only so the command is usable via console
2017-10-28 15:41:16 +02:00
ljacquandGitHub 04c5224e99 #1190 Show settings warnings on reload also (#1384)
- Extract setting checks into their own class, called on startup and reload
2017-10-28 14:15:38 +02:00
ljacqu d40109929c Fix describeHashAlgos tool task
- Handle case when Argon2 library is not loaded
- Account for hash algorithms with `null` as associated impl. class
2017-10-28 13:40:06 +02:00
ljacqu fbd8049af5 Minor: Make email check in '/email change' case-insensitive 2017-10-28 13:10:24 +02:00
ljacqu 78e2763984 Help translations: remove entry for /authme purge second argument (no longer exists)
- Remove unknown entries as found by the verifyHelpTranslations tool task
2017-10-22 09:51:32 +02:00
ljacqu 07b4309340 Readme: fix team link and mention of now deprecated hashes 2017-10-22 09:37:49 +02:00
ljacqu b211c97395 Minor: delete PlainText implementation
- It never gets used anymore and could cause security issues if we did accidentally use it as EncryptionMethod
2017-10-22 09:27:03 +02:00
ljacquandGitHub d6e2369f36 #792 Force migration of SQLite when necessary (#1371)
- Detect if a migration is necessary
- Create a backup
- Perform the migration
2017-10-22 09:16:48 +02:00
ljacqu c37c0ce436 Fix CodeClimate config test to account for new test exclusion entry 2017-10-21 19:55:56 +02:00
ljacqu 6cf2535109 Exclude test classes from Checkstyle checks 2017-10-21 19:51:48 +02:00
ljacqu 4e8deec258 Move #isNpc method to PlayerUtils
- After dropping our hook to CombatTagPlus it is not relevant for it to be in PluginHooksService anymore
2017-10-21 12:08:23 +02:00
ljacqu 58657f5d3f Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 792-add-registration-date-and-ip 2017-10-21 10:46:17 +02:00
ljacqu 1651a61063 #792 #814 Implement SQLite migration, allow last IP to be nullable in MySQL
- Old SQLite setups have the last IP column as NOT NULL but without a default value. With the new concept (where we don't set a last IP on player registration) it fails.
  - Create an /authme debug child that allows to migrate SQLite (tricky because SQLite does not support dropping or modifying columns)
  - Allow last IP column to be NOT NULL in MySQL as well (extend MySQL /authme debug child)
- Add TODO comments with follow-up issue to extend our commands with new registration IP field
2017-10-21 10:45:48 +02:00
ljacqu b5ea48085c #792 DataSource: when creating registrationDate column, set all rows to the current date 2017-10-20 21:31:58 +02:00
ljacqu a425eacf2d #792 Add missing tests / fix CodeClimate issues 2017-10-20 17:49:30 +02:00
ljacqu ea824ea3f0 #1016 Update hash algorithms list, add test that Deprecated annotation is in sync between enum and hash impl. class 2017-10-19 21:52:55 +02:00
ljacqu fca77b940f #1016 Deprecate MD5, SHA1, SHA512: no longer allowed for active use
- Deprecate unsalted hashes: if such a hash is configured, move it to the legacy hashes setting to still support the existing hashes in the database but hash all passwords from now on with our default, SHA256.
2017-10-19 21:30:19 +02:00
ljacqu 7d445217d6 Merge redundant ConsoleLogger#debug overloads
- No need to distinguish between String[] and Object[] because log4j only has methods for Object[]
2017-10-19 20:14:17 +02:00
ljacqu 90073ef95d Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 792-registration-date-and-ip
Conflicts:
	src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java
	src/main/java/fr/xephi/authme/datasource/Columns.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
	src/main/java/fr/xephi/authme/service/SessionService.java
	src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java
	src/test/java/fr/xephi/authme/service/SessionServiceTest.java
	src/test/resources/fr/xephi/authme/datasource/sql-initialize.sql
2017-10-15 23:45:41 +02:00
ljacqu ea58e20c3d #792 Include registration date into purging logic
- Take MAX(reg_date, login_date) as timestamp to compare against
- Remove the second "all" parameter to include entries with 0 registration date -> we expect registration date to always be set to the current date, so the parameter becomes obsolete
2017-10-15 18:29:01 +02:00
ljacqu 1df5308e56 #792 #814 Create command to remove NOT NULL constraints
- Create command under /authme debug that allows to change the 'nullable' status of MySQL columns (currently last date and email only)
   - We need to offer a default value for forum integrations that have a NOT NULL email column. Offering a command avoids us from force-migrating existing databases while still offering migrations in both directions
- Change in default value handling: lack of values are not handled by setting default values to the PlayerAuth anymore, and reading a default value from the database into a PlayerAuth will be translated into null by the PlayerAuth builder
- When a new database is created, email and lastlogin are now nullable and lack a default a value

Open points:
- Finish MySqlDefaultChangerTest
- Revise purging logic (#792)
- Allow to have more columns nullable (#814)
2017-10-15 12:56:13 +02:00
ljacqu 718c38aa24 Fix failing LoginSecurityConverterTest: allow tolerance for java.sql.Date to millis conversion 2017-10-14 19:51:26 +02:00
ljacqu 52d6476058 #792 Add columns for registration IP and registration date
- Add columns for reg date and IP
- Rename "ip" to "last IP"
2017-10-14 17:37:34 +02:00
ljacquandGitHub 7afda20288 #1338 Implement ''/authme messages help' to generate a fully complete help text file (#1349) 2017-10-09 07:19:38 +02:00
ljacqu 5be3f8facc #1095 Update SMF hash algorithm to generate salt as SMF does
- The salt isn't used for password hashing but SMF requires that there be one to generate the authentication cookie. This does not yet enable registration from Minecraft: SMF has other non-null columns that need to be tackled. This is a first step.
2017-10-08 22:42:37 +02:00
ljacqu f21605bbb1 Fix failing test 2017-10-08 20:08:46 +02:00
ljacqu 83d6d92a5c Minor - don't read welcome message if unused 2017-10-08 20:05:04 +02:00
ljacqu 5b1d8c6429 Use String#replace over String#replaceAll (the latter uses regex) 2017-10-08 17:32:05 +02:00
ljacqu f1bed873d5 Minor - remove code duplication 2017-10-08 01:22:25 +02:00
ljacqu 278146a206 Merge branch '1347-change-password-api' of https://github.com/AuthMe/AuthMeReloaded 2017-10-05 23:47:19 +02:00
ljacqu 867b32194b #1347 Adapt tests for new change password architecture 2017-10-05 23:44:16 +02:00
ljacqu 6fa2fdbdda #1345 Update to injector 0.4.1 2017-10-05 23:02:58 +02:00
ljacqu 37dc918ece Minor: remove commented out code 2017-09-30 17:44:34 +02:00
ljacqu bd7d84a6d2 Small docs cleanup
- NewAPI class will be removed in 5.5, not 5.4
- Add entry for "Deprecated" recommendation in hash algorithms page
- Mention possibility of wildcards for restricted user rules
2017-09-17 11:33:24 +02:00
ljacqu 649b027e5b Output used permission system in /authme debug perm 2017-09-17 09:09:11 +02:00
ljacqu acfc35283d Update translations page 2017-08-11 22:32:46 +02:00
ljacquandGitHub 3df2dd5740 CZ update by Shadowhackercz (#1310)
* Last changes for CZ language file

* Last few changes
2017-08-10 22:22:28 +02:00
ljacqu df2fe2ea89 Add missing apostrophe 2017-08-07 22:19:25 +02:00
ljacqu 30cb55dabd Update translations page 2017-08-05 14:07:02 +02:00
ljacquandGitHub a801f03cf2 Merge pull request #1296 from AuthMe/5.4-Dev
Merge 5.4 development
2017-07-29 15:25:01 +02:00
ljacqu 027d0fc775 Create TestHelper method to make Settings mock return defaults 2017-07-23 18:00:51 +02:00
ljacqu efc06ef2a6 #1255 Create resource-closing tests for the MySQL extensions
- Remove test runs with different hash algorithms in the abstract super class
- Create resource-closing tests for the new extension classes
2017-07-23 17:29:36 +02:00
ljacqu 8eceaa8cbb #1255 Simplify MySQL data source extensions
- Mostly oving the logic of getting the ID from the DB to the extensions superclass
2017-07-23 16:38:35 +02:00
ljacqu cbc794ba20 #1255 Extract forum-specific data source actions into separate extension classes 2017-07-23 14:19:28 +02:00
ljacqu 870810a230 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 5.4-Dev 2017-07-23 12:12:16 +02:00
ljacqu f88350b06d Fix Checkstyle violations
- Mostly missing Javadoc on large methods
- CommandInitializer: split command building method into multiple methods
2017-07-16 23:07:13 +02:00
ljacqu 4ac980111d Add some tests, minor Checkstyle fixes 2017-07-16 13:00:55 +02:00
ljacquandGabriele C 7c48cf59c7 Make default regex for password characters more user-friendly (#1285)
- Change regex pattern per input of @sgdc3
- Add clarifying comments
2017-07-15 19:38:05 +02:00
ljacqu 822818cf33 Revert: Fix default password regex
- The regex pattern allows all visible, non-whitespace ASCII symbols, including '0'
2017-07-15 18:41:01 +02:00
ljacqu e1826c75c8 #1280 Add NOTHING as possible flight restore type 2017-07-10 21:45:05 +02:00
ljacqu 276ce80edb #1276 Fix wrong multiplication of reset threshold 2017-07-09 14:31:17 +02:00