Commit Graph

1301 Commits

Author SHA1 Message Date
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
Xephi
c94b6223a1 Add wildcard to perform reset position for each players 2015-12-28 11:50:16 +01:00
Xephi
0103c5e2e5 Cannot do this async 2015-12-28 11:37:13 +01:00
ljacqu
1cabc47ff9 Minor - remove debug println from test 2015-12-27 23:40:32 +01:00
ljacqu
804a670e08 Create test for HashUtils and RandomString 2015-12-27 23:37:07 +01:00
ljacqu
513ff9a928 #358 Make RandomString static & generate all rand. strings with it
- Remove dubious random String generator on HashUtils
- Make further hash classes use HashUtils
2015-12-27 22:16:16 +01:00
ljacqu
68e5f636ae Minor: Converters - reduce visibility
- Change fields from public to private
- Make classes package-private where appropriate
- Remove redundant javadoc
2015-12-27 21:21:09 +01:00
ljacqu
25a9b6cb00 Fix #382 Add missing placeholder to message key 2015-12-27 00:08:59 +01:00
ljacqu
90a0325194 #358 Add future interface methods, remove exception throwing
- Create Utils class for a common implementation of md5/sha1
- Create "foolproof" way of getting the MessageDigest for md5 etc. (MessageDigestAlgorithm enum)
- Create description annotations to annotate algorithms with usage recommendation and salt type
2015-12-26 23:59:32 +01:00
ljacqu
2bb386c488 Merge master into 306-commands-service - Conflicts 2015-12-26 21:33:53 +01:00
ljacqu
103ebb44f0 Merge master into 306-commands-service
Conflicts:
- AuthMe
- CommandInitializer
- ConverterCommand
2015-12-26 21:33:25 +01:00
ljacqu
f37fc32717 Simplify listener classes
- Remove unused fields
- Use Service methods where possible
2015-12-26 21:26:19 +01:00
ljacqu
47e97244a7 #306 Create tests for CommandService and PlayerCommand 2015-12-26 20:58:05 +01:00
ljacqu
27fee3ca64 #306 Create PlayerCommand abstract type
- Create PlayerCommand to handle player-only command checks centrally and consistently
- Adjust tests
2015-12-26 19:47:47 +01:00