Commit Graph

2744 Commits

Author SHA1 Message Date
sgdc3
574fa9034d Cancel PlayerItemHeldEvent for unlogged users 2017-09-28 00:50:25 +02:00
sgdc3
920e65c4f4 Codestyle cleanup 2017-09-27 15:16:33 +02:00
sgdc3
dc4124de0a Fix unit tests 2017-09-27 14:48:26 +02:00
sgdc3
32f8e354df Should fix issues like #1336 and #592
The #592 fix will be effective only on 1.9+ servers
2017-09-27 14:41:23 +02:00
ljacqu
bd7d84a6d2 Small docs cleanup
- NewAPI class will be removed in 5.5, not 5.4
- Add entry for "Deprecated" recommendation in hash algorithms page
- Mention possibility of wildcards for restricted user rules
2017-09-17 11:33:24 +02:00
ljacqu
649b027e5b Output used permission system in /authme debug perm 2017-09-17 09:09:11 +02:00
Gabriele C
6c6fbaf12d Login performance (#1331)
* Ignore intellij tmp files

* Enhance onLogin performance
2017-09-17 09:05:13 +02:00
sgdc3
3d67305e9e Fix country code link #1330 2017-09-16 14:04:32 +02:00
sgdc3
3d26357df6 Use Utils.isEmailEmpty #1329 2017-09-16 14:02:16 +02:00
Gabriele C
9392291b36 Fix luckperms permission check 2017-09-14 21:03:08 +02:00
Gabriele C
a5466a8937 Fix luckperms user cleanup 2017-09-14 20:50:09 +02:00
Gabriele C
f754331de6 Implement LuckPerms permission handler
#1324
2017-09-14 20:39:15 +02:00
Gabriele C
e1466425a1 Print the "Forgot your password? ..." message only if the user has set the recovery email address #1329 2017-09-14 18:24:14 +02:00
dboecker
f13daff0c7 Update messages_de.yml (#1328)
Did the To-Do of German translation strings.
2017-09-10 04:01:02 +02:00
Gabriele C
45db55a081 Whoops, fix test 2017-09-06 04:11:02 +02:00
Gabriele C
08182e41f6 Fix null address 2017-09-06 00:56:27 +02:00
Gabriele C
8ae8ccf5cf Fix failing tests 2017-09-03 02:54:29 +02:00
Gabriele C
9e28700acf Attempt to fix #592
Should teleport the player before chunks/world are sent to the player
2017-09-03 02:43:34 +02:00
Gabriele C
2fbdd46919 #1298 Make permission manager accept OfflinePlayers + fix permission purge 2017-09-03 02:07:00 +02:00
Gabriele C
72da27e734 Fix #1324 2017-09-03 01:04:05 +02:00
Gabriele C
58aad9ed41 Fix unit tests 2017-09-03 00:53:45 +02:00
Gabriele C
c0a0a7e2a3 Use TestHelper.mockPlayerIp in tests 2017-09-02 12:47:26 +02:00
Gabriele C
97f580d9ec Fix permission node description 2017-09-02 12:26:03 +02:00
Gabriele C
6b875a9ba4 Add permission to bypass country check (#1323)
* Add permission to bypass country check

#1321 Still need to fix unit tests

* Fix test
2017-08-31 19:36:57 +02:00
Gabriele C
b96ae61697 Remove some old plugin hooks, update dependencies 2017-08-31 11:47:55 +02:00
HexelDev
1dfb3575b5 #1119 email show permission and privacy improvements (#1312)
* #1119 new permission and email hider

* Updated commands.md

* Improved email hiding method

* Revert "Improved email hiding method"

This reverts commit cb60d7b

* New config option, updated tests, config.md and permission_nodes.md

* Moved to service import, fixed typo and updated config.md

* Removed unused imports O.o
2017-08-12 16:20:06 +02:00
ljacqu
3df2dd5740 CZ update by Shadowhackercz (#1310)
* Last changes for CZ language file

* Last few changes
2017-08-10 22:22:28 +02:00
Thymue
bb5e10fcb1 Update messages_sk.yml (#1306)
* Update messages_sk.yml

* Update messages_sk.yml

* Update messages_sk.yml

* Update messages_sk.yml

* Update messages_sk.yml
2017-08-10 09:29:50 +02:00
ljacqu
df2fe2ea89 Add missing apostrophe 2017-08-07 22:19:25 +02:00
Bl4ckSpr4y
e7aa567021 Update messages_et.yml
I updated the Estonian translation.
2017-08-07 12:46:19 +03:00
ljacqu
30cb55dabd Update translations page 2017-08-05 14:07:02 +02:00
Foorack
81fcf0abdb Created help_eo.yml 2017-08-04 18:23:50 +02:00
Gabriele C
7e957cb8c7 Add missing api methods #1304 2017-08-01 16:41:00 +02:00
ljacqu
a801f03cf2 Merge pull request #1296 from AuthMe/5.4-Dev
Merge 5.4 development
2017-07-29 15:25:01 +02:00
HexelDev
a973dc3f6d Implement restricted users rules with * wildcard support (Enhancement #1278 and #1227) (#1297) 2017-07-25 21:39:31 +02:00
ljacqu
027d0fc775 Create TestHelper method to make Settings mock return defaults 2017-07-23 18:00:51 +02:00
ljacqu
efc06ef2a6 #1255 Create resource-closing tests for the MySQL extensions
- Remove test runs with different hash algorithms in the abstract super class
- Create resource-closing tests for the new extension classes
2017-07-23 17:29:36 +02:00
ljacqu
8eceaa8cbb #1255 Simplify MySQL data source extensions
- Mostly oving the logic of getting the ID from the DB to the extensions superclass
2017-07-23 16:38:35 +02:00
ljacqu
cbc794ba20 #1255 Extract forum-specific data source actions into separate extension classes 2017-07-23 14:19:28 +02:00
wolfwork
70d7249e12 Delete swear words (#1288)
* Delete swear words

* Update messages_ko.yml

* Update messages_ko.yml
2017-07-20 10:15:28 +02:00
ljacqu
f88350b06d Fix Checkstyle violations
- Mostly missing Javadoc on large methods
- CommandInitializer: split command building method into multiple methods
2017-07-16 23:07:13 +02:00
ljacqu
4ac980111d Add some tests, minor Checkstyle fixes 2017-07-16 13:00:55 +02:00
ljacqu
7c48cf59c7 Make default regex for password characters more user-friendly (#1285)
- Change regex pattern per input of @sgdc3
- Add clarifying comments
2017-07-15 19:38:05 +02:00
ljacqu
822818cf33 Revert: Fix default password regex
- The regex pattern allows all visible, non-whitespace ASCII symbols, including '0'
2017-07-15 18:41:01 +02:00
Gabriele C
b196d3e022 Whoops, allow simbols 2017-07-15 18:31:19 +02:00
Gabriele C
c208cdcf97 Fix default password regex 2017-07-15 15:36:12 +02:00
Jacek Maciejak
4f89d49744 Small fixes in Polish translation and addition of missing color in the messeages. (#1283)
I could do it before, I'll do it now. :)
2017-07-13 18:11:20 +02:00
DNx
87b9bf140d Add database setting to configure HikariCP 'maxLifetime' #1279 2017-07-12 07:21:05 +07:00
ljacqu
e1826c75c8 #1280 Add NOTHING as possible flight restore type 2017-07-10 21:45:05 +02:00
polarcn
ce2138a65c Create help_zhcn.yml (#1281) 2017-07-10 02:17:14 +02:00
ljacqu
276ce80edb #1276 Fix wrong multiplication of reset threshold 2017-07-09 14:31:17 +02:00
Gabriele C
1c4594b53d Use RESTORE_NO_ZERO as default restore walk speed behaviour 2017-07-08 23:47:40 +02:00
ljacqu
cb73160bcd Minor - simplify CodeClimateConfigTest
- No need to load the class when we just want to ensure that the file exists
2017-07-08 23:10:42 +02:00
Gabriele C
919a715ded Cleanup 2017-07-08 22:51:01 +02:00
Gabriele C
d8e7203bb0 Revert "Always revoke limbo states synchronously #1222"
This reverts commit 7bb701b126.
2017-07-08 22:45:48 +02:00
Gabriele C
fe770ac29d Revert "Fix limbo service unit test"
This reverts commit 4cbfc8a812.
2017-07-08 22:45:32 +02:00
Gabriele C
2cf1f22b13 Fix javadocs 2017-07-07 20:50:17 +02:00
Gabriele C
4cbfc8a812 Fix limbo service unit test 2017-07-07 20:41:31 +02:00
Gabriele C
cd4693eedf GeoIP: ignore local addresses 2017-07-07 20:41:10 +02:00
Gabriele C
001e5d0376 Pom cleanup, fix LimboService test dependencies
@ljacqu Could you fix the test please?
2017-07-07 15:06:02 +02:00
DNx
7bb701b126 Always revoke limbo states synchronously #1222 2017-07-07 06:06:01 +07:00
Gabriele C
4e61117ef7 Add xf table prefix to config
#957
2017-07-06 18:46:24 +02:00
Gabriele C
cd4766e0a1 Add regex support to restricted users ip addresses #1227
Seems to work: https://regex101.com/r/zSp6Ke/1
@ljacqu What do you think?
2017-07-03 01:43:56 +02:00
Gabriele C
b24dcfed3c Try to fix #1261 2017-07-02 13:21:04 +02:00
ljacqu
f150668fc1 Minor - remove unused imports
- As determined by CodeClimate
2017-07-02 11:00:17 +02:00
ljacqu
ff99b63385 #1265 Limbo: fallback to old "group" during deserialization, favor old limbo's groups over new limbo's 2017-07-02 10:55:51 +02:00
Gabriele C
c758e15cd7 Store the entire player's list of groups instead of primary group 2017-07-01 19:18:42 +02:00
Anh Craft
1fde9bf534 Create help_vn.yml
New translation
2017-06-30 02:57:53 +02:00
Anh Craft
3718b22ef9 Update messages_vn.yml
translated "to do"
2017-06-30 02:57:53 +02:00
Timofey
d17b857410 ru: update (#1267)
* ru: update

* <theCaptcha> & THE_CAPTCHA
2017-06-30 01:01:16 +02:00
Gabriele C
e6e023a032 Remove legacy jar hint 2017-06-22 23:57:04 +02:00
ljacqu
886e3b2f1e #1238 Save player after restoring data from limbo player 2017-06-18 08:36:03 +02:00
Maxetto
e05e346a32 Fix Typo (#1256) 2017-06-15 01:30:42 +02:00
ljacqu
08214aeee6 Debug limbo viewer: don't get primary group if not supported
- Reported via #1238, the primary group of a player should not be queried if the permissions plugin does not have group support
- Use the reverse order for showing player / limbo / disk limbo info
2017-06-11 15:14:32 +02:00
Twonox
ed07bdc995 Update messages_fr.yml 2017-06-03 18:59:50 +02:00
ljacqu
591d6f1d4c #1232 #1239 Show legacy hint if Guava's MoreObjects class is missing 2017-06-02 15:42:21 +02:00
timvisee
cae29a2f99 Revert "Implement ARGON2 hash (#1165)" due to an unwanted added binary.
This reverts commit bf38782790.
2017-06-01 13:06:15 +02:00
nicuch
160a0877b3 Update messages_ro.yml 2017-06-01 11:02:01 +02:00
Gabriele C
00699ed7fb Use guava 21, add 1.12 support 2017-05-29 23:40:44 +02:00
ljacqu
9385fc8f4c Fix placeholders in messages_ko 2017-05-28 21:35:15 +02:00
ljacqu
56dff703ac Korean translation by Kirito9515 (#1229)
* Korea Translation Change

* Korean Translation Change 2

* Korean Translation Final

* Help Message Korean Translation

* Korean Translation
2017-05-28 18:50:34 +02:00
Gabriele C
20e72b355b change restoreFlySpeed default value to RESTORE_NO_ZERO
Should fix issues like #1222
2017-05-21 18:51:50 +02:00
Alexandre Vanhecke
a167429fbc perf(datasource): Use try-with-resources when it's possible 2017-05-21 15:13:40 +02:00
ljacqu
5ca9112c12 Add missing properties to commands.yml on start and reload 2017-05-21 14:21:40 +02:00
ljacqu
5c6af0330e #1218 Add onLogout to commands.yml 2017-05-21 13:44:28 +02:00
ljacqu
1c46c92b4e #1146 List available converter, reference converters Wiki page in config.yml 2017-05-21 12:28:35 +02:00
Gabriele C
cff8ccd76a Implement onSessionLogin trigger for commands.yml (#1198)
* Implement onSessionLogin trigger for commands.yml

Needs test methods, @ljacqu any advice?

* Add simple onSessionLogin test
2017-05-19 19:21:05 +02:00
ljacqu
e5bfbf6304 #1023 LoginSecurity converter: fix last login conversion, extend test 2017-05-13 09:37:36 +02:00
Playhi
fd48ff884c Update messages_zhcn.yml (#1214)
I think maybe the annotations also need to be translated.
2017-05-12 19:34:53 +02:00
ljacqu
2021113732 #1023 Create LoginSecurity converter 2017-05-10 19:45:20 +02:00
Playhi
a0fbb6a78a Update messages_zhcn.yml (#1210)
Fix some translation issues.
2017-05-09 14:30:25 +02:00
Jacek Maciejak
e00138166d Small fixes, sorry. (#1206) 2017-05-07 20:27:27 +02:00
ljacqu
1f8307c8f6 Fix minor checkstyle issues
- Add JavaDoc where checkstyle expects it
- Fix line too long issues
- ...
2017-05-07 11:59:01 +02:00
ljacqu
1a48348824 Add missing tests for listeners 2017-05-07 09:43:59 +02:00
ljacqu
6ecb0ea75c Create test to verify that messages have their tags 2017-05-06 21:36:31 +02:00
Jacek Maciejak
7ddc7a7264 Update messeages_pl (#1203)
* Update messeages_pl

and small fixes

* Update messages_pl.yml
2017-05-06 14:44:22 +02:00
ljacqu
57cd2e4caf Fix placeholders in translations + update translations page 2017-05-05 21:28:38 +02:00
Rainer
954c536dbd Estonian translation of AuthmeReloaded (#1202)
* Create help_et.yml

* Create messages_et.yml
2017-05-05 18:02:59 +02:00
exys228
6226abdc4b Update messages_ru.yml (#1201)
Fixed some bad grammar and added new keys.
2017-05-05 15:40:12 +02:00
Gabriele C
5dfb63c00f #1194 Add API methods to access the GeoIpAPI 2017-05-04 16:34:38 +02:00
ljacqu
c803822fa8 #1188 Create and keep encryption method instance (#1191)
- Avoid creating the same object over and over; instead keep it and only change it on settings reload
2017-04-30 17:41:51 +02:00
ljacqu
e0e4cd112d #761 Restore permission group in sync with limbo players
- Couple AuthGroupHandler closer to the LimboService: whenever a limbo player is restored, the auth group should be restored as well. This fixes some consistency issues.
- Move AuthGroupHandler into limbo package and make it package-private
- Change permission handler to skip any empty groups (prevents odd command output e.g. for BukkitPermissions)
2017-04-29 22:37:34 +02:00
ljacqu
d4c1370da6 #923 Add commands to run on unregister 2017-04-29 19:11:13 +02:00
ljacqu
578f63b944 #923 Create /authme purgeplayer command
- Create command to purge a specific player name
- Update docs
2017-04-29 18:31:37 +02:00
ljacqu
88d839cab4 #620 Add a cancellable session restore event 2017-04-29 15:44:29 +02:00
ljacqu
b652d89088 #1169 Create UnregisterEvent 2017-04-29 15:22:27 +02:00
ljacqu
d65556d893 #857 Create event for failed authentication 2017-04-29 14:46:06 +02:00
Playhi
dbb8ea7f38 Update messages_zhcn.yml (#1186) 2017-04-29 09:31:17 +02:00
ljacqu
a75150e7bf #836 Update HU translations by @rErEaT 2017-04-29 09:28:58 +02:00
ljacqu
b7c35cb3a7 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into explicit-getters-from-db 2017-04-29 08:19:30 +02:00
ljacqu
82d74ca0a7 Move close methods out of sql datasource utils class
As noticed by @Gnat008
- We need two different implementations for MySQL and SQLite because SQLite uses an older version where #isClosed is not implemented
2017-04-29 08:18:43 +02:00
RatchetCinemaESP
1720a4d842 Update messages_es (#1181)
Translated the new messages.
2017-04-24 14:38:07 +02:00
ljacqu
0e923b6a70 #1180 Create command for performing a backup 2017-04-23 20:23:40 +02:00
Eufranio
e75e22d624 Update brazilian messages (#1174) 2017-04-23 12:02:55 +02:00
ljacqu
d0dbc14358 Minor - fix some small todo's 2017-04-23 11:02:43 +02:00
ljacqu
e56a3c0ab6 #815 Save yaw & pitch for last login in SQL data sources 2017-04-22 13:30:03 +02:00
ljacqu
70298a830b Remove outdated todo 2017-04-21 20:29:50 +02:00
ljacqu
07633a89c8 Create SQL data source utils class
- Extract logic used in SQLite and MySQL for logging and closing SQL objects
    - Decided to leave buildAuthFromResultSet methods individually as this might be more implementation-specific
- Rename DataSource#close to DataSource#closeConnection to fix conflict with static import
2017-04-18 22:55:39 +02:00
ljacqu
04ca36fe53 Use more specific query to get logged in players without email
- Reduces the amount of data returned from the DB and the work required to build objects
2017-04-18 22:30:54 +02:00
ljacqu
2f7ebc0ecb Remove static PlayerCache#getInstance 2017-04-18 21:57:20 +02:00
ljacqu
b0c05afaa7 Create util method to check if email is empty
- Create method to check if email is empty or the default AuthMe email (avoids repetition)
- Check that input email has '@' inside text (relates to #1105)
2017-04-18 21:24:33 +02:00
ljacqu
b99cc3bada #1127 Create DataSource#getEmail 2017-04-18 21:07:31 +02:00
ljacqu
2a747c7d01 #1034 Create permissions for debug sections
- Add an individual permission for each debug section (including wildcard perm)
- Create test for DebugCommand
- Refactor tests for the enum permission nodes to use the same abstract class
- Update related project files (plugin.yml, permission docs, command docs)
2017-04-14 19:54:17 +02:00
ljacqu
cbec5427f2 #1162 New API class: implement ignored review remarks 2017-04-14 18:11:47 +02:00
Gabriele C
bf38782790 Implement ARGON2 hash (#1165)
* Implement ARGON2 hash

#1150

* Fix argon hash verify

* Add argon2 test

* #1150 Account for Argon2 managing salts internally
2017-04-14 18:03:27 +02:00
Gabriele C
5a93ed32f1 Fix API test package
#1162
2017-04-14 14:03:40 +02:00
Gabriele C
4a94307ba0 Merge pull request #1160 from Maxetto/patch-7
[Messages_IT] Translate new Email commands
2017-04-14 01:46:05 +02:00
timvisee
2f01fce11e Update Dutch messages 2017-04-14 01:34:22 +02:00
Gabriele C
8ecdd1f4d3 Remove old v1 API, deprecate v2 API, add v3 API 2017-04-14 01:01:30 +02:00
Maxetto
ac43e0fabe Add quotes here. 2017-04-05 23:08:02 +02:00
Maxetto
f2afe10501 [Messages_IT] Translate new Email commands 2017-04-05 23:04:58 +02:00
ljacqu
43b2375e2a Fix failing test 2017-04-01 22:01:54 +02:00
Gabriele C
e775e415f2 Incrase connectPlayer delay #1133 2017-03-31 21:47:30 +02:00
Gabriele C
9381d024cd Schedule connectPlayer action
Thanks to @Dimatert9
2017-03-31 20:27:04 +02:00
ljacqu
20ab161406 Merge branch '1147-limbo-improve-persistence' of https://github.com/AuthMe/AuthMeReloaded 2017-03-31 19:57:23 +02:00
games647
4e364c13a3
Schedule a new sync thread based on thread compare rather than the async setting
(Fixes #1151)
2017-03-31 09:03:03 +02:00
rafael59r2
5724248a19 Update messages_pt.yml 2017-03-30 22:15:28 +01:00
ljacqu
2ecdc57277 #1147 Rename limbo segment configurations / remove inaccurate comments 2017-03-28 21:49:28 +02:00
ljacqu
adb007108d #1147 Drop SingleFilePersistenceHandler in favor of DistributedFilesPersistenceHandler
- Remove SingleFilePersistenceHandler: DistributedFilesPersistenceHandler with segment size 1 can be used instead
- Rename  SegmentFilesPersistenceHolder to DistributedFilesPersistenceHandler
- Rename SeparateFilePersistenceHandler to IndividualFilesPersistenceHandler to match LimboPersistenceType entry
- Add link to limbo page on Wiki in the settings
2017-03-28 21:42:01 +02:00
ljacqu
a764598f88 Adjust repo links in code 2017-03-28 08:11:00 +02:00
ljacqu
2070f22968 Security - if any Throwable is thrown on initialization AuthMe should shut down
- Found via #1149
2017-03-27 21:41:35 +02:00
Gabriele C
1f4192e5af #1145 Remove PlayerListener from visibility test exclusions 2017-03-26 19:39:40 +02:00
Gabriele C
49aeb4308d Fix #1145 2017-03-26 16:51:34 +02:00
Gabriele C
fc47a0a74f Force US decimal format 2017-03-26 16:12:53 +02:00
ljacqu
6be6e8e851 Exclude jacoco fields from consistency test
- Fix wrong condition check :)
2017-03-26 14:53:52 +02:00
ljacqu
dbd0e04a2e Exclude jacoco fields from consistency test
- The Jacoco plugin adds fields "$jacocoData" to the classes which make the test fail
2017-03-26 14:47:39 +02:00
Playhi
e3abfc3685 Update messages_zhcn.yml (#238) 2017-03-26 13:52:00 +02:00
ljacqu
75f84945fc Misc code householding
- Checkstyle config: allow todo comments with issue number
- Create consistency tests across all classes, ensuring: unique class names, users of expiring collectors implement HasCleanup, non-private fields are only constants
- Fix tag replacement in PlayerListener for {DISPLAYNAME}
2017-03-26 13:20:40 +02:00
ljacqu
8cf7983027 #1034 Add debug sections for spawn and input validation 2017-03-26 12:10:51 +02:00
ljacqu
c54231b255 #1138 Show warning for hashes that will be deprecated in 5.4
- Introduce Usage.DEPRECATED to mark the hash algorithms accordingly
- Log warning when such a deprecated hash algorithm is used
- Update hash algorithms doc page
2017-03-25 00:23:54 +01:00
ljacqu
b7901c6b59 Simplify exclusion of enum properties in SettingsConsistencyTest
- Allow enum values to be absent if they are deprecated
2017-03-24 23:23:40 +01:00
ljacqu
a2d62ea6d9 #1116 #1117 Add command usage hints and remove unused message keys
- Add usage message on argument mismatch where available
- Remove unused message keys
- Create tool task to search for a message key's usages and to find unused keys
2017-03-24 23:03:10 +01:00
ljacqu
2f90a45f43 #1036 Remove 'allowSpeed' option
- Option is no longer needed as the plugin user can configure how/if the speeds should be restored now
2017-03-24 21:26:34 +01:00
ljacqu
3e95d30c6b Improve dependency graph task
- Simplify logic for converting a dependency description to its display name
- Add new common supertypes
2017-03-23 23:15:04 +01:00
ljacqu
32a664ef59 Update checkstyle config and CodeClimate exclusions
- Add new checkstyle checks: require Javadoc on large private methods, default in switch, declaration order & others
- Update path exclusions in CodeClimate config to match newly renamed classes (e.g. PHPBB -> PhpBB)
  - Create consistency check testing that excluded paths exist as classes
- Fix some trivial violations
2017-03-23 10:34:28 +01:00
ljacqu
e77828b228 Update docs / update recovery code command in email message
- Update docs to reflect new commands, configurations (account recovery, limbo handling) and messages
- Change message for the recovery code email to contain the new command
2017-03-22 23:14:02 +01:00
EbonJaguar
ce40b3798b Add logging for when a player changes their password or has a new one generated 2017-03-22 17:54:30 -04:00
EbonJaguar
4053a0e328 If recovery code is required, dont send new password 2017-03-22 17:11:18 -04:00
EbonJaguar
46dd588923 Merge branches 'master' and 'passwd_recovery_process' of https://github.com/AuthMe/AuthMeReloaded into passwd_recovery_process 2017-03-22 17:08:05 -04:00
ljacqu
7dbf5551c9 Cleanup: avoid injecting Injector directly
- Inject SingletonStore to restrict the possible functions
- Refactor PasswordSecurityTest to correspond to the usual way of testing
2017-03-21 22:59:21 +01:00
Gnat008
4e54fa4a4e Restrict changing password after recovery to the same username 2017-03-21 17:38:53 -04:00
Gnat008
9d21eefc74 Merge branches 'master' and 'passwd_recovery_process' of https://github.com/AuthMe/AuthMeReloaded into passwd_recovery_process
# Conflicts:
#	docs/config.md
#	src/main/resources/messages/messages_bg.yml
#	src/main/resources/messages/messages_es.yml
#	src/main/resources/messages/messages_pt.yml
#	src/main/resources/messages/messages_zhcn.yml
2017-03-21 17:26:29 -04:00
ljacqu
d19748fe5b #1034 Debug commands: permission checker + data statistics
- Create debug command to check if a player has the given permission
- Create debug command that outputs the size of various caches / DB info / number of saved instances in injector
2017-03-21 22:00:21 +01:00
Gnat008
ed0126d06c Add a couple tests 2017-03-21 16:48:20 -04:00
ljacqu
3c45ca8425 #1100 Check that auth exists for /email show
- This case should never happen, but better to be safe
2017-03-20 20:57:09 +01:00
ljacqu
6eaa91278e Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	.checkstyle.xml
2017-03-20 08:23:52 +01:00
ljacqu
9a9d0974f8 #1037 Improve architecture of registration methods (#236)
* #1037 Improve architecture of registration methods
- Introduce parameters classes for each registration method
- RegistrationMethod has constants with the required parameters class -> no longer need to have a RegistrationExecutorProvider class that needs to be injected everywhere, let AsyncRegister be the only one to worry about which class will perform the registration
- Fix inheritance of password registration types - previously two-factor auth registration inherited from password registration directly

* Create matcher which checks for equality via reflections
- Allow to perform equality check on objects with default equals() method
2017-03-20 08:19:52 +01:00
ljacqu
8f197bbebf #1128 Rename converter classes to start with uppercase letter 2017-03-17 19:28:40 +01:00
ljacqu
6bd0b7c4e0 #1128 Rename files to match new case of Java classes 2017-03-17 19:21:20 +01:00
ljacqu
8ebb3c6b5a Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1128-camel-case-rename 2017-03-17 18:50:57 +01:00
ljacqu
731d085ccd #1128 Rename to camel case (PR #235)
* rename classes according to cammel case and make code reflect these updates

* rename according to cammel case

* rename to camel case more accuratley

* rename to camel case try 3; fix Ipb4 java doc

* retry rename camel case

* rename to camel case
2017-03-17 18:49:30 +01:00
Gabriele C
17415493f5 Fix wrong logic in the java version check 2017-03-17 14:34:24 +01:00
Playhi
405d472ba8 Update messages_zhcn.yml (#234) 2017-03-17 14:31:23 +01:00
Gabriele C
45f02f6a31 Check java version on initialize
#1096
2017-03-15 18:01:00 +01:00
ljacqu
42f46b51d3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
#	src/test/java/fr/xephi/authme/settings/SettingsConsistencyTest.java
2017-03-15 08:28:15 +01:00
ljacqu
457c07b53f Consistency test: check that all values are mentioned for enum properties 2017-03-15 08:24:40 +01:00
Gnat008
cfbb3f9a7f Remove unnecessary stubbing in SetPasswordCommandTest 2017-03-14 18:46:39 -04:00
Gnat008
2214fa5839 Implement /email setpassword 2017-03-14 18:26:32 -04:00
ljacqu
1da74cb987 #1005 Improve restricted user feature (performance, error handling)
- Move check for restricted user into validation service
- Keep restrictions in a map by name for fast lookup, avoid splitting Strings on every call
- Gracefully handle case when entry does not have the expected ';' and log exception
2017-03-14 22:26:19 +01:00
ljacqu
84acc4557a #1125 Limbo persistence: convert old segments, add tests
- On startup / reload the playerdata folder is scanned for old segment files, whose data is migrated before they are deleted
- Add tests for segment files persistence holder
2017-03-14 20:46:28 +01:00
ljacqu
62368b1cda Fix inverse tags in messages_pt; update translations doc page 2017-03-13 20:34:55 +01:00
ljacqu
9c3baa7f14 #1125 Create persistence of LimboPlayers in segment files (work in progress)
- Instead of one huge file or a file for each player, allow the user to define how many files he wants to distribute the LimboPlayers over. This is based on a function that creates a String (segment ID) based on the player's UUID.
2017-03-13 20:29:08 +01:00
ljacqu
710198833c #1125 Create SingleFilePersistenceHandler + extract (de)serializer for LimboPlayer 2017-03-13 18:30:52 +01:00
rafael59r2
b5451df9d7 Fix translations messages_pt.yml (#232)
* Fix translation

* Update messages_pt.yml
2017-03-13 07:31:30 +01:00
rafael59r2
fd18930286 Translate messages_pt.yml (#230)
* Update messages_pt.yml

* Update messages_pt.yml

* Update messages_pt.yml

* Update messages_pt.yml
2017-03-12 18:44:29 +01:00
ljacqu
8557621c02 #1125 Create infrastructure for Limbo persistence + restore 5.2 JSON storage
- Introduce configurable storage mechanism
  - LimboPersistence wraps a LimboPersistenceHandler, of which there are multiple implementations
  - Outside of the limbo.persistence package, classes only talk to LimboPersistence
  - Restore the way of persisting to JSON from 5.2 (SeparateFilePersistenceHandler)

- Add handling for stored limbo players
  - Merge any existing LimboPlayers together with the goal of only keeping one version of a LimboPlayer: there is no way for a player to be online without triggering the creation of a LimboPlayer first, so we can guarantee that the in-memory LimboPlayer is the most up-to-date, i.e. when restoring limbo data we don't have to check against the disk.
  - Create and delete LimboPlayers at the same time when LimboPlayers are added or removed from the in-memory map

- Catch all exceptions in LimboPersistence so a handler throwing an unexpected exception does not stop the limbo process (#1070)

- Extend debug command /authme debug limbo to show LimboPlayer information on disk, too
2017-03-12 18:43:37 +01:00
ljacqu
1678901e02 #1113 Attempt to merge new LimboPlayer with an existing one
- Extract some logic into LimboServiceHelper to keep LimboService slim
- Create LimboServiceHelper#merge to merge two LimboPlayers associated with a Player. E.g. if an admin unregisters an online player that has not logged in, the creation of a LimboPlayer is triggered while there already is one in LimboService
2017-03-12 15:56:08 +01:00
ljacqu
689e5eeccc Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	src/main/java/fr/xephi/authme/command/executable/authme/debug/DebugCommand.java
2017-03-12 14:54:25 +01:00
ljacqu
10d8f00c92 Various minor changes
- AsynchronousLogin: call common permission methods through CommonService instead of PermissionsManager
- CommandManager: remove superfluous replacement of %p (handled by lazy tag replacer)
- Remove unused method in CommonService
- Create DebugSectionConsistencyTest
- SendMailSSL: Enable debug output if AuthMe log level is set to debug
- Add Utils#logAndSendMessage and replace existing, separate implementations
2017-03-12 14:04:39 +01:00
ljacqu
c766b5c259 #1036 Add restoration options for Limbo allowFlight / fly speed / walk speed
- Introduce options to define how allow flight, fly & walk speed should be restored from LimboPlayer
- Create consistency tests for line length in SectionComments methods and to ensure that all SettingsHolder classes are part of the returned ConfigurationData
2017-03-12 13:51:03 +01:00
rafael59r2
72acf28233 Creating help_pt.yml (#231)
* Create help_pt.yml

* Update help_pt.yml
2017-03-12 07:14:02 +01:00
ljacqu
c79ba49ca8 #1113 Don't restore OP to unregistered player; add tests for LimboService 2017-03-11 08:47:58 +01:00
ljacqu
e788da87d4 #1034 #1131 Create debug section for country info / restrictions 2017-03-09 22:25:52 +01:00
RatchetCinemaESP
f7de74c134 Translate messages_es.yml (#229)
Affected lines:
#92 and from #100 to #107

Regards!
2017-03-09 13:33:16 +01:00
ljacqu
ed55c77706 #1131 Correct quote type in debug statement
- Java util Logger does not escape placeholders if they are in normal single quotes
2017-03-09 08:04:47 +01:00
ljacqu
3b70492bb9 #1131 Add debug statement for country protection 2017-03-09 08:02:37 +01:00
ljacqu
e43f6364ed Remove forgotten TODO in messages_bg.yml 2017-03-09 07:56:36 +01:00
Martin
bdd62e70c2 Update BG language (#226)
* Update language

Updated Bulgarian language.

* Update messages_bg.yml

* Update messages_bg.yml

* Update messages_bg.yml

* Update messages_bg.yml

Ready. :)

* Update messages_bg.yml
2017-03-08 23:09:37 +01:00
Martin
5ca1c17771 Xenforo support
Added in-game xenforo support. User can register/login in-game, in
website only login. Register have issues i will try to fix it.
2017-03-08 01:21:29 +02:00
ljacqu
7eadb7f7f9 #1034 Add debug sections for viewing DB data and Limbo data 2017-03-07 22:08:04 +01:00
ljacqu
4bb10c5d6d #1113 Handle LimboPlayer tasks via LimboService
- Add methods to LimboService for handling messages to make it the only relevant Limbo class for outside classes
  - Move LimboPlayerTaskManager to limbo package and make it package-private
- Create MessageTask and TimeoutTask immediately when LimboPlayer is created
- #1112 MessageTask: improve efficiency by keeping reference to Player
2017-03-07 20:35:48 +01:00
EbonJaguar
62c053d5cb Register the new /email code command 2017-03-06 15:21:49 -05:00
EbonJaguar
fa65b1af5e make TimedCounter#decrement(K) easier to read 2017-03-06 14:15:07 -05:00
EbonJaguar
7d4bfcd99d - Introduce /email code
- Add max tries for /email code
- Introduce a PasswordRecoveryService
2017-03-06 13:54:46 -05:00
Martin
6d67b82860 Xenforo
Added Xenforo group
2017-03-06 06:31:51 +02:00
Martin
7f8b31f9d4 Merge remote-tracking branch 'refs/remotes/AuthMe/master' 2017-03-06 06:16:34 +02:00
Martin
648e71cf0f IPB4 Improve
IPB4 prefix, group, lastvisit support added.
2017-03-06 06:11:59 +02:00
ljacqu
021497b9e6 #1113 Handle LimboPlayers within LimboService (remove LimboCache) (work in progress)
- Delete LimboCache and LimboPlayerStorage: LimboService now handles all LimboPlayer actions
- Revoke player rights when creating a LimboPlayer, within the LimboService
- Various fixes and improvements
2017-03-05 21:47:46 +01:00
ljacqu
22ccf582b8 #1113 Create LimboService (work in progress)
- Introduce new LimboService with a higher level abstraction for outside classes to trigger LimboPlayer actions
- Add methods to LimboPlayerTaskManager for muting the MessagesTask safely
2017-03-05 19:25:35 +01:00
ljacqu
6db778387d Don't make CommandDescription final as to allow mocks
- Construction of a CommandDescription requires a lot of fields to be set. In most tests we only care about one or two fields -> having to set a lot of fields to dummy values is not very nice.
2017-03-05 11:08:43 +01:00
ljacqu
8aa573b9ed Minor fixes as found by Checkstyle 2017-03-05 10:58:29 +01:00
ljacqu
009d82c0a9 #1120 Use empty "realname" when converting from flatfile
- FlatFile doesn't store the "realname" - all names are always in all-lowercase. Converting from flatfile to other data source should therefore not take over an auth's realname
- Adjust sample flatfile file to only have all-lowercase usernames
2017-03-04 17:52:08 +01:00
Den
c079f5f3d5 Update messages_ru.yml (#227)
New messages have been translated.
Uits of time reduced, as can be conjugated differently.

==================================

Были переведены новые сообщения.
Единицы времени сокращены, так как могут спрягаться по разному.
2017-03-04 01:09:43 +01:00
Maxetto
283b5aebb7 [Messages_IT] Email recovery delay (#225)
Plus some adjustements since emails can now contain recovery codes instead of new passwords.
2017-03-02 11:04:56 +01:00
Twonox
1e9ba53471 Update messages_tr.yml (#224) 2017-03-02 08:26:29 +01:00
Twonox
f9ebf63dcf Update help_fr.yml (#223) 2017-03-02 08:25:46 +01:00
Twonox
ebfada1557 Update messages_fr.yml (#222) 2017-03-02 08:21:06 +01:00
ljacqu
d450d7d828 #1114 Update Turkish texts by @smt287 2017-02-28 19:27:14 +01:00
ljacqu
7185206718 Minor - use replace instead of replaceAll for non-regex replacements 2017-02-27 22:45:46 +01:00
Maxetto
41b6c34b6b Transform values into constants
(cherry picked from commit 20d83e5 et al.)
2017-02-27 19:55:16 +01:00
Jacek Maciejak
bf3d6b0e7c Update messages_pl.yml (#221)
* Update messages_pl.yml

* Update messages_pl.yml

Fix
2017-02-27 19:04:54 +01:00
ljacqu
57903f1c08 Merge pull request #220 from AuthMe/1073-email-cooldown
Configurable cooldown for /email recovery
2017-02-26 22:44:39 +01:00
ljacqu
8a7c8c36f2 List all subcommands if debug section is unknown 2017-02-26 14:18:18 +01:00
ljacqu
a847deac16 #1075 Mail sender - allow to turn off TLS for port 25 2017-02-26 14:12:51 +01:00
ljacqu
a2b8ca683d Add tests for lazy tag replacement 2017-02-25 23:37:15 +01:00
ljacqu
33c4a4690f #1073 Email recovery delay: update project files following new messages & config 2017-02-25 22:42:23 +01:00
ljacqu
c197a330f3 #1073 Add delay to email recovery command
- Add configurable cooldown period after sending an email for /email recovery
- Change ExpiringMap to remove expired entries (like ExpiringSet)
- Create method to translate durations via the messages file
2017-02-25 22:41:49 +01:00
ljacqu
a4b440bcca Separate email preparation and email sending into separate classes
- SendMailSSL keeps on handling the technical details for sending mails, while EmailService offers methods to other classes and worries about generating the correct email content
2017-02-25 20:14:58 +01:00
ljacqu
72c5cfac68 Create Duration class and ExpiringSet#getExpiration (prep for #1073)
- Move expiring collections to util.expiring package
- Change ExpiringSet to remove expired entries during normal calls
2017-02-25 17:25:25 +01:00
ljacqu
4edb4e68c2 #1104 Whitelist sensitive commands also when used with "authme:" prefix 2017-02-21 22:51:45 +01:00
ljacqu
ee51bb3971 Minor cleanups
- Remove forgotten test assertion
- Make utils class final
- Change RandomString to use char array
2017-02-20 22:20:48 +01:00
ljacqu
922101d755 #1104 Filter all sensitive command aliases in console filters 2017-02-20 22:09:36 +01:00
ljacqu
18d8186804 #1026 List all available tags for commands.yml in comment 2017-02-20 21:18:13 +01:00
ljacqu
57ca81f2ba #1102 commands.yml file should not have any commands by default 2017-02-20 21:11:57 +01:00
ljacqu
39395836b4 #949 Add configurable timeout for captcha count 2017-02-19 11:50:06 +01:00
ljacqu
ca708e23cd #949 Create ExpiringSet, integrate into SessionManager 2017-02-19 09:06:15 +01:00
ljacqu
7b3bd3f4ea Make the Travis build great again
Curious that only TravisCI has issues with some lambda code creating a map. Both CircleCI and our project Jenkins are happy with it. The same JDK is configured for TravisCI and CircleCI, too...
2017-02-18 23:00:19 +01:00
ljacqu
152d1dc216 #949 Created TimedCounter + implement it in TempbanManager 2017-02-18 22:50:30 +01:00
ljacqu
ef1d006cdf #949 Create expiring map type + integrate it into recovery code service 2017-02-18 21:31:37 +01:00
ljacqu
6937dd37fb #1034 Create subcommand to send test email
- Add test email feature
- Change debug command to lazily instantiate its subcommands
2017-02-18 17:53:34 +01:00
ljacqu
c9b66183de Fix command mapping for /authme:unregister etc. 2017-02-18 15:56:08 +01:00
ljacqu
e3426cd731 Display hint when legacy jar should be used (cf. #1099) 2017-02-18 15:13:26 +01:00
Gabriele C
2d3078daa4 Use the bStats maven artifact
It seems to have issues accessing the maven repository, maybe it's just
an issue with my local setup.

(cherry picked from commit fc8c75c)
2017-02-17 22:06:12 +01:00
Gabriele C
f0f2398e47 Incrase the auto poolSize value 2017-02-15 23:27:25 +01:00
ljacqu
7c1a9062ba #761 Simplify auth group handling 2017-02-15 20:05:14 +01:00
ljacqu
d2fccdeb80 Update Injector and create injectable object factory
- Using e.g. Factory<Converter> instead of the injector directly makes its purpose more specific and disallows any future abuse of the injector's functions
2017-02-05 16:52:35 +01:00
ljacqu
8ae06ed480 Minor improvements to config layout
- Change placement and comment of settings.restrictions.banUnsafedIP to make it clear that it only bans unknown IPs using a restricted username
- Move "MySQL use SSL" option outside of the column options
2017-02-05 13:48:24 +01:00
ljacqu
3eab42ae68 Remove obsolete "session expires on IP change" config
- Session always expire on IP change; the config only controlled whether an error message was shown or not
2017-02-05 13:40:11 +01:00
ljacqu
2b1a97e959 #761 Fix removal and restoration of primary permission group
- Improve how a player is being switched between permission groups (add new group before removing old one)
- Remove group handling logic from LimboCache: AuthGroupHandler is now solely responsible for changing the player's permission group
2017-02-05 13:12:04 +01:00
ljacqu
49f7e47645 Add more debug log flavors to ConsoleLogger 2017-02-05 13:09:38 +01:00