451 Commits

Author SHA1 Message Date
ljacqu
886e3b2f1e #1238 Save player after restoring data from limbo player 2017-06-18 08:36:03 +02:00
ljacqu
5c6af0330e #1218 Add onLogout to commands.yml 2017-05-21 13:44:28 +02:00
Gabriele C
cff8ccd76a Implement onSessionLogin trigger for commands.yml (#1198)
* Implement onSessionLogin trigger for commands.yml

Needs test methods, @ljacqu any advice?

* Add simple onSessionLogin test
2017-05-19 19:21:05 +02:00
ljacqu
1f8307c8f6 Fix minor checkstyle issues
- Add JavaDoc where checkstyle expects it
- Fix line too long issues
- ...
2017-05-07 11:59:01 +02:00
ljacqu
e0e4cd112d #761 Restore permission group in sync with limbo players
- Couple AuthGroupHandler closer to the LimboService: whenever a limbo player is restored, the auth group should be restored as well. This fixes some consistency issues.
- Move AuthGroupHandler into limbo package and make it package-private
- Change permission handler to skip any empty groups (prevents odd command output e.g. for BukkitPermissions)
2017-04-29 22:37:34 +02:00
ljacqu
d4c1370da6 #923 Add commands to run on unregister 2017-04-29 19:11:13 +02:00
ljacqu
88d839cab4 #620 Add a cancellable session restore event 2017-04-29 15:44:29 +02:00
ljacqu
b652d89088 #1169 Create UnregisterEvent 2017-04-29 15:22:27 +02:00
ljacqu
d65556d893 #857 Create event for failed authentication 2017-04-29 14:46:06 +02:00
ljacqu
2f7ebc0ecb Remove static PlayerCache#getInstance 2017-04-18 21:57:20 +02:00
ljacqu
b0c05afaa7 Create util method to check if email is empty
- Create method to check if email is empty or the default AuthMe email (avoids repetition)
- Check that input email has '@' inside text (relates to #1105)
2017-04-18 21:24:33 +02:00
Gabriele C
49aeb4308d Fix #1145 2017-03-26 16:51:34 +02:00
ljacqu
a2d62ea6d9 #1116 #1117 Add command usage hints and remove unused message keys
- Add usage message on argument mismatch where available
- Remove unused message keys
- Create tool task to search for a message key's usages and to find unused keys
2017-03-24 23:03:10 +01:00
ljacqu
32a664ef59 Update checkstyle config and CodeClimate exclusions
- Add new checkstyle checks: require Javadoc on large private methods, default in switch, declaration order & others
- Update path exclusions in CodeClimate config to match newly renamed classes (e.g. PHPBB -> PhpBB)
  - Create consistency check testing that excluded paths exist as classes
- Fix some trivial violations
2017-03-23 10:34:28 +01:00
ljacqu
6eaa91278e Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	.checkstyle.xml
2017-03-20 08:23:52 +01:00
ljacqu
9a9d0974f8 #1037 Improve architecture of registration methods (#236)
* #1037 Improve architecture of registration methods
- Introduce parameters classes for each registration method
- RegistrationMethod has constants with the required parameters class -> no longer need to have a RegistrationExecutorProvider class that needs to be injected everywhere, let AsyncRegister be the only one to worry about which class will perform the registration
- Fix inheritance of password registration types - previously two-factor auth registration inherited from password registration directly

* Create matcher which checks for equality via reflections
- Allow to perform equality check on objects with default equals() method
2017-03-20 08:19:52 +01:00
ljacqu
42f46b51d3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
#	src/test/java/fr/xephi/authme/settings/SettingsConsistencyTest.java
2017-03-15 08:28:15 +01:00
ljacqu
1da74cb987 #1005 Improve restricted user feature (performance, error handling)
- Move check for restricted user into validation service
- Keep restrictions in a map by name for fast lookup, avoid splitting Strings on every call
- Gracefully handle case when entry does not have the expected ';' and log exception
2017-03-14 22:26:19 +01:00
ljacqu
689e5eeccc Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	src/main/java/fr/xephi/authme/command/executable/authme/debug/DebugCommand.java
2017-03-12 14:54:25 +01:00
ljacqu
10d8f00c92 Various minor changes
- AsynchronousLogin: call common permission methods through CommonService instead of PermissionsManager
- CommandManager: remove superfluous replacement of %p (handled by lazy tag replacer)
- Remove unused method in CommonService
- Create DebugSectionConsistencyTest
- SendMailSSL: Enable debug output if AuthMe log level is set to debug
- Add Utils#logAndSendMessage and replace existing, separate implementations
2017-03-12 14:04:39 +01:00
ljacqu
c79ba49ca8 #1113 Don't restore OP to unregistered player; add tests for LimboService 2017-03-11 08:47:58 +01:00
ljacqu
4bb10c5d6d #1113 Handle LimboPlayer tasks via LimboService
- Add methods to LimboService for handling messages to make it the only relevant Limbo class for outside classes
  - Move LimboPlayerTaskManager to limbo package and make it package-private
- Create MessageTask and TimeoutTask immediately when LimboPlayer is created
- #1112 MessageTask: improve efficiency by keeping reference to Player
2017-03-07 20:35:48 +01:00
ljacqu
021497b9e6 #1113 Handle LimboPlayers within LimboService (remove LimboCache) (work in progress)
- Delete LimboCache and LimboPlayerStorage: LimboService now handles all LimboPlayer actions
- Revoke player rights when creating a LimboPlayer, within the LimboService
- Various fixes and improvements
2017-03-05 21:47:46 +01:00
ljacqu
22ccf582b8 #1113 Create LimboService (work in progress)
- Introduce new LimboService with a higher level abstraction for outside classes to trigger LimboPlayer actions
- Add methods to LimboPlayerTaskManager for muting the MessagesTask safely
2017-03-05 19:25:35 +01:00
ljacqu
8aa573b9ed Minor fixes as found by Checkstyle 2017-03-05 10:58:29 +01:00
ljacqu
7185206718 Minor - use replace instead of replaceAll for non-regex replacements 2017-02-27 22:45:46 +01:00
ljacqu
a4b440bcca Separate email preparation and email sending into separate classes
- SendMailSSL keeps on handling the technical details for sending mails, while EmailService offers methods to other classes and worries about generating the correct email content
2017-02-25 20:14:58 +01:00
ljacqu
3eab42ae68 Remove obsolete "session expires on IP change" config
- Session always expire on IP change; the config only controlled whether an error message was shown or not
2017-02-05 13:40:11 +01:00
ljacqu
2b1a97e959 #761 Fix removal and restoration of primary permission group
- Improve how a player is being switched between permission groups (add new group before removing old one)
- Remove group handling logic from LimboCache: AuthGroupHandler is now solely responsible for changing the player's permission group
2017-02-05 13:12:04 +01:00
ljacqu
f6c560cbbe Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 761-permission-groups 2017-02-04 23:05:31 +01:00
ljacqu
f6b08ece68 Trivial code householding
- Convert field to local variable
- Remove unused constructor parameter
- Move limbo class into limbo package
2017-01-30 21:53:00 +01:00
ljacqu
95945ffd22 #761 Improve permissions group support
- Drop one auth group type in favor of three: logged in, registered but not logged in, and unregistered
- Move  properties to same parent path
2017-01-29 17:44:06 +01:00
ljacqu
811bdee128 #1015 Implement lazy replace of tags for welcome message
- Check which tags are used when loading the welcome message and only apply their replacements afterwards
- Moves AuthMe#replaceAllInfo to a more appropriate place
- Avoid fetching data again for each line
2017-01-22 10:52:51 +01:00
ljacqu
cc0d16c7e1 Remove redundant and unused message
- Remove 'reg_voluntarily'
- Remove 'user_unknown' in favor of 'unknown_user' - but move text from old 'user_unknown' to 'unknown_user'

Found by @Twonox
2017-01-09 21:16:53 +01:00
ljacqu
385f7d6b1d #1055 Remove multiple "please register" messages
Part 1:
- Use only one message entry for "Please register", that may have to be adapted to reflect the proper /register arguments
- Remove other message entries from code and from the messages files

Breaking change: reg_email_msg is also removed
2017-01-07 09:01:03 +01:00
ljacqu
0b4d7273f6 #427 Define registration type with two options - one configuring the 2nd argument
- Split sole setting to two: one defining the registration type, and one defining what the register command should take as second argument
- Contains ugly code that will be fixed with a later issue
2016-12-31 15:34:40 +01:00
koca2000
4a2e0d4216 #427 Add message entry for each registration type
* Added message for /register password email
* Added messages for /register password and /register email commands
2016-12-23 14:39:43 +01:00
ljacqu
370d203873 #830 Write tests for registration process 2016-12-18 13:11:56 +01:00
ljacqu
398fa4d38d #830 Refactor registration process
- Introduce registration executors: one for each registration variant; each extending class implements one registration variant and worries about that method's details only
- AsyncRegister receives the player and a registration executor
2016-12-17 21:59:34 +01:00
ljacqu
a52fb95656 #427 Implement /register [pass] [email] variant 2016-12-17 15:09:31 +01:00
ljacqu
f9acb3cca1 #427 Replace registration settings with one registration type property
- Merge "useEmail" / "usePasswordConfirmation" / "useEmailConfirmation" settings into enum property
- Migrate old settings
2016-12-15 22:36:54 +01:00
Alexandre Vanhecke
fae7286776 Merge branch 'master' into 745-captcha-login-message 2016-12-12 17:58:37 +01:00
ljacqu
5a4e827893 #960 Send message to player if email could not be sent 2016-12-11 09:47:48 +01:00
ljacqu
c325d0db41 Merge CommandService and ProcessService to CommonService
- Replace CommandService and ProcessService with CommonService: a service that offers our typical needs to work with settings, messages and permissions
- Remove validation methods from CommonService: inject ValidationService directly. Validation methods are not used very frequently and therefore don't belong in CommonService. Their presence was a relict from our architecture before injection was used.
2016-12-03 12:10:30 +01:00
ljacqu
808ed84269 #411 Finalize forced commands implementation 2016-11-28 21:51:31 +01:00
ljacqu
1370352679 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 411-forced-commands 2016-11-22 22:05:13 +01:00
ljacqu
254655abdb #411 Migrate settings to new structure (work in progress)
- Work in progress: config.yml cannot be loaded after migration
2016-11-22 21:16:56 +01:00
ljacqu
7d65d2a7c4 Fix various code issues as detected by Sonar
Mostly minor changes:
- Add deprecated javadoc tag on deprecated members
- Reduce duplication (FlatFile, BackupService, ...)
- Make methods static
- Reduce size of anonymous classes
- Replace name with displayName in PermissionsSystemType (avoids confusing with Enum name())
- Tabs to spaces
- Merge if statements

Code from third-party sources (BCryptService, BinTools, PHPBB) not modified.
2016-11-22 18:20:55 +01:00
ljacqu
4214c6dc80 #411 Forced commands: initial implementation 2016-11-17 21:02:01 +01:00
Gabriele C
b53f71706a Join process cleanup, change some default settings (should improve performance and security with default settings) 2016-11-15 18:41:27 +01:00