201 Commits

Author SHA1 Message Date
Gnat008
9d21eefc74 Merge branches 'master' and 'passwd_recovery_process' of https://github.com/AuthMe/AuthMeReloaded into passwd_recovery_process
# Conflicts:
#	docs/config.md
#	src/main/resources/messages/messages_bg.yml
#	src/main/resources/messages/messages_es.yml
#	src/main/resources/messages/messages_pt.yml
#	src/main/resources/messages/messages_zhcn.yml
2017-03-21 17:26:29 -04: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
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
EbonJaguar
fa65b1af5e make TimedCounter#decrement(K) easier to read 2017-03-06 14:15:07 -05:00
EbonJaguar
7d4bfcd99d - Introduce /email code
- Add max tries for /email code
- Introduce a PasswordRecoveryService
2017-03-06 13:54:46 -05:00
ljacqu
8aa573b9ed Minor fixes as found by Checkstyle 2017-03-05 10:58:29 +01:00
ljacqu
c197a330f3 #1073 Add delay to email recovery command
- Add configurable cooldown period after sending an email for /email recovery
- Change ExpiringMap to remove expired entries (like ExpiringSet)
- Create method to translate durations via the messages file
2017-02-25 22:41:49 +01:00
ljacqu
72c5cfac68 Create Duration class and ExpiringSet#getExpiration (prep for #1073)
- Move expiring collections to util.expiring package
- Change ExpiringSet to remove expired entries during normal calls
2017-02-25 17:25:25 +01:00
ljacqu
4edb4e68c2 #1104 Whitelist sensitive commands also when used with "authme:" prefix 2017-02-21 22:51:45 +01:00
ljacqu
ee51bb3971 Minor cleanups
- Remove forgotten test assertion
- Make utils class final
- Change RandomString to use char array
2017-02-20 22:20:48 +01:00
ljacqu
ca708e23cd #949 Create ExpiringSet, integrate into SessionManager 2017-02-19 09:06:15 +01:00
ljacqu
152d1dc216 #949 Created TimedCounter + implement it in TempbanManager 2017-02-18 22:50:30 +01:00
ljacqu
ef1d006cdf #949 Create expiring map type + integrate it into recovery code service 2017-02-18 21:31:37 +01:00
ljacqu
5ad528d5d9 Fix Javadoc errors (as seen in Jenkins build) 2017-02-04 11:35:43 +01:00
ljacqu
89c70ff447 #1026 Add more tags for forced commands (lazily replaced) (#214)
* #1026 Add more tags for forced commands (lazily replaced)
- Extract lazy replacement of tags to its own class
- Implement wrapper to replace a String property within an object
  - Use wrapper in command manager and add new tags

* Make argument type generic in lazy tags util
2017-01-29 13:54:37 +01:00
ljacqu
367380265e #1015 Distinguish player-dependent tags from "simple" tags 2017-01-22 10:52:51 +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
666e242212 Delete CollectionUtils (unused) 2017-01-21 14:47:18 +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
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
72853a382f Initialization cleanup: use provider classes for Settings and DataSource
- Separate provider methods from other tasks performed on startup
  - No longer requires BukkitService to be instantiated manually
- Merge MetricsManager and Initializer into OnStartUpTasks
2016-11-06 18:51:07 +01:00
ljacqu
46af922fba Minor refactoring for tool tasks
- Don't scan for translations on initialization in TranslationPageGenerator in order to speed up startup time of ToolsRunner
- Extract checking for null / empty array of File#listFiles into a separate method
- Move single method of RuntimeUtils into Utils class
2016-10-30 10:43:59 +01:00
ljacqu
755f3df33e #768 Create command for updating messages file 2016-10-10 22:36:14 +02:00
Gabriele C
700ab5f3e4 Cleanup 2016-10-09 23:46:07 +02:00
Gabriele C
58c42cf300 Package cleanup
- authme.cache to authme.data
- Rename PlayerData to LimboPlayer to match with LimboCache
- Move authme.converter to authme.datasource.converter
- Split output package into output and message
2016-10-05 21:10:40 +02:00
Gabriele C
f3cd193d47 Move RandomStringUtils 2016-10-04 19:16:06 +02:00
Gabriele C
42dbb27728 Service cleanup 2016-10-04 19:08:18 +02:00
ljacqu
71ac86ff02 Remove StringUtils#join in favor of String#join (Java 8) 2016-10-02 12:44:10 +02:00
ljacqu
6f4a5fee07 Add missing permission to plugin.yml, fix description 2016-10-02 10:48:26 +02:00
Gabriele C
62b8af6a37 Fix #904 (Ljacqu, pls fix me :P) 2016-10-01 23:09:39 +02:00
ljacqu
8d64c0e5bf #830 Initialize login process with more specific methods (with password vs. force login) 2016-10-01 00:48:23 +02:00
ljacqu
4eab258993 #937 Add option for AuthMe to run in sync
- Create BukkitService#runTaskOptionallyAsync and BukkitService#scheduleSyncTaskFromOptionallyAsyncTask whose behavior depends on a new setting
- Use the new methods where applicable
- Declare events async or sync depending on the new setting
2016-09-18 21:58:14 +02:00
ljacqu
bdf8819aa7 Create FileUtils#delete and write tests for FileUtils 2016-09-17 00:42:18 +02:00
ljacqu
bff344ba8f #472 Recovery code: allow to configure length, expiration and email 2016-09-10 16:39:35 +02:00
ljacqu
09f403f357 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into configme-integration
Conflicts:
	pom.xml
2016-09-04 15:25:58 +02:00
ljacqu
589e589e45 #933 Add MySQL to SQLite converter
- Create common parent for converting from one datasource type to another
- Add MySQL to SQLite child
- Create tests
2016-09-04 13:59:23 +02:00
ljacqu
b8153c2578 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into configme-integration 2016-09-03 10:31:05 +02:00
Gabriele C
9fa5f2beea Mysql CP performance enhancements 2016-09-02 15:48:58 +02:00
ljacqu
c7bb7b460e #927 Integrate ConfigMe into AuthMe (work in progress)
- Replace own code with ConfigMe
2016-08-30 15:28:07 +02:00
ljacqu
ceb503469f Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into misc-changes 2016-08-18 17:55:33 +02:00
ljacqu
e261650b45 #902 #867 Remove "limboplayer is null" logger statement 2016-08-13 17:33:45 +02:00
ljacqu
02ca2d18b9 Move more complex initializations from main class to Initializer helper (tentative) 2016-08-12 22:04:56 +02:00
ljacqu
5d2da7bd82 Trivial code householding 2016-08-12 18:36:35 +02:00
ljacqu
8002ef45fd Teleportation needs to be scheduled in sync
- Revert removal of sync scheduled task for teleportation
- Add back listener properties from 5d6f3e1 since they don't interfere
2016-08-04 19:08:05 +02:00
ljacqu
3534f680f7 Fix unit tests 2016-08-04 18:25:43 +02:00
Gabriele C
54c2d3e6e9 Fix 1.7 (pre UUID) compatibility 2016-08-04 12:01:30 +02:00
Gabriele C
5d6f3e1f06 Cleanup + fix some teleport behaviour 2016-08-04 11:28:03 +02:00
ljacqu
4aad1d506c #831 Implement single session by canceling kicks caused by same name joining
- A little less nice, but works on both CraftBukkit and Spigot
- Remove obsolete warning
2016-08-03 21:31:40 +02:00
ljacqu
80337f758b #831 Cleanup, finalization
- Handle AsyncPlayerPreLoginEvent in main PlayerListener class: Spigot emits it in offline mode, whereas offline CraftBukkit doesn't
- Remove listener for sync PlayerPreLoginEvent; not fired by offline CraftBukkit either
- Add warning when offline CraftBukkit is detected and single session setting is enabled
2016-08-03 19:58:10 +02:00