246 Commits

Author SHA1 Message Date
ljacqu
666e242212 Delete CollectionUtils (unused) 2017-01-21 14:47:18 +01:00
Gabriele C
26194d676d #1063 Add useSSL option 2017-01-14 22:14:37 +01:00
ljacqu
b3a8c726cf Use Optional in CacheDataSource again
- An exception is thrown e.g. when running '/authme email player' where 'player' does not exist because CacheLoader#load may not ever return null (see Javadoc). Therefore, we are forced to wrap the PlayerAuth in an Optional.
- Use Java 8 Optional instead of Google's
2016-12-11 09:55:47 +01:00
DNx5
2586963780 Remove redundant Optional usages 2016-12-06 01:24:36 +07: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
ljacqu
e30d7220bd #472 Store recovery codes in memory instead of in data source 2016-09-16 21:42:16 +02:00
ljacqu
c5f5c0d2fd #472 Require recovery code before resetting password
- /email recovery generates recovery code and resets password only if recovery code is also given
- Change data source method to return email and recovery code
2016-09-10 14:27:26 +02:00
ljacqu
3b723bbbe9 Fix removal of recovery code 2016-09-10 09:29:34 +02:00
ljacqu
0aac8928af #472 Create recovery code/expiration columns and methods in data source 2016-09-10 09:13:17 +02:00
Gabriele C
9fa5f2beea Mysql CP performance enhancements 2016-09-02 15:48:58 +02:00
Gabriele C
4f1d6585cf Cleanup, take 3 2016-08-09 14:53:22 +02:00
Gabriele C
ec3db792ed Try to fix cache refresh issue on shutdown 2016-08-09 13:48:18 +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
18a9fbaa26 #449 Migrate remaining non-group legacy Settings 2016-07-23 14:44:52 +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
games647
837bbd69ac Remove the debug code as the source for random-logouts is found 2016-06-28 16:09:32 +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
ljacqu
2ac89f5938 Apply minor changes to PurgeService
- Remove various imports / unused fields
- Make CacheDataSource call source for purging on DB
- Minor: SQLite - place creation of PreparedStatement outside of loop
- Make specific purge actions called from task package-private (clearer from the outside which methods can be called from the outside)
2016-06-16 21:04:12 +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
7865d7dc2c Remove synchronized methods from the Cache (please check)
@Xephi @ljacqu @games647
2016-05-23 21:18:31 +02:00
Gabriele C
b2b65710b1 Also for SQLITE #719 2016-05-21 15:00:48 +02: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
ljacqu
e04f7dc711 #704 Implement reloading via injector
- Create interfaces Reloadable and SettingsDependent to recognize reloadable classes
- Iterate through instances in injector to reload
2016-05-12 19:51:10 +02:00
games647
4bad04b160 Add debug statements for finding the source of #419 2016-05-11 16:57:41 +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
ljacqu
ca0cbe6caf Code householding
- Move console initialization for tests into TestHelper
- Remove unused properties in legacy Settings
- Add issue number to TODO comments where applicable
2016-04-14 12:28:19 +02:00
ljacqu
3bb7ff2b85 #653 Empty salt column causes error when retrieving password
- Handle potentially empty salt column in MySQL and SQLite
- Create unit tests reflecting these cases
2016-04-14 11:48:24 +02:00
Gabriele C
4ec98e5b3d Fix #646
Thanks to @hakumanatatu
2016-04-07 22:57:20 +02:00
ljacqu
b6ccb3e632 #567 Add/change email should be aware of account threshold 2016-04-03 14:24:12 +02:00
DNx5
cb995a99a6 Fix Sqlite backend didn't remove old accounts. 2016-04-01 08:45:31 +07:00