146 Commits

Author SHA1 Message Date
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
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
DNx
87b9bf140d Add database setting to configure HikariCP 'maxLifetime' #1279 2017-07-12 07:21:05 +07:00
Gabriele C
4e61117ef7 Add xf table prefix to config
#957
2017-07-06 18:46:24 +02:00
Gabriele C
b24dcfed3c Try to fix #1261 2017-07-02 13:21:04 +02:00
Alexandre Vanhecke
a167429fbc perf(datasource): Use try-with-resources when it's possible 2017-05-21 15:13:40 +02:00
ljacqu
1f8307c8f6 Fix minor checkstyle issues
- Add JavaDoc where checkstyle expects it
- Fix line too long issues
- ...
2017-05-07 11:59:01 +02:00
ljacqu
82d74ca0a7 Move close methods out of sql datasource utils class
As noticed by @Gnat008
- We need two different implementations for MySQL and SQLite because SQLite uses an older version where #isClosed is not implemented
2017-04-29 08:18:43 +02:00
ljacqu
e56a3c0ab6 #815 Save yaw & pitch for last login in SQL data sources 2017-04-22 13:30:03 +02:00
ljacqu
07633a89c8 Create SQL data source utils class
- Extract logic used in SQLite and MySQL for logging and closing SQL objects
    - Decided to leave buildAuthFromResultSet methods individually as this might be more implementation-specific
- Rename DataSource#close to DataSource#closeConnection to fix conflict with static import
2017-04-18 22:55:39 +02:00
ljacqu
04ca36fe53 Use more specific query to get logged in players without email
- Reduces the amount of data returned from the DB and the work required to build objects
2017-04-18 22:30:54 +02:00
ljacqu
b99cc3bada #1127 Create DataSource#getEmail 2017-04-18 21:07:31 +02:00
ljacqu
32a664ef59 Update checkstyle config and CodeClimate exclusions
- Add new checkstyle checks: require Javadoc on large private methods, default in switch, declaration order & others
- Update path exclusions in CodeClimate config to match newly renamed classes (e.g. PHPBB -> PhpBB)
  - Create consistency check testing that excluded paths exist as classes
- Fix some trivial violations
2017-03-23 10:34:28 +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
Martin
5ca1c17771 Xenforo support
Added in-game xenforo support. User can register/login in-game, in
website only login. Register have issues i will try to fix it.
2017-03-08 01:21:29 +02:00
Martin
6d67b82860 Xenforo
Added Xenforo group
2017-03-06 06:31:51 +02:00
Martin
648e71cf0f IPB4 Improve
IPB4 prefix, group, lastvisit support added.
2017-03-06 06:11:59 +02:00
Gabriele C
f0f2398e47 Incrase the auto poolSize value 2017-02-15 23:27:25 +01:00
Gabriele C
26194d676d #1063 Add useSSL option 2017-01-14 22:14:37 +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
46af922fba Minor refactoring for tool tasks
- Don't scan for translations on initialization in TranslationPageGenerator in order to speed up startup time of ToolsRunner
- Extract checking for null / empty array of File#listFiles into a separate method
- Move single method of RuntimeUtils into Utils class
2016-10-30 10:43:59 +01:00
Gabriele C
1867617dbb Add option to override dbcp size 2016-10-22 00:46:28 +02:00
Gabriele C
58c42cf300 Package cleanup
- authme.cache to authme.data
- Rename PlayerData to LimboPlayer to match with LimboCache
- Move authme.converter to authme.datasource.converter
- Split output package into output and message
2016-10-05 21:10:40 +02:00
ljacqu
ff9f50f63f #886 Do not include players with lastlogin = 0 in autopurge or default purge 2016-09-18 16:49:34 +02:00
ljacqu
405bd563d8 #950 Add unregister by name to API
- Add method to API
- Ensure that unregistering in datasource is case-insensitive
2016-09-18 14:46:02 +02:00
Gabriele C
9fa5f2beea Mysql CP performance enhancements 2016-09-02 15:48:58 +02:00
ljacqu
eef314b965 Write more unit tests for listeners, minor cleanup 2016-08-06 13:21:39 +02:00
ljacqu
fcb50f2fd5 #887 Migrate int lastlogin column to bigint
- Migrate lastlogin column to bigint if it is of int type
- Attempt to migrate timestamp values
- Fix timestamp to bigint migration to create correct timestamps, too
2016-08-05 23:01:58 +02:00
ljacqu
19de5a0525 Close #449 Rename NewSetting class to Settings :) 2016-07-23 15:50:40 +02:00
ljacqu
57f90fe410 #784 Make DataSource#purgeRecords case-insensitive 2016-07-18 21:29:05 +02:00
ljacqu
5953bfd012 #784 Separate purge execution and purge task creation
- Delete accounts in PurgeExecutor, after permission check
2016-07-17 17:33:25 +02:00
ljacqu
e7b980d435 #605 Logger - name methods after their log level
- Remove separate print stacktrace method
- Log level into the log similar to console output
2016-07-12 22:06:32 +02:00
ljacqu
dccbd5262f Don't update IP twice
- IP is updated in datasource#updateSession after successful login
- Remove no longer used DataSource#updateIp
2016-07-12 21:45:05 +02:00
ljacqu
9a5c432509 #655 Encapsulate mail service
- Change SendMailSSL to be injected into classes and created regardless of settings
- Various minor cleanups (remove accidentally committed test, add more precise logging statement)
2016-07-02 20:56:53 +02:00
ljacqu
22911a0bb9 Remove duplicate column initialization code, add datasource integration tests
- Drop initialization of all columns on table create in favor of checking each column individually. This is slower but guarantees that each column is only defined once in the code. Columns are only created once so having clean code outweighs performance.
- Write more datasource integration tests
2016-07-02 19:16:26 +02:00
ljacqu
de3f3a42ab #679 Fix compatibility with InnoDB/XtraDB engine
- Includes other improvements in collation and data types
2016-07-02 10:24:44 +02:00
ljacqu
73a9b5ce0c Cleanup - reduce duplication in MySQL class 2016-07-02 08:28:37 +02:00
ljacqu
3629c51fc1 #674 PurgeService: Always register if purging, reduce code duplication
- Rename autoPurging to isPurging: we should always register if a purge task is in progress (regardless if autopurge or not) and deny any new requests
- Reduce the same logic being coded multiple times by calling through the methods
- DataSource: remove purgeBanned in favor of purgeRecords, both do exactly the same thing
2016-06-16 22:52:11 +02:00
Gnat008
fb8baeafd2 remove database auto purge methods 2016-06-16 12:52:42 -04:00
Gnat008
af1520802d major refactor of the purging process 2016-06-16 12:28:42 -04:00
Gabriele C
7a21294581 Don't use synchronized methods #719 2016-05-21 14:58:57 +02:00
Gabriele C
7ad39e2a5d Use default Hikari pool parameters 2016-05-21 14:54:03 +02:00
Gabriele C
df2329fd9a Fix conflict 2016-05-16 16:27:59 +02:00
Xephi59
9db330646e Try to fix #419 2016-05-15 17:52:54 +02:00
games647
0bd6ac5cc8 Make the purge progress run more balanced (Fixes #696) 2016-05-09 13:09:40 +02:00
Gabriele C
5ceabe2146 Cleanup 2016-05-04 17:26:58 +02:00
ljacqu
37fb29f8b9 #638 Register with Wordpress fails with SQL exception
- Remove semicolon in query, looks like executeBatch() does not like it
2016-04-20 21:22:57 +02:00