781 Commits

Author SHA1 Message Date
ljacqu
8bae71e1bd #1435 Send password recovery emails in async 2017-12-21 21:54:23 +01:00
Gabriele C
779c4a2b33 Fix build 2017-12-19 10:53:07 +01:00
Adam Harrison
6f52449d49
Deprecate getLastLogin, replace with java 8 getLastLoginTime
(Resolves #1421)
2017-12-17 11:42:25 +01:00
Gabriele C
26a69297ce Disable the automatic poolSize option
it creates more issues than benefits
2017-12-13 23:13:28 +01:00
Thibaut DAVID
2d77f54695 Add new hash method (#1446)
Add new hash method for a CMS : http://craftmywebsite.fr/
2017-12-07 19:58:19 +01:00
Gabriele C
8fd402add3 #1442 Don't send bungee messages if the plugin is disabled
+ fix unit test on windows env
2017-12-05 00:30:08 +01:00
ljacqu
1a60036592 #930 Extract common captcha functionality into abstract superclass
- Create AbstractCaptchaManager
- Add tests
2017-12-01 23:40:20 +01:00
ljacqu
33904c09e9 #930 Create registration captcha manager
- 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
2017-12-01 21:12:35 +01:00
ljacqu
c784fc7f2e #1423 Fix ignored review remarks 2017-11-29 19:43:35 +01:00
Gabriele C
81db4168e4
Merge pull request #1428 from AuthMe/1423-cmi-support
#1423 Implement CMI spawn integration
2017-11-29 08:44:09 +01:00
Gabriele C
610fed3c7b Fix codestyle, add test 2017-11-29 08:38:34 +01:00
Gabriele C
7235a3b860
Merge pull request #1430 from AuthMe/1046-onFirstLogin-in-commandsYml
#1046 Add onFirstLogin to commands.yml
2017-11-29 01:11:25 +01:00
ljacqu
f1c1848985 #1046 Add onFirstLogin to commands.yml
- Allow to configure commands run on player's first login (login of player with a previously null lastlogin date)
2017-11-28 21:41:30 +01:00
ljacqu
50dbbb8d87 #1254 Create command to see recently logged in players
- Create datasource method to fetch most recent players by last login date
- Add command to view last logged in players
2017-11-28 21:07:10 +01:00
Gabriele C
c7c8e673f0 #1423 Implement CMI spawn integration 2017-11-28 12:57:39 +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
ljacqu
6365926cf0 Fix test in AntiBotServiceTest 2017-11-23 20:06:21 +01:00
ljacqu
53f7bf155f Fix wrong check in CodeClimateConfigTest 2017-11-23 18:13:17 +01:00
ljacqu
1053440b15 Refactor util for setting BukkitService mock behavior
- Move helper methods for setting BukkitService mock behavior into their own class
- Change methods to use Mockito's answer instead of verification + argument capture -> calling the methods now belongs to the test setup (given clause) and allows the behavior to take effect more than once
2017-11-22 00:24:11 +01:00
ljacqu
4717dc148c #1413 Don't run onUnregister command in async 2017-11-21 23:48:15 +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
80ab41ae5a #1400 Sync AuthMe's phpBB hash implementation with phpBB3's
- phpBB3 seems to favor using BCrypt $2y$ now
- Keep unsalted MD5 and phpass salted MD5 comparisons for backwards compatibility
2017-11-04 09:58:51 +01:00
Gabriele C
937ae0afaf
Merge pull request #1393 from AuthMe/bungee-messaging-integration
Implement bungee messaging, CacheDataSource sync across network
2017-11-03 20:23:14 +01:00
ljacqu
c7ba06e2b9 Fix test / use new DataSource method / add space before keywords 2017-11-03 19:57:40 +01:00
Gabriele C
273c318e96 Cleanup 2017-11-02 11:24:17 +01:00
ljacqu
44a7baff9a #1350 Add option to force using the sync PlayerLoginEvent
- Introduce new configuration (taken from @sgdc3)
- Create JoiningPlayer, based on a Player object or String name, determining how permissions will be checked
2017-11-01 21:02:22 +01:00
Gabriele C
2d2eb740e3 Implement bungee messaging, CacheDataSource sync 2017-10-30 10:38:13 +01:00
games647
316f8fc642 Fix Java 9 support for Pbkdf2Django (#1390)
* Replace DatatypeConverter in Pbkdf2Django to support Java 9

* Fix NPE in AuthMeInitializer and CastException in Recovery tests

* Set logger for SetPasswordTest to prevent NPE on logging

* Use TestHelper for initializing ConsoleLogger
2017-10-29 12:11:24 +01:00
ljacqu
2c6181d150 Add missing tests for API package 2017-10-28 23:15:53 +02:00
ljacqu
b687c68d46 Create test for HelpTranslationGenerator 2017-10-28 19:36:35 +02:00
ljacqu
8127d70058
Merge pull request #1386 from AuthMe/1367-mysql-notNull-toggle
Improve MySQL not null toggle / authme debug commands output
2017-10-28 18:49:23 +02:00
ljacqu
20ca4f9dc9 #1368 Improve the look of /authme debug
- Add a colored title for each command execution within /authme debug
- Fit more texts on one line
2017-10-28 17:19:47 +02: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
ljacqu
fbd8049af5 Minor: Make email check in '/email change' case-insensitive 2017-10-28 13:10:24 +02:00
HexelDev
ba65633182 Email verification code (#1382)
* Base verification code implementation, must define command, manager, events
* VerificationManager, verification command and messages, handled some sensible commands, configuration values
* Improved manager and sensible commands trigger
* Updated messages
* Updated verification code manager, fixed tests
* Switched to a permission based command
* Verification manager and command improved and added tests
* Edited messages
2017-10-28 12:23:14 +02:00
Gabriele C
39647013b2 Cleanup 2017-10-23 08:36:49 +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
b211c97395 Minor: delete PlainText implementation
- It never gets used anymore and could cause security issues if we did accidentally use it as EncryptionMethod
2017-10-22 09:27:03 +02:00
ljacqu
d6e2369f36 #792 Force migration of SQLite when necessary (#1371)
- Detect if a migration is necessary
- Create a backup
- Perform the migration
2017-10-22 09:16:48 +02:00
ljacqu
c37c0ce436 Fix CodeClimate config test to account for new test exclusion entry 2017-10-21 19:55:56 +02:00
ljacqu
4e8deec258 Move #isNpc method to PlayerUtils
- After dropping our hook to CombatTagPlus it is not relevant for it to be in PluginHooksService anymore
2017-10-21 12:08:23 +02:00
ljacqu
58657f5d3f Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 792-add-registration-date-and-ip 2017-10-21 10:46:17 +02:00
ljacqu
1651a61063 #792 #814 Implement SQLite migration, allow last IP to be nullable in MySQL
- 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
2017-10-21 10:45:48 +02:00
ljacqu
a425eacf2d #792 Add missing tests / fix CodeClimate issues 2017-10-20 17:49:30 +02:00
ljacqu
ea824ea3f0 #1016 Update hash algorithms list, add test that Deprecated annotation is in sync between enum and hash impl. class 2017-10-19 21:52:55 +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
ljacqu
7d445217d6 Merge redundant ConsoleLogger#debug overloads
- No need to distinguish between String[] and Object[] because log4j only has methods for Object[]
2017-10-19 20:14:17 +02:00
ljacqu
90073ef95d Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 792-registration-date-and-ip
Conflicts:
	src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java
	src/main/java/fr/xephi/authme/datasource/Columns.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
	src/main/java/fr/xephi/authme/service/SessionService.java
	src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java
	src/test/java/fr/xephi/authme/service/SessionServiceTest.java
	src/test/resources/fr/xephi/authme/datasource/sql-initialize.sql
2017-10-15 23:45:41 +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
ljacqu
ea58e20c3d #792 Include registration date into purging logic
- Take MAX(reg_date, login_date) as timestamp to compare against
- Remove the second "all" parameter to include entries with 0 registration date -> we expect registration date to always be set to the current date, so the parameter becomes obsolete
2017-10-15 18:29:01 +02:00