473 Commits

Author SHA1 Message Date
Gabriele C
24804d3f12 Better server version warning message 2018-11-30 15:20:13 +01:00
Gabriele C
04a835a282 Check server version on startup 2018-11-30 15:17:54 +01:00
Gabriele C
c11e4b9f15 Remove 1.7 support 2018-11-30 09:23:30 +01:00
Gabriele C
fdcbb3334e Abort initialization if AuthMeBridge is enabled. 2018-11-21 13:15:21 +01:00
Gabriele C
09c3e7bf22 Drop deprecated v2 API 2018-09-17 20:21:09 +02:00
ljacqu
58e04556ee Checkstyle: Add 'WhitespaceAfter' check, fix some violations 2018-09-01 08:38:14 +02:00
ljacqu
ecaffbabfc Small cleanups / changes amassed over time
- Small javadoc fixes
- Simplifications
- Move logException method from StringUtils to ExceptionUtils
2018-04-22 12:45:34 +02:00
Gabriele C
aab5d71efd Update sponsort details 2018-03-19 16:53:11 +01:00
games647
f33446ee25 Migrate to GEO IP 2 (Related #1471) (#1529)
* Migrate to GEO IP 2, because support will drop in April

* Change all links of maxmind to https
* Update maxmind database dependency and add javatar to extract
the database from the tar archive
(now only a small difference in jar file size -> ~80KB smaller)
* Verify downloaded archive using MD5 (There are no other checksums available)
* Migrate to Java NIO instead of old java file I/O (Feedback?)
* Internal Optional usage for nullable values (Feedback?)

Minor:
* Schedule a Bukkit async task instead of creating a thread manually
* Validate ip input string
* Extract validation into single method
* Close all resources safely using try-resources

* More https links

* Add documentation

* Set the same last modification as in the tar archive

* Fix tests

* Comment how the legacy API responded to unknown entries

* Document missing function param

* Document our maxmind dependency modifications

* Include time unit into constant

* More logging for downloading the database

* Add missing return if the database cannot be found

* Delete temporarily file after working with it
2018-03-17 03:00:24 +01:00
ljacqu
329657bd5f
#1497 Show specific message for invalid YAML files (#1506)
* #1497 Throw dedicated exception for invalid YAML files and handle it on startup
- Wrap SnakeYAML exceptions when loading config.yml and commands.yml on startup into own exception type
- Handle exception type on startup with specific error message

* #1497 Fix inaccurate JavaDoc comment
2018-02-23 23:31:22 +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
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
7932c1bf90 Update to injector 1.0
- Includes Factory and SingletonStore so our custom implementation is removed
2017-11-25 21:27:18 +01:00
Gabriele C
b7c3d4b42e
Implement AuthMeBungee autologin (#1402)
* Implement AuthMeBungee autologin

There is a failing test due to cyclic dependency injection, @ljacqu could you take a quick look at this?

* Try to fix recursive dependency injection

* Fix codestyle

* Fix the subchannel name, again...

* Split BungeeService into BungeeSender and BungeeReceiver
2017-11-09 11:19:24 +01:00
ljacqu
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
Alexandre Vanhecke
8fe92da119 #1150 - Add Argon2 support
- Add argon2 implementation

- Extract argon2 library check to method on Argon 2
- Add link to Wiki page on errors
- Check within Argon2Test if the test cases should be run, not in the abstract parent
2017-10-23 00:10:48 +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
Gabriele C
22e95493de #1031 Introduce hasSession field in datasource (#1351)
* Introduce hasSession field in datasource

That makes isLogged more consistent as it will be '1' only when the player is online.

* Fixes

* Fix unit testing

* Update config doc

* Create SessionService

* Create test for SessionService, avoid DB operations if sessions are disabled

* Cleanup: remove outdated warning for session timeout = 0
- Remove outdated warning
- Encapsulate session enabled check in SessionService

* Fix failing SessionServiceTest, add data source integration tests for session methods
2017-10-15 18:32:51 +02:00
Gabriele C
caf2a0ee9e Fix non-spigot server support 2017-10-02 08:05:35 +02:00
sgdc3
920e65c4f4 Codestyle cleanup 2017-09-27 15:16:33 +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
Gabriele C
b96ae61697 Remove some old plugin hooks, update dependencies 2017-08-31 11:47:55 +02:00
Gabriele C
e6e023a032 Remove legacy jar hint 2017-06-22 23:57:04 +02:00
ljacqu
591d6f1d4c #1232 #1239 Show legacy hint if Guava's MoreObjects class is missing 2017-06-02 15:42:21 +02:00
ljacqu
b7c35cb3a7 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into explicit-getters-from-db 2017-04-29 08:19:30 +02:00
ljacqu
0e923b6a70 #1180 Create command for performing a backup 2017-04-23 20:23:40 +02:00
ljacqu
2f7ebc0ecb Remove static PlayerCache#getInstance 2017-04-18 21:57:20 +02:00
ljacqu
cbec5427f2 #1162 New API class: implement ignored review remarks 2017-04-14 18:11:47 +02:00
Gabriele C
5a93ed32f1 Fix API test package
#1162
2017-04-14 14:03:40 +02:00
Gabriele C
8ecdd1f4d3 Remove old v1 API, deprecate v2 API, add v3 API 2017-04-14 01:01:30 +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
8cf7983027 #1034 Add debug sections for spawn and input validation 2017-03-26 12:10:51 +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
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
8ebb3c6b5a Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1128-camel-case-rename 2017-03-17 18:50:57 +01:00
ljacqu
731d085ccd #1128 Rename to camel case (PR #235)
* rename classes according to cammel case and make code reflect these updates

* rename according to cammel case

* rename to camel case more accuratley

* rename to camel case try 3; fix Ipb4 java doc

* retry rename camel case

* rename to camel case
2017-03-17 18:49:30 +01:00
Gabriele C
17415493f5 Fix wrong logic in the java version check 2017-03-17 14:34:24 +01:00
Gabriele C
45f02f6a31 Check java version on initialize
#1096
2017-03-15 18:01:00 +01:00
ljacqu
a847deac16 #1075 Mail sender - allow to turn off TLS for port 25 2017-02-26 14:12:51 +01:00
ljacqu
e3426cd731 Display hint when legacy jar should be used (cf. #1099) 2017-02-18 15:13:26 +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
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
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
30343d7587 Do not modify player's air level before he logs in 2016-11-19 15:25:41 +01:00
ljacqu
a196420eca Fix AuthMe initialization test after update to 1.11 2016-11-17 22:07:39 +01:00
Gabriele C
2fbf8b6c71 Use 1.11 2016-11-17 21:53:28 +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