Commit Graph

1301 Commits

Author SHA1 Message Date
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
games647
8c1eef3f59 Remove gamemode and flying switching
Fixes Xephi/AuthMeReloaded#355
Fixes Xephi/AuthMeReloaded#320
Fixes Xephi/AuthMeReloaded#258
Fixes Xephi/AuthMeReloaded#246
2015-12-23 15:00:44 +01:00
ljacqu
14f6ecd716 #306 Adjust ExecutableCommand implementations to interface 2015-12-23 14:55:04 +01:00
ljacqu
8ef1b2ae3e #306 Add command service and set up constructor dependency injection
(work in progress)
- Pass all dependencies via constructor
- Encapsulate command handling more (e.g. split CommandHandler with new CommandMapper)
- Add help command to all base commands at one central point

See AccountsCommand or HelpCommand for an example of the advantages - all necessary functions come from CommandService; objects aren't retrieved through a singleton getInstance() method anymore
2015-12-23 14:54:45 +01:00
Gabriele C
c231da7849 new plugin file (TODO) 2015-12-23 13:30:37 +01:00
Xephi
1ded09b5ab Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2015-12-23 12:48:12 +01:00
Xephi
57a22c101b Add changepassword to Bungee Hook 2015-12-23 12:48:00 +01:00
ljacqu
857042ba5f Minor - mark password confirmation as optional for /register 2015-12-23 12:39:48 +01:00
Gabriele C
1d21333c94 I'm a noob 2015-12-23 12:27:41 +01:00
Gabriele C
0a2f26deea Start main class cleanup 1/? 2015-12-23 12:12:00 +01:00
Gabriele C
8bfb56f34e fix blindness when timeout = 0 2015-12-23 11:51:06 +01:00
ljacqu
f785d9d357 Revert 799ecf8 and apply Ignore annotation to test failing locally
- Revert commit (undo formatting changes, commented out code)
- Add ignore to not run the test due to local problems (probably because of some character encoding issue)
2015-12-23 09:19:59 +01:00
Xephi59
799ecf8f7e Comment these test for this moment 2015-12-23 00:46:08 +01:00
Xephi59
3860b3ba5a Fix some problems with Emails 2015-12-23 00:45:43 +01:00
Xephi59
cc67d6daea Update Changepassword command 2015-12-23 00:44:03 +01:00
ljacqu
f835a95bac Verify only one listener per event; #367 verify listener not using MONITOR 2015-12-21 23:14:42 +01:00
ljacqu
fc3f503ac8 Minor - small addition to SendMailSSL refactor 2015-12-21 22:21:56 +01:00
ljacqu
02c366637e Refactor SendMailSSL, rename 'stoping' to 'stopping',
- Refactor SendMailSSL into smaller portions and with proper exception handling (do not catch the Exception superclass and do not nest try-catch blocks; always pass on the exception type and message)
- Clean prose in config.yml
2015-12-21 22:14:40 +01:00
Gabriele C
874d7cd59f Fix remove speed 2015-12-21 20:20:35 +01:00
Xephi
20b1f08c46 Remove stacktrace, use getMessage instead 2015-12-21 17:10:28 +01:00
Xephi
3601eab591 Try using email.send() :/ 2015-12-21 17:08:12 +01:00
Xephi
644ffe954d [DEV] [NEED TEST] Implement OAuth2 authentification to mail recovery! 2015-12-21 17:03:12 +01:00
Xephi
48b845b1f5 Change how welcome message is send 2015-12-21 15:52:58 +01:00
Xephi
37eedfde62 Add a way to convert SQLite to MySQL (/converter sqlitetosql) 2015-12-21 15:43:36 +01:00
Xephi
8f09893337 Cannot use '%'char, replace with tag instead 2015-12-21 15:19:10 +01:00
Xephi
61735b4941 Add switch between SSL and StartTLS security on email 2015-12-21 15:15:02 +01:00
Xephi
5d21d1bb87 Add timeout to Verygames call 2015-12-21 13:27:46 +01:00
Xephi
a5956555a5 Little fix (prev commit) 2015-12-21 13:13:03 +01:00
Xephi
705cc7ba8d Fix Verygames Ipclean issue 2015-12-21 13:06:25 +01:00
Xephi
00bf25794a Oops >.> 2015-12-21 12:06:49 +01:00
Xephi
e272a3bfb5 Add a way to kick players before a server stop 2015-12-21 12:04:28 +01:00
Xephi
5c2547cd82 Change from Monitor to Highest, why the hell was them on monitor :O 2015-12-21 11:38:52 +01:00
ljacqu
1f11537b85 #364 Add more tests for encryption algorithms
- Rename getHash() to computeHash(): get.. suggests it's just retrieving some field but it's really doing a computation, which is quite complex depending on the hash algorithm
2015-12-20 23:43:54 +01:00
ljacqu
f809d91c45 Minor refactoring in listeners; create listener consistency test
- Export duplicated code into a service
- Remove canConnect attribute from AuthMe class - was unused and doesn't seem sensible
- Add consistency test for listener classes
2015-12-20 20:26:01 +01:00
ljacqu
51d1705b1f #364 Add tests for more encryption algorithms 2015-12-20 14:08:43 +01:00
Gabriele C
acfc4dba3e Forgot this 2015-12-20 13:26:38 +01:00
Gabriele C
e9a2c8ad18 Finish permissions cleanup 2015-12-20 13:25:32 +01:00
ljacqu
bf7a0c5a49 #364 Create first EncryptionMethod tests 2015-12-20 00:51:15 +01:00
ljacqu
efa458cae1 Finalization for #305 - command refactor 2015-12-19 20:25:12 +01:00
ljacqu
3cc35baa5e Merge master into commands-refactor 2015-12-19 18:26:40 +01:00
ljacqu
b64b6177fa Fix invoking help command throwing exception
- ConcurrentModificationException was being thrown because labels was being modified again in transformForHelpCommand
2015-12-19 17:45:58 +01:00
ljacqu
a928a4092d #305 Fix label handling, add extensive tests for command handler 2015-12-19 16:27:00 +01:00
ljacqu
42c34c56a0 Fix command formatting after refactor
- Fix spacing issues (too few or too many spaces)
- Handle base commands with invalid arguments properly
- Add highlighting function for command syntax
2015-12-19 12:20:52 +01:00
ljacqu
bf9724dd34 Fix label handling issues after reformatting
- Pass the correct arguments to HelpCommand
- Fix minor formatting / conditional check issues
2015-12-19 10:35:02 +01:00
ljacqu
268cc03321 Minor - update AuthMe version in tools setvars.bat 2015-12-19 09:53:53 +01:00
ljacqu
7b2be4ca47 Remove redundant JavaDoc in security package
- Remove all JavaDoc in security package that has no additional information than in the code
- Reduce visibility of class members where appropriate
2015-12-19 09:53:52 +01:00
ljacqu
01a294a334 #305 Adjust behavior of label handling; cleanup
- Fix bugs in behavior (wrong labels being shown for help)
- Change order of labels and arguments in FoundCommandResult constructors
- Move FoundResultStatus enum to its own class
- Create test class for HelpProvider
2015-12-18 22:19:26 +01:00
games647
feac0c6c49 Properly restore walk and flight speed (Fixes Xephi/AuthMeReloaded#356) 2015-12-18 18:27:42 +01:00
Gabriele C
7614b263b0 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded 2015-12-18 17:11:33 +01:00
Gabriele C
7e6abf0441 Clean permission/group providers 2015-12-18 17:10:57 +01:00
ljacqu
d871939793 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandUtils.java
	src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java
2015-12-17 22:32:26 +01:00
ljacqu
cbf0996197 Logic for FoundCommandResult.Status / Add tests for CommandHandler
- Fix other tests
- Add logic for smaller pending FIXME's
2015-12-17 22:23:43 +01:00
Gabriele C
f195054303 Should fix the /register auto-login feature 2015-12-16 23:58:21 +01:00
ljacqu
879aa24a6e Minor - fix spelling in messages return to the player 2015-12-16 22:48:06 +01:00
ljacqu
dcc365c22f Fix #349 Create method on Messages to pass tag replacements
- Add tests
- Fix placeholder in some files
2015-12-16 20:46:40 +01:00
Gabriele C
558a1240a6 whoops 2015-12-16 13:30:34 +01:00
ljacqu
94356bb23f #349 Add tags field to MessageKey, add test to verify presence in files 2015-12-15 13:21:53 +01:00
ljacqu
3de7a7584e Merge prefix tests for AdminPermission and PlayerPermission 2015-12-15 09:00:41 +01:00
ljacqu
bfebf6dc44 Add tests for CommandUtils, move purgeDirectory to its only use 2015-12-14 21:37:20 +01:00
ljacqu
282f777311 #336 Create command list generator in tools
- Add new conditional template tags [...] blabla [/...]
- Create logic for generating a list of commands
2015-12-14 21:07:03 +01:00
ljacqu
0fdc8d2810 Fix #338 Create test to verify consistent argument count 2015-12-14 16:24:09 +01:00
Alexandre Vanhecke
1c68f596bd Update messages_hu.yml 2015-12-14 12:06:31 +01:00
DNx5
7383242599 Attempt to fix #339 2015-12-13 23:07:58 +07:00
ljacqu
3e928cddf0 CommandInitializer - consistent indent and setter order 2015-12-13 10:49:15 +01:00
ljacqu
c48c56f08c Change to new HelpProvider, adjust classes to new methods 2015-12-13 10:12:54 +01:00
ljacqu
01cba2a508 #315 #305 Refactor HelpProvider - add bit flags, reduce duplication (wip) 2015-12-12 22:50:07 +01:00
ljacqu
d26cbfbd14 Use Guava for CommandDescription builder validation 2015-12-12 22:28:05 +01:00
DNx5
21c136fbdf Lost my changes. 2015-12-12 21:04:57 +07:00
ljacqu
4d8d9de733 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/executable/authme/AccountsCommand.java
	src/main/java/fr/xephi/authme/command/executable/authme/ResetNameCommand.java
	src/main/java/fr/xephi/authme/command/executable/authme/SetEmailCommand.java
2015-12-12 14:25:01 +01:00
DNx5
2fc55c5e7f Added player's real name check. Prevent login with other name case. 2015-12-12 20:17:03 +07:00
DNx5
973bfd2590 Added cache removal listener.
* Re-add auth object if player is still authenticated
2015-12-12 20:16:59 +07:00
DNx5
efcdca4087 Use Guava cache for caching PlayerAuth object. 2015-12-12 20:16:56 +07:00
ljacqu
d5b2058124 Change ExecutableCommand interface (wip – doesn't compile)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
2015-12-12 12:48:39 +01:00
ljacqu
2f3738aa9a Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor 2015-12-12 11:59:19 +01:00
ljacqu
169e38be59 Fix HelpPrinter printing the enum name instead of the permission node 2015-12-12 11:58:16 +01:00
ljacqu
eecad80748 Change ExecutableCommand interface (wip – doesn't compile)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
2015-12-12 11:39:19 +01:00
ljacqu
1e2a0f98ba Tools: pass Scanner to tasks and revert options management
- Remove TaskOption and central logic for processing options. It is not flexible and clear enough without investing a lot of effort. Fix is easy - just pass the scanner and let the task do what it needs to do.
2015-12-12 10:37:08 +01:00
ljacqu
0efb419149 Minor - add JavaDoc to tools classes 2015-12-12 10:24:04 +01:00