Commit Graph

1314 Commits

Author SHA1 Message Date
ljacqu
3845c1e0eb #347 Add NewSetting to command service
- Adjust NewSetting constructor to match needs in AuthMe
- Add NewSetting to the command service
- See CaptchaCommand for a sample replacement from Settings to NewSetting
2016-01-09 12:45:58 +01:00
ljacqu
88629702f5 #347 Test that all read properties exist as Property field
- Create consistency test to verify that all properties in config.yml are defined as a Property field in a SettingsClass implementation (currently fails)
- Add some missing properties
- Minor: convert tabs to spaces
2016-01-09 09:30:49 +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
ljacqu
0603243c86 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-08 23:44:16 +01:00
ljacqu
752ebe5022 Fix cast exception in integration test
- Although the class only has fields of Property type it would appear that CircleCI et al. may use libraries that add fields to classes later on, so we need to check for the field type
2016-01-08 23:40:54 +01:00
DNx5
642a40724b Used Bukkit API to format color codes. 2016-01-09 05:40:03 +07:00
ljacqu
d0b7d0ff06 #347 Create consistency and integration tests for NewSetting
- Ensure that the project's config.yml contains all settings that NewSetting is aware of
- Add extensive, more generic integration tests
2016-01-08 23:20:42 +01:00
ljacqu
69c225c850 #347 Create tests and add check for missing settings in NewSetting 2016-01-08 21:22:26 +01:00
Xephi
c8fa9a146e reduce check 2016-01-08 19:26:26 +01:00
Xephi
b8ae8d995b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-08 19:16:06 +01:00
DNx
05ccd77d09 Merge pull request #86 from AuthMe-Team/137-xenforo-support
Xenforo support
2016-01-08 06:51:47 +07:00
ljacqu
30db03837a #347 Add 'contains' method to PropertyType 2016-01-07 21:58:28 +01:00
ljacqu
7d749801f9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-07 21:51:20 +01:00
ljacqu
acda03bb40 #347 Create enum property + consistency tests 2016-01-07 21:38:03 +01:00
ljacqu
120e69ac67 Fix null pointer in tests 2016-01-07 20:49:41 +01:00
Xephi
7ec46e2940 Add strict mode 2016-01-07 09:31:32 +01:00
DNx5
fa31fd92b8 Fix #417 2016-01-07 14:14:08 +07:00
DNx5
fab13c586f Remove skip test for Xenforo hash. 2016-01-07 07:41:09 +07:00
DNx5
d6ab7d5da8 Ask player to change email if email already added. 2016-01-07 07:24:26 +07:00
DNx5
2c13783c6c Created test for XFBCRYPT. 2016-01-07 07:12:30 +07:00
DNx5
6855fb93fc Fix #416 2016-01-07 06:47:45 +07:00
DNx5
da5de58afb Rename XF class into XFBCRYPT. 2016-01-07 06:15:39 +07:00
DNx5
781a005c25 Merge remote-tracking branch 'origin/137-xenforo-support' into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-07 05:43:49 +07:00
DNx5
e0c3affa33 Merge branch 'master' into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/datasource/CacheDataSource.java
	src/main/java/fr/xephi/authme/datasource/DataSource.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-06 12:15:27 +07:00
DNx5
2081fd7e34 Removed AuthMeServerStop shutdown hook.
- Players now will be kicked if AuthMe was disabled.
 - Fix #413
2016-01-06 10:24:46 +07:00
DNx5
44d35154aa Register permissions properly in "plugin.yml".
so permissions manager plugin can read what available permissions for AuthMe
2016-01-06 10:02:32 +07:00
ljacqu
204a564a9a Move new configuration packages and add test for PropertyMap 2016-01-05 21:59:08 +01:00
DNx5
fd73ce1562 Attempt to Fix permissions wildcard problem. 2016-01-05 07:21:24 +07:00
DNx5
627db6b9cf Attempt to Fix #407 2016-01-05 06:33:43 +07:00
ljacqu
5ec1b67e03 Fix #408 Player quit location is not updated
- Ensure that the cache data source updates the quit location on the actual source
2016-01-04 21:52:39 +01:00
ljacqu
cb07b3df3d Create enum property type, trivial code simplification 2016-01-04 20:33:31 +01:00
DNx5
6d7d856ebe Wait executor to complete the submitted task before shutting down
* Fix #403
2016-01-04 05:04:52 +07:00
ljacqu
7d41ccbc9c Settings: use class constants for properties, create custom writer
- Create Property class for defining config properties
  - Create logic for typed retrival of properties from YAML file
- Add custom save method
  - Retain comments from Comment annotations in the classes
  - Write in a sorted order: first discovered properties are first written to config.yml
- Adjust properties to reflect the current config.yml
- Add sample tests for the retrieval and writing of properties with the new setup
2016-01-03 15:22:32 +01:00
Xephi
c2deb9d0b5 Start rework of Settings
Please move to another branch :3
(cherry picked from commit 0c5d835)
2016-01-03 15:15:52 +01:00
DNx5
fe31b5cabb I forgot to remove the old check. 2016-01-03 09:38:30 +07:00
DNx5
774b7513c9 Attempt to update player's IP on login if they have default IP in database. 2016-01-03 09:34:46 +07:00
DNx5
4161dcaa94 Fix SingleSession check order. 2016-01-03 09:34:44 +07:00
DNx5
052e414ff3 Moved VeryGames IP check into AsyncJoin process.
- Updated VeryGames IP check method.
- Remove player's IP from realIp map on quit.
2016-01-03 09:34:41 +07:00
DNx5
4ea6cc9d69 Fix player name case check. 2016-01-03 09:34:38 +07:00
ljacqu
9533965095 Minor - update JavaDoc for HashAlgorithm
- Replace incorrect description
2016-01-02 01:09:42 +01:00
ljacqu
561e21f5e2 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/datasource/DataSource.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-02 00:52:08 +01:00
DNx5
6cae520604 Use Guava's Files.toString API to read the email file. 2016-01-02 06:24:44 +07:00
DNx5
266c979319 Use Bukkit API to extract "email.html" from plugin file. 2016-01-02 06:24:42 +07:00
ljacqu
071800481a Minor - fix failing build 2016-01-01 10:34:38 +01:00
ljacqu
94c836376e Revert "Start rework of Settings" from master
- Revert 1f55e85 because it's simpler to have ljacqu revert a commit on master, create a new branch and cherry-pick the reverted commit than to enter one command to change branch
2015-12-31 17:02:15 +01:00
Xephi
0c5d835f47 Start rework of Settings
Please move to another branch :3
2015-12-31 16:35:38 +01:00
Xephi
1f55e85172 Start rework of Settings 2015-12-31 16:35:08 +01:00
ljacqu
d46a2f0755 Fix test in PasswordSecurity for new savePassword() 2015-12-31 13:52:16 +01:00
ljacqu
209cc23c4b Fix markdown table in hash algorithms overview
- GitHub requires at least 3 dashes between two column separators |. Most markdown previewers don't have this restriction.
2015-12-31 13:42:41 +01:00
ljacqu
6475cecd79 Add tools task to generate an encryption algorithm overview 2015-12-31 13:33:00 +01:00
ljacqu
a0da423a7b Minor - Javadoc changes
- Add/replace/improve javadoc in the commands and encryption section
- Note: A simple <p> is the javadoc way to make a new paragraph
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format
- Note: Do not escape '<' and '>' inside of {@code }
- Note: '>' does not need to be escaped
2015-12-31 13:32:41 +01:00
DNx5
0c305a6287 Added new updatePassword method in DataSource class 2015-12-31 12:55:34 +07:00
DNx5
9eeb510b08 Messing up the test. 2015-12-31 12:20:48 +07:00
DNx5
bd5d341e67 Xenforo support.
- Added getPassword method in DataSource and all implementations.
2015-12-31 11:05:18 +07:00
Xephi59
e1a84448a2 Fix the whole Javadoc syntax 2015-12-31 01:06:09 +01: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
52222d98e0 Fix #321 Message verifier should understand line breaks
- Make messages verifier understand that indented lines belong to the same message
- Revert newline to &n replacements done in f5583f4
2015-12-30 23:56:09 +01:00
ljacqu
eea3697fa4 #364 Add test for bogus hashes
- Verify that a "hash" in the wrong format doesn't throw exception (this is relevant when the supportOldPasswordHash setting is enabled)
2015-12-30 23:24:36 +01:00
ljacqu
c0a393b8b3 Minor - rename EncryptedPassword to HashedPassword
- We hash passwords; we don't encrypt them
2015-12-30 22:51:59 +01:00
ljacqu
e85dbe81e5 #358 Ensure lowercase player name, issue cleanup
- Ensure within PasswordSecurity that the player name is lowercase
- Remove check for MD5VB separate salt (we only generate hashes with the salt embedded, so either we need to change that or we don't need this check)
- Remove obsolete TODO
2015-12-30 22:45:18 +01:00
Gabriele C
300a621e1c cleanup 2015-12-30 22:28:45 +01:00
ljacqu
71f8a01179 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 358-encryptn-mthd-refactor 2015-12-30 21:37:52 +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
ljacqu
8b60c66cc8 Minor - adjust PlayerAuth builder methods
- Rename hash() to password()
- Add location(Location) builder method
- Replace usages of password(new EncryptedPassword(hash, salt)) to the more terse password(String, String) builder method
2015-12-30 18:28:06 +01:00
ljacqu
a3402d573f #358 Handle hash + salt as one "unit"
- Rename HashResult to EncryptedPassword to reflect its broader use
- Use EncryptedPassword in methods that require the hash and the salt, instead of passing them as strings separately
- Store EncryptedPassword as field in PlayerAuth; updatePassword() thus processes the entire data in the EncryptedPassword object
2015-12-30 17:56:22 +01:00
ljacqu
9c4a578bec #358 Remove old methods on PasswordSecurity, unify hash + salt
- For encryption methods with a separate salt, the hash is useless without the salt, so hash and salt should always be persisted and retrieved together
2015-12-30 15:43:25 +01:00
Xephi
81a9811c9b Revert "Add a way to handle a player logout in playerquit into bungeecord"
This reverts commit a3a3907586.
2015-12-30 15:11:17 +01:00
Xephi
a3a3907586 Add a way to handle a player logout in playerquit into bungeecord 2015-12-30 14:40:19 +01:00
Xephi
bf6ef0f4a0 don't take care about message :D 2015-12-30 13:54:54 +01:00
ljacqu
ce6951bcfe Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 358-encryptn-mthd-refactor 2015-12-30 13:53:53 +01:00
Xephi
edffae3a36 Add TabComplete support through ProtocolLib 2015-12-30 13:20:24 +01:00
Xephi
ac0225c621 Revert "Start a rework of some SQL Queries, add a Query builder"
This reverts commit da1adb632e.
2015-12-30 13:14:53 +01:00
Xephi
bfbddd466a Revert "Change to QueryType"
This reverts commit f7010f1d3b.
2015-12-30 13:14:48 +01:00
Xephi
668535d93f Revert "Pass args through PreparedStatement"
This reverts commit 14e130eaee.
2015-12-30 13:14:41 +01:00
Xephi
0a2941ed4e Revert "Remove source from constructor"
This reverts commit dbacf7754d.
2015-12-30 13:14:32 +01:00
Xephi
dbacf7754d Remove source from constructor 2015-12-30 12:05:24 +01:00
Xephi
14e130eaee Pass args through PreparedStatement 2015-12-30 12:03:48 +01:00
Xephi
f7010f1d3b Change to QueryType 2015-12-30 09:59:28 +01:00
Xephi
da1adb632e Start a rework of some SQL Queries, add a Query builder 2015-12-29 17:07:33 +01:00
ljacqu
922082f312 #364 Add HashAlgorithm integration test, fix failing tests
- Create integration test for the HashAlgorithm enum
- Create AsciiRestricted annotation and make test aware of it
- Add option to skip "same hash for same salt" test (for wordpress)
- Change some EncryptionMethods to extend from a common superclass
2015-12-29 13:29:26 +01:00
ljacqu
531327dd9b Minor - make AuthMe.database private
- In favor of AuthMe.getDataSource()
2015-12-29 11:55:57 +01:00
ljacqu
571cb6d36b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 358-encryptn-mthd-refactor 2015-12-29 10:54:09 +01:00
ljacqu
b3b751920a #358 Replace usage of static PasswordSecurity methods
- Replace static methods to instance methods
- Use PlayerAuth builder instead of constructor
2015-12-29 00:13:20 +01:00
ljacqu
1c12278c4b #369 Remove XENFORO enum entry 2015-12-28 22:39:15 +01:00
ljacqu
121d323221 #369 Delete Xenforo (XF) encryption algorithm
Rationale:
- Seems not to have been working since it was added to the codebase
- Seems not to correspond to the actual Xenforo password hashing (class does some sort of JSON extraction?)
- It would be easier to rewrite it from scratch if someone requests it later
2015-12-28 22:32:24 +01:00
ljacqu
47f4275225 #358 Update EncryptionMethod to new interface
- Add new methods to the EncryptionMethod interface
- Delete temporary interface (NewEncrMethod)
- Remove temporary checks and casts to NewEncrMethod
2015-12-28 22:00:43 +01:00
ljacqu
9b73475b9a Minor - clean up bcrypt 2y implementation
- Update Recommendation annotation
- Add proper length check to hash
- Remove check that is always true
2015-12-28 21:27:47 +01:00
ljacqu
73bc6e286a #369 Fix bcrypt 2y implementation
- Change salt length to 22: it was once changed on accident during some other commit
2015-12-28 21:03:33 +01:00
ljacqu
48d0a65724 #358 Create encryption method supertypes, add new methods 2015-12-28 20:10:45 +01:00
ljacqu
31730699ac #358 Start refactoring PasswordSecurity
- Add new methods temporarily to NewEncrMethod interface
   - No data source access within EncryptionMethod implementations
   - Generate the salt within the EncryptionMethod implementation
- Deprecate static methods on PasswordSecurity
- Adjust AbstractEncryptionMethodTest to test the classes with the new interface
- Add getter for data source instead of accessing field directly
2015-12-28 16:23:08 +01:00
Xephi
2de077e71b Fix for #386 2015-12-28 14:35:37 +01:00
Xephi
8fec53eda3 Remove todo for #368 2015-12-28 14:26:37 +01:00
ljacqu
37604e6a51 Always check for "testable" methods in listener consistency test
- Add check to overlooked test
2015-12-28 14:05:20 +01:00
ljacqu
48dce83892 Exclude all methods containing '$' in ListenerConsistencyTest 2015-12-28 13:56:54 +01:00
ljacqu
6ac1967364 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 358-encryptn-mthd-refactor 2015-12-28 13:33:18 +01:00
Xephi
c4fa2a756a Remove an old todo 2015-12-28 12:48:20 +01:00
Xephi
0688a8645a Deprecated PLAINTEXT support 2015-12-28 12:29:00 +01:00
Xephi
806201e1cc Add Hostname to restricted ip method 2015-12-28 11:59:30 +01:00