* Use context aware groups
* Revert "Use context aware groups"
This reverts commit 5adc6ef7
* Keep luckperm contexts after authentication
* Code cleanup
* Code cleanup
* Fix nullpointer for context maps
* Code cleanup
* Use uuids for sqlite and postgresql
* Revert "Use uuids for sqlite and postgresql"
This reverts commit 05296e5f23.
* Cleanup imports
* Fix test
Co-authored-by: David Maes <david.maes@kbc.be>
* #1874 Introduce individual ConsoleLogger instance per class
- Create ConsoleLoggerFactory from which a separate logger can be created for each class
- Allows to support individual log level settings in the future
* Fix CodeStyle issue
* Replace full class name with import
* Update usages after merge from master
* Added EmailChangedEvent
* Fix failing tests
Silly.
* Documented the EmailChangedEvent
* Separate messages for cancelled email event
* Added lang todos for all the languages I can't speak
I wish I could though.
* Checkstyle satisfaction
* Changed log level to info for cancelled events
Rough version.
- Introduces a limbo player state on the LimboPlayer, allowing us to add further mandatory actions between successful (password) authentication and the ability to play on the server
- Overloaded method with (String, String...) as args was problematic as it could be confusing on its own and also confusing with the (CommandSender, String...) flavor
- 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
- 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)
- 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
- 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
- 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)