327 Commits

Author SHA1 Message Date
Gabriele C
eeb5530f61 Fix sqlite migrater logic #2158
Co-Authored-By: ljacqu <ljacqu@users.noreply.github.com>
2020-07-18 01:05:22 +02:00
Gabriele C
e291a0415b Attempt to fix issue #2158 2020-07-17 18:07:42 +02:00
Gabriele C
a1021f9dc3 Fix totp column size #2154 2020-07-16 00:18:51 +02:00
ljacqu
e31cb5bb9e Fix some CodeClimate issues
- Mostly missing Javadoc on methods & line length violations
2019-11-03 10:54:43 +01:00
ljacqu
c34f00f759 #1874 Introduce individual ConsoleLogger instance per class (#1875)
* #1874 Introduce individual ConsoleLogger instance per class
- Create ConsoleLoggerFactory from which a separate logger can be created for each class
- Allows to support individual log level settings in the future

* Fix CodeStyle issue

* Replace full class name with import

* Update usages after merge from master
2019-08-06 15:15:16 +02:00
Alexandre Vanhecke
254d4d75a2 Add optional column for players uuids (#1840) 2019-08-06 15:13:13 +02:00
Alexandre Vanhecke
44cb787577 Add an option to disable MySQL server certificate check - Fix #1735 2019-04-05 22:31:47 +02:00
ljacqu
75e1e5ce51 #1707 Make column context thread-safe 2018-12-17 20:42:43 +01:00
ljacqu
c27a8d359c Merge branch '5.5.0' of https://github.com/AuthMe/AuthMeReloaded 2018-12-04 19:52:12 +01:00
ljacqu
136b9e4b6e Close #1317 Remove migration of lastlogin column from timestamp to bigint 2018-12-04 19:51:11 +01:00
ljacqu
80647c04f4 Merge branch '5.5.0' of https://github.com/AuthMe/AuthMeReloaded 2018-12-04 19:05:14 +01:00
ljacqu
f431325516 #1650 Fix users with capitals not having their session saved 2018-12-04 19:04:25 +01:00
Gabriele C
650a97647a Drop FlatFile storage converter
It's time...
2018-11-30 15:29:30 +01:00
Gabriele C
7f91b739f2 Maven cleaup 2018-09-17 22:55:36 +02:00
Alan Gomes
4be174f083 Add PostgreSQL support (#1620)
* Add PostgreSQL support

* Fix code issues and create integration tests

* Fix identation

* Test Postgres data source in postgres integration test

* Relocated the postgres driver
2018-09-02 12:12:35 +02:00
ljacqu
f79c364f84 Minor fixes as reported by CodeClimate 2018-09-01 09:17:42 +02:00
Gabriele C
da7e7edc37
Fix messaging [WIP] (#1614)
* Fix messaging [WIP]

* Make codeclimate happy

* Codeclimate, pls

* got it, i hope

* Improvements

* Remove duplicated checks, other improvements, make login/logout broadcasts

* Optimize project imports

* Make codeclimate happy again
2018-08-26 15:29:47 +02:00
ljacqu
768ef9179a Update datasource columns version
- Fixes #1551 Bad closing of resources in case of an exception
- Facilitates initialization of SQL handler implementation
2018-05-21 13:07:13 +02:00
ljacqu
2bf78dd186 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-04-02 23:44:19 +02:00
ljacqu
106dea1611 Minor: fix JavaDoc warnings 2018-04-02 23:43:52 +02:00
ljacqu
fc54c0311b #1539 Columns handler: finishing touches
- Add relocation rule for shading of the library
- Fix SQLite connection not being refreshed on reload
2018-04-02 23:19:13 +02:00
ljacqu
26472b6be3 #1539 Create common parent for SQLite and MySQL 2018-03-25 22:27:44 +02:00
ljacqu
4595a14191 #1539 Add support for columns that are not on player auth (is_logged, has_session) 2018-03-25 11:52:40 +02:00
ljacqu
137fc3d505 #1539 Use columns handler in more datasource methods; fix case-insensitivity for SQLite 2018-03-24 22:53:30 +01:00
ljacqu
881ef6a640 #1539 DataSource columns: close MySQL connections, add missing columns, use newly built-in types, improve column initialization 2018-03-24 21:16:43 +01:00
ljacqu
5a58f2c44f #1539 Integrate data source columns library
- Create wrapper around SqlColumnsHandler for AuthMe-specific behavior
- Integrate columns handler into first SQLite and MySQL method implementations
2018-03-24 12:24:43 +01:00
ljacqu
af6bee59bd Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth
# Conflicts:
#	src/main/java/fr/xephi/authme/datasource/MySQL.java
2018-03-19 22:32:16 +01:00
ljacqu
fddb3bf265 Fix minor Checkstyle violations
- Mostly missing JavaDoc, some line lengths
2018-03-11 19:08:21 +01:00
ljacqu
9954c82cb6 #1141 Add TOTP key field to database and PlayerAuth
- Add new field for storing TOTP key
- Implement data source methods for manipulation of its value
2018-03-05 19:50:58 +01:00
ljacqu
7864bb06ac Minor cleanups
- Fix line length violations
- Add JavaDoc to some longer methods
- Remove unused imports
2018-02-23 23:23:24 +01:00
ljacqu
9dd4039fdd #1467 Create backup before migrating; output newly added message keys
- Extract logic for creating a backup timestamp into FileUtils
2018-02-13 22:15:03 +01:00
sgdc3
a92084ec60 Fix the deploy system 2018-01-29 15:08:59 +01:00
Gabriele C
26a69297ce Disable the automatic poolSize option
it creates more issues than benefits
2017-12-13 23:13:28 +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
ljacqu
5c40cb3b73 Insert null email as DEFAULT so column default may take effect
Ugly implementation to fit into AuthMe 5.4. If email on PlayerAuth is null, do not supply NULL as the email value but use DEFAULT instead so that the default value is used if present in the column configuration.
2017-11-04 11:29:21 +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
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
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
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
sgdc3
251eca9ccd Fix #1360 2017-10-20 00:11:42 +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
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
ljacqu
f1bed873d5 Minor - remove code duplication 2017-10-08 01:22:25 +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