Commit Graph

1457 Commits

Author SHA1 Message Date
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
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
d6ab7d5da8 Ask player to change email if email already added. 2016-01-07 07:24:26 +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
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
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
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
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
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
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
Xephi59
625369db5a Add BungeeCord playerSendTo config 2015-12-26 14:05:10 +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
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
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
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
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
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
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
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
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
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
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
2f153fb85c #305 Modularize logic / separate from data classes (wip – doesn't compile)
- Remove permission logic on command side; make PermissionsManager handle checks for all CommandSender objects (not only Player), cf. #314
- Remove unnecessary redundancies in passed arguments ("command references" that can be inferred from the FoundResult)
- Extend FoundCommandResult to represent all possible error cases
2015-12-12 00:43:55 +01:00
ljacqu
ec9009d776 Separate command handler into smaller parts (wip – doesn't compile)
- Move logic from CommandMapper to CommandHandler
- Create "ResultStatus" on FoundCommandResult to precisely return the error case
Naming and structure not final
2015-12-11 23:16:13 +01:00
ljacqu
550eecebdc Add command similarity check to mapper (work in progress) 2015-12-11 22:08:36 +01:00
ljacqu
56c005587c Create basic outline of command mapper 2015-12-11 20:33:09 +01:00
DNx5
a14e3260dc Merge branch 'db-improve'
Conflicts:
	src/main/java/fr/xephi/authme/settings/Settings.java
2015-12-11 21:47:19 +07:00
DNx5
cd1c861b47 Bungee message update, whatever. 2015-12-11 12:16:29 +07:00
Gabriele C
1ecee76b60 clean imports 2015-12-10 20:53:46 +01:00
Xephi
dff4e6d135 Use ByteStreams from Guava 2015-12-10 20:45:46 +01:00
ljacqu
3253b43a63 Merge branch 'messages-verifier' of https://github.com/AuthMe-Team/AuthMeReloaded 2015-12-10 19:53:23 +01:00
ljacqu
37d769a3ce Add missing keys to messages file 2015-12-10 19:51:29 +01:00
ljacqu
f5583f4435 Manual messages fixes; refine messages verifier
- Add messages with new line to same line with &n
- Add German translation for missing key
- Adjust messages filename pattern to include Chinese files (with 4-letter codes)
- Change verifier to only output errors (more "to-the-point" output)
2015-12-10 19:42:19 +01:00
ljacqu
186ef965ca Message files verifier - refactoring
- Separate logic from output (still potential for improvement)
- Prompt user for options (single file mode / write missing keys or not)
2015-12-10 19:18:05 +01:00
Xephi
12de593ec4 Add an info in console when player login from other server 2015-12-10 18:48:22 +01:00
Xephi
75084e62ec [PREV COMMIT] If we set a custom channel, maybe listen at it :') 2015-12-10 18:36:31 +01:00
Xephi
3975e65655 [DEV] [BungeeCord] Fix reading data 2015-12-10 18:34:50 +01:00
Xephi
1ce4a11147 [PREV COMMIT] Oops, it's logout here :D 2015-12-10 18:32:41 +01:00
Xephi
d01713a2f5 [DEV] [NEED TEST] BungeeCord
Add a way to send player login on other AuthMe instance through
BungeeCord plugin channel
2015-12-10 18:31:46 +01:00
ljacqu
5b92b30a96 Revert sorting of messages
- Comments in the files were out of order and then removed manually. Sorting will therefore be done in a comment-friendly way in Java
2015-12-10 18:15:46 +01:00
Gabriele C
9c86fbd8bf cleanup listener class 2015-12-10 15:44:24 +01:00
Xephi
30f4a00e3b One left 2015-12-09 14:54:05 +01:00
Xephi
7d7cf0909f Fix latest commit 2015-12-09 14:53:24 +01:00
Xephi
c3d724ebce Sort messages.yml file 2015-12-09 11:35:29 +01:00
Xephi
dcd06760ce Display a message on bad email.html 2015-12-09 10:38:41 +01:00
ljacqu
0710c4f531 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor 2015-12-08 21:58:35 +01:00
ljacqu
595879b95e #307 Finish changes to incomplete solution (f40d75e)
- Remove deprecated builder
- Fix introduced typos
2015-12-08 21:51:33 +01:00
Gabriele C
e4fbe4ec53 Fix npc issues (#320)
This will fix 1 bug..... and will generate new ones! :P
2015-12-08 20:52:45 +01:00
Gabriele C
6ee07160bb cleanup and update deps 2015-12-08 20:07:10 +01:00
DNx5
6f040fe8ac Added permission check for vip login. Fix #323 2015-12-07 19:59:26 +07:00
Xephi
a212a0c0fd Fix Captcha count 2015-12-06 11:08:33 +01:00
Xephi
9236c1fb12 Fix Build, my bad, sorry 2015-12-06 05:30:28 +01:00
ljacqu
d059d4f00d Fix possible NPE - permissions in CommandDescriptions can be null
- Fix missed null situation during previous code changes
2015-12-06 01:13:12 +01:00
ljacqu
22ad305506 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor 2015-12-06 00:52:34 +01:00
DNx5
7ba54123db Update PlayerAuth builder class. 2015-12-06 06:14:30 +07:00
DNx5
c196f45854 Change getAccountsRegistered method to use normal Statement.
- Log the stacktrace if something weird happens.
2015-12-06 06:12:45 +07:00
DNx5
1f001f2225 Removed max mysql connections options from config. 2015-12-06 06:10:16 +07:00
DNx5
45c6bf0a78 Removed DatabaseCalls class.
* this class only contains wrapper of selected datasource type which every method included a code to run the task inside a new Thread. But this class doesn't help improving performance, because it's still running the task synchronously.
2015-12-06 06:08:52 +07:00
ljacqu
af9078c24b Merge branch 'allow-global-perms' of https://github.com/AuthMe-Team/AuthMeReloaded 2015-12-05 23:56:54 +01:00
ljacqu
d3edbbcb49 #285 #319 Add support for wildcard permissions
- Fix accidental recursive call
2015-12-05 23:55:58 +01:00
ljacqu
63a7cd00df #285 #319 Add support for wildcard permissions
- Add wildcard attribute to permission nodes that are checked additionally in the permissions manager
2015-12-05 23:33:09 +01:00
ljacqu
f99bba4b5f #314 Encapsulate permissions package better
- Move permissions responsibilities from command to permissions (remove some logic from CommandPermissions, add DefaultPermission enum to permissions package)

- Start possible interface for the future per-permission system implementations of permissions managers
2015-12-05 23:05:42 +01:00
Xephi
1e5a29a502 Add a case checker option 2015-12-05 22:27:23 +01:00
Xephi
f40d75e4aa Finish change to CommandBuilder 2015-12-05 22:17:49 +01:00
ljacqu
f1c3eed069 Update permissions page 2015-12-05 21:19:20 +01:00
ljacqu
40a83d4366 Revert permission nodes from "authme.command" back to simple "authme" 2015-12-05 21:17:16 +01:00
ljacqu
90a04e477a Remove ALL perm node from command initializer; JavaDoc householding 2015-12-05 21:10:09 +01:00
ljacqu
7c36f087fc Fix failing test
Detailed description of a command must end in '.'
2015-12-05 21:04:14 +01:00
Xephi
8460725c83 Part of CommandBuilder rework 1/? 2015-12-05 19:16:16 +01:00
Xephi
1db24adb5d Add a wildcard command permission 2015-12-05 19:00:44 +01:00
ljacqu
a8b3fe2648 RegisterAdminCommand - fix wrong message key 2015-12-05 12:08:09 +01:00
ljacqu
61875f26fa #305 Prepare to remove CommandParts - replace getCount() to List#size()
- Preparations to remove the CommandParts as it's a "decorated list".
2015-12-05 12:06:44 +01:00
ljacqu
b419c72271 Fix #316 Ordinary player can use /authme unregister
- Change wrong player permissions to admin permissions
- Rename command class names that were the same for the ordinary vs. admin task
- Create test to ensure that commands with OP_ONLY default require an admin permission node
2015-12-05 10:48:42 +01:00
ljacqu
44aa91dfff Remove unnecessary constructor in CommandDescription
- Remove one of two unnecessary constructors in CommandDescription (in favor of the builder)
- Remove TODO about unlimited arguments (not currently a priority, will create a story instead of leaving a dangling TODO for ages in the code)
2015-12-05 00:10:45 +01:00
ljacqu
8eb1b38d21 Slim down CommandParts API
- Remove all methods that aren't constructors / fancy get() on list; almost possible to remove class entirely
2015-12-04 23:47:48 +01:00
ljacqu
2faad44ffa Move most API of CommandParts to util classes
Gradual transition to removing CommandParts altogether.
 - Move logic from CommandParts to utils classes
2015-12-04 23:19:37 +01:00
ljacqu
bb93c7164a Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-12-04 22:00:44 +01:00
ljacqu
9140ebe602 Change initialized command descriptions to Set
- Set is more efficient if it's frequently used for `contains()`, which is what we use it for after initialization
2015-12-04 21:58:16 +01:00
DNx5
fda7822644 Merge please 2015-12-05 03:45:52 +07:00
ljacqu
c78e12de04 Refactorings - prepare to remove FoundCommandResult
- Reduce tight coupling by passing list of available commands as param to CommandHandler
- Split command processing method into several smaller ones
- Remove unfinished logic for unlimited command arguments (reason: was not implemented and not used, probably needs another way to handle it once the need for it arises)
- Create test for CommandHandler
2015-12-04 21:33:50 +01:00
DNx5
93484a3449 Merge remote-tracking branch 'origin/master' into authme-process
Conflicts:
	src/main/java/fr/xephi/authme/cache/limbo/LimboCache.java
	src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
	src/main/java/fr/xephi/authme/process/register/AsyncRegister.java
	src/main/java/fr/xephi/authme/settings/Settings.java
2015-12-05 03:23:50 +07:00
ljacqu
0c1589f93a Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-12-04 19:35:57 +01:00
Xephi
e781115d7c Change from mailText to a dedicated file email.html 2015-12-04 17:57:10 +01:00
Xephi
8336dc848e Fix #301 2015-12-04 17:24:56 +01:00
Xephi
0d1cf8c7e2 Idk how it can be null, but well ... 2015-12-04 17:17:35 +01:00
Gabriele C
a1f963adf8 update hikari 2015-12-04 13:23:17 +01:00
ljacqu
152a0cabb5 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandInitializer.java
2015-12-03 22:16:52 +01:00
ljacqu
1fbe4e0c3b #298 Change password shows wrong 'pw cant be username' error
- Change MessageKey to the proper message
- Change permissions for admin changepassword to admin
- Rename player changepassword command arguments to reflect their actual meaning
2015-12-03 22:07:18 +01:00
ljacqu
1ca6bcffe1 Make AuthMe.management private; create test for CaptchaCommand 2015-12-02 22:13:43 +01:00
ljacqu
f698c9241b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/output/Log4JFilter.java
2015-12-02 21:56:53 +01:00
ljacqu
cafad5b088 Fix #296 Reloading doesn't update settings
- Replace Settings to encapsulate a YamlConfiguration instance provided by AuthMe, rather than loading the config file again.
2015-12-02 21:42:39 +01:00
Xephi
a18ea851be Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2015-12-02 16:34:43 +01:00
Xephi
41b6b4184e Remove StackTrace for production 2015-12-02 16:34:28 +01:00
Gabriele C
42416c4bdc Update config.yml 2015-12-02 16:28:00 +01:00
DNx5
ee3fe45d7f Fix unclosed Statement object. 2015-12-02 06:36:41 +07:00
DNx5
35d73b2d4a Mysql Improvements.
* Contains lot of changes
2015-12-02 06:29:43 +07:00
DNx5
a8f3a441d5 Lowercase PlayerAuth nickname in constructor and setter. 2015-12-02 04:53:12 +07:00
DNx5
69361de262 Merge remote-tracking branch 'origin/db-improve' into db-improve 2015-12-02 04:48:30 +07:00
ljacqu
923020bf07 Reduce duplication in Log filter implementations 2015-12-01 22:17:18 +01:00
DNx5
8d9e212b15 Improve register process.
* Removed double check for email settings
* Use builder for PlayerAuth
* Handle exceptions in process method
2015-12-02 04:14:18 +07:00
DNx5
3d8e63699d Merge branch 'db-improve' into authme-process 2015-12-02 04:11:21 +07:00
DNx5
e02af46d65 Lowercase the name input. 2015-12-02 04:10:56 +07:00
ljacqu
c288d3285e Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-12-01 21:59:19 +01:00
ljacqu
b0e619d412 Refine JavaDoc and move Log filters to 'output' 2015-12-01 21:53:18 +01:00
ljacqu
690a8d67a3 Abstract Messages into two layers; move to new 'output' package
- Abstract Messages into two layers: the top layer 'Messages' is how Messages can be retrieved and sent as before. In the background, package-private, MessagesManager actually does the file read and worries about I/O while Messages takes care of higher-level things (such as joining two lines or checking the current language).
2015-12-01 21:45:02 +01:00
DNx5
7ec79afe4a Set speed into 0.0 2015-12-02 03:22:27 +07:00
ljacqu
54d8ede5bc Add changes missed during merge 2015-12-01 20:44:44 +01:00
ljacqu
c4df2589b7 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandDescription.java
	src/main/java/fr/xephi/authme/command/CommandInitializer.java
2015-12-01 20:43:49 +01:00
Tim Visée
ccb9e24ce5 Fixed invalid permission reference. 2015-12-01 16:35:28 +01:00
Tim Visée
a0ed554514 Moved permission from player to admin space 2015-12-01 16:34:54 +01:00
Tim Visée
3d0bf674bd Added JavaDocs to PlayerPermission class, fixed various permission nodes 2015-12-01 16:34:22 +01:00
Tim Visée
42cebacd60 Added JavaDocs to AdminPermission class 2015-12-01 16:29:47 +01:00
Tim Visée
4afef9714d Converted two commands to use the builder 2015-12-01 16:24:24 +01:00
Tim Visée
999c08956d Changed 'changemail' permission to keep the nodes consistent 2015-12-01 16:20:21 +01:00
Tim Visée
369a7ccd65 Lowercase'd player permission node 2015-12-01 16:19:39 +01:00
Tim Visée
fdc747d007 Refactored player permissions enum, to make the name suit better 2015-12-01 16:19:05 +01:00
Tim Visée
7f54838ad4 Rebased player command permission nodes 2015-12-01 16:18:16 +01:00
Tim Visée
8bea153005 Rebased administration command permission nodes 2015-12-01 16:17:37 +01:00
Tim Visée
3b9b1b7b8a Refactored name of command builder, to specify it a little better 2015-12-01 16:14:59 +01:00
Gabriele C
00c6b17f3e Add customizable anto bot message 2015-12-01 15:42:02 +01:00
DNx5
ececba2858 Merge branch 'authme-process' into db-improve 2015-12-01 16:25:17 +07:00
DNx5
92f57090be Set default value for the Builder 2015-12-01 16:07:58 +07:00
DNx5
23e01c8b26 Create builder for PlayerAuth. 2015-12-01 12:19:13 +07:00
ljacqu
485b6934e6 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-11-30 21:12:47 +01:00
ljacqu
a4c45e126e Start refactoring of command handling (work in progress)
Preparation:
- Remove unused API
- Move some logic from "data classes" elsewhere
2015-11-30 21:09:52 +01:00
DNx5
2fdd5ef325 Handle country blacklist effectively 2015-12-01 02:36:44 +07:00
DNx5
37b24d4e72 Fix "new config options message" always printed on reload. 2015-12-01 02:17:07 +07:00
DNx5
8a6ab3edb5 Setup unrestricted names into lowercase. 2015-12-01 02:14:28 +07:00
DNx5
e387a801f7 Removed some unnecessary player check. 2015-12-01 02:06:51 +07:00
DNx5
d692530035 Moved is player can connect check into prelogin event. 2015-12-01 01:35:30 +07:00
DNx5
029214c080 Fix npe after register. 2015-12-01 01:29:56 +07:00
Xephi
174ad3b29c Fix Conflict 2015-11-30 19:21:15 +01:00
Xephi
3b1c8cd2e4 fix conflict 2015-11-30 19:10:50 +01:00
Alexandre Vanhecke
8b08b1a7dd Merge pull request #278 from Bodyash/master
Color Codes change in messages_ru
2015-11-30 19:06:47 +01:00
DNx
ea932712c3 Fix constants setup. 2015-11-30 10:57:02 +07:00
DNx
406c58f585 Remove build time from plugin version. 2015-11-30 10:24:33 +07:00
Gabriele C
109c85f4dd Auto build number + helpHeader config 2015-11-29 14:27:44 +01:00
ljacqu
da0c5d1ea2 Split command management into initializer and handler
- Create Initializer class that only initializes AuthMe commands
- Move remaining method to CommandHandler
- Deprecate constructors on CommandDescription in favor of the builder
- Various cleanups and comments
2015-11-29 12:51:11 +01:00
ljacqu
d7513ecc7b Fix nullpointer when command requires no permissions
- Add test to verify connections among the command initialization
2015-11-29 12:04:01 +01:00
ljacqu
7c652feac2 Fix failing command tests
- Detailed description missing period
- Fix twice defined /authme delete
- Add executable command to HelpSyntaxHelperTest initializations
- Remove unneeded constructors in CommandDescription
2015-11-29 10:56:01 +01:00
ljacqu
6a94135f64 Commands - fix child not being registered in parent via Builder
- Create test to ensure that commands don't define the same binding
- Create stricter attribute validation in builder: throw an error if required field was not initialized
2015-11-29 10:24:32 +01:00
ljacqu
a124e8f283 Refine CommandDescription builder; add/fix JavaDoc; add tests
- Add tests to check the integrity of the commands that are defined in the CommandManager
- Convert some more commands registrations to the new Builder format
2015-11-29 01:21:48 +01:00
ljacqu
faf9a2c8ac Create builder for command description; refactor command classes
- Create builder class for CommandDescription
- Remove redundant methods in command registration classes (e.g. certain validation is superfluous because we only instantiate the classes internally)
- Replace multiple occurrences where a field is directly instantiated e.g. with a list and then its value is overwritten by a constructor = redundant instantiation of objects
2015-11-28 23:59:04 +01:00
ljacqu
364583e7db Change use of String permissions to the permission enums 2015-11-28 21:59:29 +01:00