Commit Graph

1378 Commits

Author SHA1 Message Date
ljacqu
ac164c73b9 #347 Add missing properties (incomplete) 2016-01-09 23:42:56 +01:00
ljacqu
4321d0b938 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-09 23:07:20 +01:00
ljacqu
4d2f39f06e #306 Add tests for CommandHandler and CommandMapper 2016-01-09 22:51:22 +01:00
Xephi
e5bd73d899 Remove Checks for #308 2016-01-09 22:12:55 +01:00
Xephi
6ac51d97f5 Remove checks - #308 2016-01-09 22:04:05 +01:00
ljacqu
fc0b7c46ac #306 Add permission manager to command service
- Inject permission manager into command service explicitly via constructor
- Change command mapper to only care about generating FoundCommandResult objects, and command handler to worry about dealing with it later on
2016-01-09 21:57:20 +01:00
Xephi
5cc5ee8cae Little fail 2016-01-09 21:39:27 +01:00
Xephi
9c4331e3e6 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-09 21:30:24 +01:00
Xephi
607380e59c Use PreparedStatement in all case needed it - #308 2016-01-09 21:30:13 +01:00
games647
663e3063d7 Use Low priority for join events in order to allow plugins
to change the delayed join message.
2016-01-09 21:15:56 +01:00
Xephi
2f1338b08b little forgot 2016-01-09 17:16:14 +01:00
Xephi
fd7bdcd3c2 Change node to authme.player.seeownaccounts #423 2016-01-09 16:21:44 +01:00
Xephi
bebea0dd36 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-09 14:46:13 +01:00
Xephi
18ed62b096 Fix #423 2016-01-09 14:45:59 +01:00
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
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
ljacqu
5ab3a1f9ef Minor - remove StringUtils#getStackTrace
- Remove StringUtils#getStackTrace in favor of Guava's Throwables#getStackTraceAsString
2015-12-26 18:01:09 +01:00
ljacqu
74ceb66430 #306 Remove singleton getters in admin commands
- Note: this commit does not remove all singleton getters
2015-12-26 17:57:53 +01:00
Xephi59
41e400e9dd Deprecate flatile datasource, force flat to sqlite conversion #344 2015-12-26 15:38:16 +01:00
ljacqu
72365bc6e4 #336 Remove new lines before base commands
- GitHub doesn't seem able to add a space before a new base command without adding random new lines in the entire list
2015-12-26 14:07:28 +01:00
Xephi59
0abfd5705c Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2015-12-26 14:05:18 +01:00
Xephi59
625369db5a Add BungeeCord playerSendTo config 2015-12-26 14:05:10 +01:00
ljacqu
e5e7e04c2b Fix #336 Create task to generate a commands page
- Fix logic for optional tags
- Fix file output format
- Add generated file to repository
2015-12-26 14:00:15 +01:00
ljacqu
37918e845c Minor - remove checks for no longer supported legacy Permissions 2015-12-26 13:06:30 +01:00
ljacqu
283bb7c113 Minor - add change lost during merge 2015-12-26 13:05:43 +01:00
ljacqu
c73969256c Merge master into '306-command-service'
Conflict:
- HelpCommand.java
2015-12-26 13:01:00 +01:00
ljacqu
71a9f4140b #375 Issue warning instead of failing test for non-ASCII password
- Add javadoc to fields
2015-12-26 12:52:05 +01:00
games647
9314612050 Also load the configuration option of forceSurvivalMode 2015-12-25 16:40:24 +01:00
ljacqu
418fbabcc8 Fix #376 Check not to show alternatives for base command
- Fix wrong assumption in HelpCommand that the incoming arguments size always corresponds to the label count of the mapped command
2015-12-24 15:47:05 +01:00
ljacqu
9e8f51c616 #306 Fully test HelpProvider and CommandSyntaxHelper 2015-12-24 15:26:25 +01:00
ljacqu
050275a0a6 #306 Fully test AccountsCommand 2015-12-24 12:19:14 +01:00
Xephi
3b33781b0b Send Email as UTF-8 2015-12-24 12:07:05 +01:00
ljacqu
cb2ffca6d3 #306 Change help provider to non-static / add calls to help functionality 2015-12-23 23:51:39 +01:00
ljacqu
9ae20df670 Minor - update setting name in config.yml 2015-12-23 22:51:11 +01:00
ljacqu
a9fc658db0 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 306-command-service 2015-12-23 18:09:21 +01:00
ljacqu
be942c2b36 #306 Fix tests for command mapper and command handler
- Export initializing and retrieval of test commands to a separate class
2015-12-23 18:04:46 +01:00
games647
0beb937b8f Re add force survival gamemode option on join 2015-12-23 16:04:49 +01:00
Gabriele C
da84efe090 Merge pull request #84 from games647/gamemode
Remove gamemode and flying switching
2015-12-23 15:42:24 +01:00
ljacqu
c50741e1ca #375 Remove Ignore annotation on password hash check test 2015-12-23 15:28:52 +01:00