686 Commits

Author SHA1 Message Date
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
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
Gabriele C
29c30f6c22 Fix unit testing 2017-10-09 09:44:22 +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
867b32194b #1347 Adapt tests for new change password architecture 2017-10-05 23:44:16 +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
d6e2f35efd Fix unit test #1344 2017-10-02 09:03:30 +02:00
Gabriele C
caf2a0ee9e Fix non-spigot server support 2017-10-02 08:05:35 +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
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
dc4124de0a Fix unit tests 2017-09-27 14:48:26 +02:00
Gabriele C
6c6fbaf12d Login performance (#1331)
* Ignore intellij tmp files

* Enhance onLogin performance
2017-09-17 09:05:13 +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
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
Gabriele C
6b875a9ba4 Add permission to bypass country check (#1323)
* Add permission to bypass country check

#1321 Still need to fix unit tests

* Fix test
2017-08-31 19:36:57 +02:00
Gabriele C
b96ae61697 Remove some old plugin hooks, update dependencies 2017-08-31 11:47:55 +02:00
HexelDev
1dfb3575b5 #1119 email show permission and privacy improvements (#1312)
* #1119 new permission and email hider

* Updated commands.md

* Improved email hiding method

* Revert "Improved email hiding method"

This reverts commit cb60d7b

* New config option, updated tests, config.md and permission_nodes.md

* Moved to service import, fixed typo and updated config.md

* Removed unused imports O.o
2017-08-12 16:20:06 +02:00
Gabriele C
7e957cb8c7 Add missing api methods #1304 2017-08-01 16:41:00 +02:00
ljacqu
a801f03cf2 Merge pull request #1296 from AuthMe/5.4-Dev
Merge 5.4 development
2017-07-29 15:25:01 +02:00
HexelDev
a973dc3f6d Implement restricted users rules with * wildcard support (Enhancement #1278 and #1227) (#1297) 2017-07-25 21:39:31 +02:00
ljacqu
027d0fc775 Create TestHelper method to make Settings mock return defaults 2017-07-23 18:00:51 +02:00
ljacqu
efc06ef2a6 #1255 Create resource-closing tests for the MySQL extensions
- Remove test runs with different hash algorithms in the abstract super class
- Create resource-closing tests for the new extension classes
2017-07-23 17:29:36 +02:00
ljacqu
8eceaa8cbb #1255 Simplify MySQL data source extensions
- Mostly oving the logic of getting the ID from the DB to the extensions superclass
2017-07-23 16:38:35 +02:00
ljacqu
cbc794ba20 #1255 Extract forum-specific data source actions into separate extension classes 2017-07-23 14:19:28 +02:00
ljacqu
f88350b06d Fix Checkstyle violations
- Mostly missing Javadoc on large methods
- CommandInitializer: split command building method into multiple methods
2017-07-16 23:07:13 +02:00
ljacqu
4ac980111d Add some tests, minor Checkstyle fixes 2017-07-16 13:00:55 +02:00
ljacqu
e1826c75c8 #1280 Add NOTHING as possible flight restore type 2017-07-10 21:45:05 +02:00
ljacqu
cb73160bcd Minor - simplify CodeClimateConfigTest
- No need to load the class when we just want to ensure that the file exists
2017-07-08 23:10:42 +02:00
Gabriele C
919a715ded Cleanup 2017-07-08 22:51:01 +02:00
Gabriele C
fe770ac29d Revert "Fix limbo service unit test"
This reverts commit 4cbfc8a81232542fb1118c40f77ca3d1e52c5612.
2017-07-08 22:45:32 +02:00
Gabriele C
4cbfc8a812 Fix limbo service unit test 2017-07-07 20:41:31 +02:00
Gabriele C
cd4693eedf GeoIP: ignore local addresses 2017-07-07 20:41:10 +02:00
Gabriele C
001e5d0376 Pom cleanup, fix LimboService test dependencies
@ljacqu Could you fix the test please?
2017-07-07 15:06:02 +02:00
Gabriele C
4e61117ef7 Add xf table prefix to config
#957
2017-07-06 18:46:24 +02:00
Gabriele C
cd4766e0a1 Add regex support to restricted users ip addresses #1227
Seems to work: https://regex101.com/r/zSp6Ke/1
@ljacqu What do you think?
2017-07-03 01:43:56 +02:00
ljacqu
f150668fc1 Minor - remove unused imports
- As determined by CodeClimate
2017-07-02 11:00:17 +02:00
ljacqu
ff99b63385 #1265 Limbo: fallback to old "group" during deserialization, favor old limbo's groups over new limbo's 2017-07-02 10:55:51 +02:00