60 Commits

Author SHA1 Message Date
ljacqu
07633a89c8 Create SQL data source utils class
- Extract logic used in SQLite and MySQL for logging and closing SQL objects
    - Decided to leave buildAuthFromResultSet methods individually as this might be more implementation-specific
- Rename DataSource#close to DataSource#closeConnection to fix conflict with static import
2017-04-18 22:55:39 +02:00
ljacqu
04ca36fe53 Use more specific query to get logged in players without email
- Reduces the amount of data returned from the DB and the work required to build objects
2017-04-18 22:30:54 +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
ljacqu
b99cc3bada #1127 Create DataSource#getEmail 2017-04-18 21:07:31 +02:00
ljacqu
a764598f88 Adjust repo links in code 2017-03-28 08:11:00 +02:00
ljacqu
2070f22968 Security - if any Throwable is thrown on initialization AuthMe should shut down
- Found via #1149
2017-03-27 21:41:35 +02:00
ljacqu
c54231b255 #1138 Show warning for hashes that will be deprecated in 5.4
- Introduce Usage.DEPRECATED to mark the hash algorithms accordingly
- Log warning when such a deprecated hash algorithm is used
- Update hash algorithms doc page
2017-03-25 00:23:54 +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
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
e3426cd731 Display hint when legacy jar should be used (cf. #1099) 2017-02-18 15:13:26 +01:00
Gabriele C
2d3078daa4 Use the bStats maven artifact
It seems to have issues accessing the maven repository, maybe it's just
an issue with my local setup.

(cherry picked from commit fc8c75c)
2017-02-17 22:06:12 +01:00
ljacqu
d2fccdeb80 Update Injector and create injectable object factory
- Using e.g. Factory<Converter> instead of the injector directly makes its purpose more specific and disallows any future abuse of the injector's functions
2017-02-05 16:52:35 +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
Gabriele C
6569c275eb Replace mcstats with bStats (#215) 2017-01-29 15:48:07 +01:00
ljacqu
5f8a19223f Update ConfigMe and Mockito version 2016-12-23 23:22:05 +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
Gabriele C
5e0ee51692 Revert "Use custom async thread execution pool"
This reverts commit a574245bb9e6760724d32c5ba61bbe25a50ada94.
2016-11-07 00:48:50 +01:00
Gabriele C
a574245bb9 Use custom async thread execution pool
The new pool has a limited thread size (cpu core count - 1) and  should
avoid bot attacks to crash the machine.
2016-11-07 00:47:07 +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
Gabriele C
f8745876de Generate config file automatically 2016-10-23 14:36:30 +02:00
ljacqu
995d4acda2 Upgrade to ConfigMe 0.2 2016-10-16 20:08:52 +02:00
Gabriele C
7b5a857f74 Remove useless packages 2016-10-07 19:19:12 +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
42dbb27728 Service cleanup 2016-10-04 19:08:18 +02:00
ljacqu
f81de8a5e5 #952 Fix settings initialization when config.yml does not exist yet
- Need to copy the file from the JAR if it doesn't exist before attempting to open it
2016-09-19 18:02:39 +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
25780ede89 #927 Use 0.1 version and adjust to changes from ConfigMe 2016-09-04 15:32:58 +02:00
ljacqu
36dfab636a #927 Update code to recent changes in ConfigMe 2016-08-31 22:19:27 +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
f59a584622 Write tests for AsyncUnregister and TaskCloser 2016-08-27 21:26:15 +02:00
ljacqu
289ce7740f Update injector version and move shutdown logic to separate classes 2016-08-20 21:54:41 +02:00
ljacqu
02ca2d18b9 Move more complex initializations from main class to Initializer helper (tentative) 2016-08-12 22:04:56 +02:00
Gabriele C
bf71f98fae Main class cleanup, take 1 2016-08-09 01:05:22 +02:00
ljacqu
f2d7fe908e #806 Create period cleanup task and implement cleanup for session records 2016-08-06 23:20:30 +02:00
ljacqu
19de5a0525 Close #449 Rename NewSetting class to Settings :) 2016-07-23 15:50:40 +02:00
ljacqu
d791fcba94 #835 Remove all injector classes from AuthMe, update installer tasks 2016-07-18 21:47:26 +02:00
ljacqu
9a91156000 #835 Replace injector classes with ones from ch.jalu.injector project 2016-07-17 21:50:48 +02:00
ljacqu
aa6fe3e874 Rename method on SettingsDependent
- Rename loadSettings to reload
- Make ProtocolLibService only implement SettingsDependent, not Relaodable alongside
2016-07-09 09:24:25 +02:00
games647
24cc4a1d13 A class could be settingsdependent and reloadable 2016-07-06 12:25:10 +02:00
ljacqu
a1c62e7c04 Create delayed injection test runner
- Test runner supporting new "DelayedInjection" annotation: such fields are only initialized with instantiation right before the first time they're used in tests, allowing to set up mock behavior beforehand
2016-06-18 13:19:07 +02:00
ljacqu
d6e1fd5ceb Use injection in and for LimboCache, migrate some legacy settings, remove setGroup from Utils
- New injector method allows to retrieve services if they've already been instantiated -> useful for onDisable() which might be run after aborted initialization
- Deprecate various methods that need to be removed
2016-06-12 16:14:34 +02:00
ljacqu
9b1ee86b2f Trivial code householding
- Replace `if (!x) ... else ...` with `if(x) ... else ...`
- Avoid throwing RuntimeException; use children
2016-05-30 12:18:55 +02:00
Gabriele C
da6431b4fc Suppress injection test warnings 2016-05-23 23:16:40 +02:00
ljacqu
53043ddc0d Create tool task that checks Mock fields of test classes 2016-05-21 11:54:54 +02:00
ljacqu
244e1a2b7d Injector - don't use instantiation fallback if PostConstruct method is present
- Do not instantiate classes with instantiation fallback if they have a PostConstruct method - thanks @sgdc3 for the hint
- Change Injector test to check exception messages also
2016-05-20 17:57:14 +02:00
Gabriele C
6abad1970c Revert "Cleanup"
This reverts commit 95b65ae20a855d8d89aa42432553fc6f051b5c46.
2016-05-20 14:58:41 +02:00