Commit Graph

2672 Commits

Author SHA1 Message Date
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
6505538240 Fix codestyle issues 2017-10-30 11:54:19 +01:00
Gabriele C
2d2eb740e3 Implement bungee messaging, CacheDataSource sync 2017-10-30 10:38:13 +01:00
Gabriele C
a5542051f4 Add a way to load user's permission data from the permission handler on demand.
#1350
2017-10-29 19:35:23 +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
Gabriele C
d8d87c8b67 Add option to force using the generic Vault permission handler hook
Requested in #1350
2017-10-29 11:47:38 +01:00
ljacqu
e3dd719b0e
#792 Migrate last IP column if is NOT NULL without default value (#1385)
- Move MySQL migrations into a separate class
- Add migration for last IP column to be nullable if it has a not null constraint without a default value
2017-10-29 07:52:11 +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
c6fbc1187f #1367 MySQL not null changer: List 'not null' and default values separately
- Check not only for NOT NULL constraint but also if a column has a default value
- Use suffixes instead of colors only so the command is usable via console
2017-10-28 15:41:16 +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
d40109929c Fix describeHashAlgos tool task
- Handle case when Argon2 library is not loaded
- Account for hash algorithms with `null` as associated impl. class
2017-10-28 13:40:06 +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
lifehome
bae16f5998 Fix filetype typo 2017-10-26 14:25:14 +08:00
lifehome
80cf712dbc Create help_zhhk
Initial commit of help strings in Traditional Chinese (Hong Kong)
2017-10-26 14:19:01 +08:00
Adam Szczygieł
df69f144c9 Update help_pl.yml
One translation is incorrect, others lacked a translation or had some errors.
2017-10-25 15:20:24 +01:00
lifehome
5a329efb4a Update strings and fix color codes (#1375) 2017-10-23 11:03:57 +02:00
Gabriele C
39647013b2 Cleanup 2017-10-23 08:36:49 +02:00
Gabriele C
cd85c51fbe Perform join process only on player join
Should fix some issues like #1365
2017-10-23 08:31:06 +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
Kacper Duras
90a7b47217 Improve Polish translation in help messages. (#1376)
* Improve Polish translation in help messages.
* Typo, `rerejestracja` -> `rejestracja`.
2017-10-22 22:48:14 +02:00
ljacqu
78e2763984 Help translations: remove entry for /authme purge second argument (no longer exists)
- Remove unknown entries as found by the verifyHelpTranslations tool task
2017-10-22 09:51:32 +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
montlikadani
241b17a1c8 Update HU messages
(cherry picked from commit 9b74a12)
2017-10-21 18:33:18 +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
b5ea48085c #792 DataSource: when creating registrationDate column, set all rows to the current date 2017-10-20 21:31:58 +02:00
ljacqu
a425eacf2d #792 Add missing tests / fix CodeClimate issues 2017-10-20 17:49:30 +02:00
sgdc3
251eca9ccd Fix #1360 2017-10-20 00:11:42 +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
ljacqu
1df5308e56 #792 #814 Create command to remove NOT NULL constraints
- Create command under /authme debug that allows to change the 'nullable' status of MySQL columns (currently last date and email only)
   - We need to offer a default value for forum integrations that have a NOT NULL email column. Offering a command avoids us from force-migrating existing databases while still offering migrations in both directions
- Change in default value handling: lack of values are not handled by setting default values to the PlayerAuth anymore, and reading a default value from the database into a PlayerAuth will be translated into null by the PlayerAuth builder
- When a new database is created, email and lastlogin are now nullable and lack a default a value

Open points:
- Finish MySqlDefaultChangerTest
- Revise purging logic (#792)
- Allow to have more columns nullable (#814)
2017-10-15 12:56:13 +02:00
ljacqu
718c38aa24 Fix failing LoginSecurityConverterTest: allow tolerance for java.sql.Date to millis conversion 2017-10-14 19:51:26 +02:00
ljacqu
52d6476058 #792 Add columns for registration IP and registration date
- Add columns for reg date and IP
- Rename "ip" to "last IP"
2017-10-14 17:37:34 +02:00
RatchetCinemaESP
01e0381d93 Create complete help_es.yml
Complete help messages in Spanish.
2017-10-10 18:43:33 +02:00
Gabriele C
a39edde297 Add note to caching option 2017-10-09 10:19:27 +02:00
Gabriele C
29c30f6c22 Fix unit testing 2017-10-09 09:44:22 +02:00
Gabriele C
41af94aab2 Add DisplayNameNoColor tag in welcome/join messages #1344 2017-10-09 09:25:20 +02:00
Gabriele C
fafbef6be7 Prevent another deadlock in LuckPermsHandler #1350 2017-10-09 09:05:09 +02:00
Gabriele C
45dda0deba Prevent deadlock in LuckPermsHandler #1350 2017-10-09 09:02:14 +02:00
ljacqu
7afda20288 #1338 Implement ''/authme messages help' to generate a fully complete help text file (#1349) 2017-10-09 07:19:38 +02:00
ljacqu
5be3f8facc #1095 Update SMF hash algorithm to generate salt as SMF does
- The salt isn't used for password hashing but SMF requires that there be one to generate the authentication cookie. This does not yet enable registration from Minecraft: SMF has other non-null columns that need to be tackled. This is a first step.
2017-10-08 22:42:37 +02:00
ljacqu
f21605bbb1 Fix failing test 2017-10-08 20:08:46 +02:00
ljacqu
83d6d92a5c Minor - don't read welcome message if unused 2017-10-08 20:05:04 +02:00
ljacqu
5b1d8c6429 Use String#replace over String#replaceAll (the latter uses regex) 2017-10-08 17:32:05 +02:00
ljacqu
f1bed873d5 Minor - remove code duplication 2017-10-08 01:22:25 +02:00
ljacqu
278146a206 Merge branch '1347-change-password-api' of https://github.com/AuthMe/AuthMeReloaded 2017-10-05 23:47:19 +02:00
ljacqu
867b32194b #1347 Adapt tests for new change password architecture 2017-10-05 23:44:16 +02:00
sgdc3
0630c270ca Apply color codes to welcome message #1344 2017-10-04 20:29:30 +02:00
sgdc3
e268c3a624 Start working on the changepassword api method
TODO: fix unit testing
2017-10-04 20:12:53 +02:00
Gabriele C
816e751fe7 Fix minor codestyle issues #1341 2017-10-02 09:40:37 +02:00
Gabriele C
d6e2f35efd Fix unit test #1344 2017-10-02 09:03:30 +02:00
Gabriele C
10c09dbf17 Whoops, wasn't thread safe #1344 2017-10-02 08:48:22 +02:00
Gabriele C
3d08e1bae5 Fix some minor configuration issues #1344 2017-10-02 08:43:20 +02:00
Gabriele C
caf2a0ee9e Fix non-spigot server support 2017-10-02 08:05:35 +02:00
Platinteufel
60c7499cf4 Update messages_de.yml (#1342)
* Update messages_de.yml

* Update messages_de.yml
2017-10-01 23:04:14 +02:00
sgdc3
843baa8e4a Fix 1.7 and 1.8 compatibility 2017-10-01 19:53:15 +02:00
Gabriele C
d9399568a3 Add custom tempban unit testing 2017-09-30 21:16:02 +02:00
Gabriele C
7d61f2679c Fix unit testing 2017-09-30 20:51:49 +02:00
Gabriele C
3ea250cb10 Implement #794 2017-09-30 19:57:27 +02:00
Stefatorus
5d87f1fb51 Update messages_ro.yml 2017-09-30 20:30:40 +03:00
Stefatorus
4934d9f72a Update messages_ro.yml 2017-09-30 20:22:50 +03:00
Stefatorus
edf072eabb Fixed Grammar & spelling issues
I fixed some grammar and spelling isues, and made some messages be more explicit.
2017-09-30 20:18:38 +03:00
Stefatorus
a3a9bc7e0f Translated /authme help in romanian.
Translated /authme help in romanian.
2017-09-30 19:51:13 +03:00
Gabriele C
ceba761b7b Fix session timeout
whoops xD
2017-09-30 18:22:06 +02:00
ljacqu
37dc918ece Minor: remove commented out code 2017-09-30 17:44:34 +02:00
Gabriele C
e59df84a84 Fix session system (#1337)
* Old session system

* Actually check if sessions are enabled

* Cleanup

* Don't use cached isLogged value
2017-09-30 15:15:25 +02:00
sgdc3
f45092bdd2 Fix limbo player location on join 2017-09-30 15:13:35 +02:00
sgdc3
574fa9034d Cancel PlayerItemHeldEvent for unlogged users 2017-09-28 00:50:25 +02:00
sgdc3
920e65c4f4 Codestyle cleanup 2017-09-27 15:16:33 +02:00
sgdc3
dc4124de0a Fix unit tests 2017-09-27 14:48:26 +02:00
sgdc3
32f8e354df Should fix issues like #1336 and #592
The #592 fix will be effective only on 1.9+ servers
2017-09-27 14:41:23 +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
ljacqu
649b027e5b Output used permission system in /authme debug perm 2017-09-17 09:09:11 +02:00
Gabriele C
6c6fbaf12d Login performance (#1331)
* Ignore intellij tmp files

* Enhance onLogin performance
2017-09-17 09:05:13 +02:00
sgdc3
3d67305e9e Fix country code link #1330 2017-09-16 14:04:32 +02:00
sgdc3
3d26357df6 Use Utils.isEmailEmpty #1329 2017-09-16 14:02:16 +02:00
Gabriele C
9392291b36 Fix luckperms permission check 2017-09-14 21:03:08 +02:00
Gabriele C
a5466a8937 Fix luckperms user cleanup 2017-09-14 20:50:09 +02:00
Gabriele C
f754331de6 Implement LuckPerms permission handler
#1324
2017-09-14 20:39:15 +02:00
Gabriele C
e1466425a1 Print the "Forgot your password? ..." message only if the user has set the recovery email address #1329 2017-09-14 18:24:14 +02:00
dboecker
f13daff0c7 Update messages_de.yml (#1328)
Did the To-Do of German translation strings.
2017-09-10 04:01:02 +02:00
Gabriele C
45db55a081 Whoops, fix test 2017-09-06 04:11:02 +02:00
Gabriele C
08182e41f6 Fix null address 2017-09-06 00:56:27 +02:00
Gabriele C
8ae8ccf5cf Fix failing tests 2017-09-03 02:54:29 +02:00
Gabriele C
9e28700acf Attempt to fix #592
Should teleport the player before chunks/world are sent to the player
2017-09-03 02:43:34 +02:00
Gabriele C
2fbdd46919 #1298 Make permission manager accept OfflinePlayers + fix permission purge 2017-09-03 02:07:00 +02:00
Gabriele C
72da27e734 Fix #1324 2017-09-03 01:04:05 +02:00
Gabriele C
58aad9ed41 Fix unit tests 2017-09-03 00:53:45 +02:00
Gabriele C
c0a0a7e2a3 Use TestHelper.mockPlayerIp in tests 2017-09-02 12:47:26 +02:00