110 Commits

Author SHA1 Message Date
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
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
ljacqu
dfc713fde6 Reload only specific entities (work in progress)
- Remove attempt of reinitializing all components -> will lead to inconsistent states. Call reload on reloadable components instead
2016-03-09 18:39:04 +01:00
ljacqu
98df21d75a #575 Hotfix for reload support
- Create temporary method for reloading any stateful entities -> a lot of duplicated code, to be fixed soon within #432
- Remove unused methods
2016-03-05 22:30:35 +01:00
ljacqu
63b31b0814 Create resource closing test
- Generic test for MySQL and SQLite checking that all generated (Prepared)Statement and ResultSet instances are closed afterwards
- Fix offending code for test to pass
2016-02-27 22:45:39 +01:00
ljacqu
27b1fa770f #392 Add datasource integration tests 2016-02-26 22:12:16 +01:00
ljacqu
69092e9a9c #392 Add datasource integration tests 2016-02-24 21:50:40 +01:00
ljacqu
5e16ca1490 #392 Create integration test for MySQL
- Relocate tests to AbstractDataSourceIntegrationTest to reuse tests for SQLite and MySQL
- Add H2 driver and create test class for MySQL
2016-02-22 21:52:10 +01:00
ljacqu
b6384da540 #542 Revert lastlogin column from timestamp to bigint
- While the timestamp type better represents what we store, we use timestamps internally in AuthMe and had to convert between the timestamp type to a long when communicating with a MySQL database. This ends up being inconsistent with SQLite, which does not support the storage of timestamps and an additional burden as the 0000-00-00 00:00:00 timestamp has a special meaning in MySQL we must otherwise check for before fetching values.
2016-02-22 21:04:01 +01:00
ljacqu
e8f518711c #442 Fix email presence check being case-insensitive
- Add integration tests
- Change DataSource interface to return the number of accounts only, since that's all we require
2016-02-21 21:38:29 +01:00
ljacqu
dfa3921740 Close resources in MySQL (incomplete)
- Connection, (Prepared)Statement and ResultSet all should be closed. try-with-resources is the best way as it's less verbose than a finally block and it's better than putting close() calls inside the try{} as that will not be run if an exception happens beforehand
2016-02-20 23:09:48 +01:00
DNx5
cc29d8b628 Fix duplicate entry error, #528 2016-02-20 06:47:59 +07:00
ljacqu
90e0dc1875 Various code householding
- Remove unused API on DataSource
- Add some sensible javadoc to DataSource
- Minor code simplification
2016-02-19 23:19:38 +01:00
DNx5
7c1dd888cc Fix real name update. 2016-02-16 07:14:40 +07:00
ljacqu
5dc1598f6e Wrap column names into class
- Load column names for data sources centrally
- Remove no longer used settings in legacy Settings
2016-02-14 13:25:16 +01:00
ljacqu
6e2528278a #477 Make updateSession() timestamp-aware; fetch timestamp safely 2016-02-14 09:51:13 +01:00
ljacqu
db4d4a7cce #477 Change lastlogin column from bigint to timestamp (work in progress)
- Alter column type
- Create migration for MySQL
- Unrelated: move DataSource enum to its own file
2016-02-07 14:27:03 +01:00
ljacqu
b4b679d3b9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email
Conflicts:
	src/main/java/fr/xephi/authme/datasource/MySQL.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/process/Management.java
	src/main/java/fr/xephi/authme/process/email/AsyncChangeEmail.java
2016-02-06 18:01:23 +01:00
ljacqu
c28a1b537f #495 Create ConsoleLogger method dedicated to logging exceptions 2016-02-05 23:11:38 +01:00
Xephi
4f76398ce8 #495 - Done 2016-02-05 13:24:38 +01:00
ljacqu
d4e3e55e07 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email 2016-01-19 17:16:05 +01:00
games647
0aa6f753be Set utf-8 encoding for MySQL connections
Fixes Xephi/AuthMeReloaded#458
2016-01-19 14:31:29 +01:00
ljacqu
b0ba893827 #437 Add/change email should check if email is already used
- Untested/incomplete implementation
2016-01-17 20:41:19 +01:00
Xephi
5cc5ee8cae Little fail 2016-01-09 21:39:27 +01:00
Xephi
607380e59c Use PreparedStatement in all case needed it - #308 2016-01-09 21:30:13 +01:00
DNx5
7eeabd68e7 Fix saveAuth method didn't save email. 2016-01-09 06:26:36 +07:00
DNx5
5187ce152a Enabled cachePrepStmts properties. 2016-01-09 06:19:09 +07:00
DNx5
b380893847 Serialize Xenforo hash before put it into table.
- Fix #417
2016-01-09 06:13:47 +07:00
Xephi
b8ae8d995b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-08 19:16:06 +01:00
Xephi
7ec46e2940 Add strict mode 2016-01-07 09:31:32 +01:00
DNx5
da5de58afb Rename XF class into XFBCRYPT. 2016-01-07 06:15:39 +07:00
DNx5
0c305a6287 Added new updatePassword method in DataSource class 2015-12-31 12:55:34 +07:00
DNx5
bd5d341e67 Xenforo support.
- Added getPassword method in DataSource and all implementations.
2015-12-31 11:05:18 +07:00
ljacqu
aed23cb1ef Revert removal of XENFORO enum, hash class and custom SQL
- Undo commits 121d323 and 1c12278
- Add TODO's with issue number
- Add slight, necessary adjustments for code changes since the reverted commits
2015-12-31 00:36:08 +01:00
ljacqu
3328656134 #358 Create test for PasswordSecurity, create salt column if not exists
- Add test class for PasswordSecurity
- Check and create the salt column in MySQL and SQLite when necessary
- Add javadoc to some classes
2015-12-30 21:36:07 +01:00