Commit Graph

2187 Commits

Author SHA1 Message Date
ljacqu
38db2ef0bd Minor code householding
- Add removed property to migration service
- Log exception with appropriate logger method
2016-06-01 23:24:48 +02:00
ljacqu
95343e366b #314 Evaluate default permission on enum, remove default from handler interface
- Evaluate permission for DefaultPermission on the enum itself
- Remove boolean default from PermissionHandler for hasPermission()
- Remove some unused / intermediary hasPermission() flavors in PermissionsManager
2016-06-01 21:56:57 +02:00
EbonJaguar
fdb9227ec1 Properly unhook the current system when unhook() is called 2016-06-01 14:09:30 -04:00
EbonJaguar
e99d9414b8 Add and implement handlers for each individual permissions plugin, instead of doing everything in the PermissionsManager - see #314 2016-06-01 14:00:27 -04:00
games647
1cbd11a753 Fix the issue reference for removing the exception stacktrace logging 2016-06-01 18:30:46 +02:00
games647
71a9abdad9 Remove redundant isLoggable check. It's always level ALL
Looks like the java logger does not reflect the log4j level settings

:(
2016-06-01 18:28:22 +02:00
games647
351fe3aa5a Add thread name and stacktrace to the debug logging (Related to #419)
It's only visible to user who enabled debug logging in their spigot
configuration.
2016-06-01 18:04:43 +02:00
ljacqu
e59bbbf10e #738 Add check that shooter is of type Player in ProjectileLaunchEvent
- Use reflection the opposite way: if it is an old version (getShooter() returns LivingEntity), use reflection; otherwise, call the method directly
- Add missing instanceof Player check
2016-06-01 14:06:36 +02:00
Gabriele C
58a6b6060f Log an error if the plugin is unable to create the log file. 2016-06-01 11:40:50 +02:00
Gabriele C
e6f2eb487d Merge pull request #136 from AuthMe-Team/writelog
better method to write the messages
2016-06-01 11:37:37 +02:00
DNx5
3d1f735c1b Use FileWriter to write the messages. 2016-06-01 06:12:22 +07:00
DNx5
5c690d722a - do the check for old GeoLite data correctly. 2016-06-01 05:23:40 +07:00
ljacqu
0977558924 #736 Remove use of service getters and deprecate them 2016-05-31 11:14:03 +02:00
Gabriele C
be4b3a8605 Update messages_hu.yml 2016-05-31 10:29:35 +02:00
ljacqu
3b6677ce99 Merge branch '604-default-permissions-on-nodes' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-05-31 09:15:36 +02:00
ljacqu
30b72bec4c #604 Fix HelpProvider tests 2016-05-30 23:49:59 +02:00
EbonJaguar
3ad00a45f9 Move default permissions out of Commands and into PermissionNode - fixes #606 2016-05-30 16:47:48 -04:00
ljacqu
4db5062935 Merge branch 'playerjoin-listener-cleanup' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-05-30 21:13:36 +02:00
ljacqu
18ff5d5331 Remove todo comment associated to #602 2016-05-30 20:02:07 +02:00
ljacqu
f5b4071abf Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into playerjoin-listener-cleanup 2016-05-30 17:53:42 +02:00
Gabriele C
8a0655e333 Merge pull request #134 from Gnat008/602-create-lowercase-string-list-propertytype
Add a lowercase String list property - fixes #602
2016-05-30 17:53:14 +02:00
ljacqu
cc67624a46 Throwing snowball still possible when unlogged 2016-05-30 17:09:10 +02:00
EbonJaguar
f94f4643cf Add a lowercase String list property - fixes #602 2016-05-30 11:08:01 -04:00
ljacqu
9b1ee86b2f Trivial code householding
- Replace `if (!x) ... else ...` with `if(x) ... else ...`
- Avoid throwing RuntimeException; use children
2016-05-30 12:18:55 +02:00
ljacqu
4c51b33b22 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into playerjoin-listener-cleanup 2016-05-30 07:52:40 +02:00
ljacqu
9349993faf Merge pull request #133 from Gnat008/612-add-PermissionsSystemType-method
Add isPermissionsSystem method to PermissionsSystemType enum - fixes …
2016-05-30 07:51:14 +02:00
EbonJaguar
428b27943b Add isPermissionsSystem method to PermissionsSystemType enum - fixes #612 2016-05-29 18:29:19 -04:00
Gabriele C
30aace06d4 Remove unknown config entry 2016-05-29 21:47:54 +02:00
Gabriele C
bf91e7754e Remove unused imports 2016-05-29 21:43:28 +02:00
DNx5
10e5ae08e2 remove write log for info message.
In case we don't have better log writing method yet.
2016-05-29 23:15:00 +07:00
Gabriele C
be6ed07802 Fix #568 2016-05-29 17:36:36 +02:00
Gabriele C
f5b7246d1d remove useless stuff from the player listener 2016-05-29 17:10:33 +02:00
Gabriele C
52c0c7dd64 playerlistener cleanup 2016-05-29 16:34:03 +02:00
ljacqu
64aacb12db Unit test verifications done on joining
- Write unit tests for checks done when a player joins
- Move join event handler methods back to PlayerListener; move join check logic to new separate class
2016-05-29 15:00:16 +02:00
ljacqu
39d8a88142 Structure checks done in PlayerJoinListener as individual methods 2016-05-29 11:45:12 +02:00
ljacqu
2c92a8b52f Move logic for join events in its own listener 2016-05-28 22:32:45 +02:00
ljacqu
a854d4e0e0 Register entity listener again 2016-05-28 22:29:49 +02:00
ljacqu
25f5fdb45c Code householding (PlayerListener / Settings)
- Use field on PlayerListener for storing nickname pattern -> repeatedly parsing pattern is expensive
- Remove unused legacy setting fields
- ForceFlatToSqlite cannot be run from converter command -> remove Converter interface to create more natural method signatures
2016-05-28 22:04:55 +02:00
ljacqu
b48e080324 Minor code householding
- Fix Javadoc errors reported during Jenkins build
- Use Guava methods in NewSetting where possible
2016-05-28 07:56:26 +02:00
ljacqu
eee06dad50 Dependency graph - allow to summarize dependencies by super type 2016-05-27 23:25:11 +02:00
ljacqu
107441746e Merge remote-tracking branch 'origin/master' 2016-05-27 23:05:40 +02:00
ljacqu
cb10854612 Minor - fix failing build (cannot use method from Java 8) 2016-05-27 23:05:03 +02:00
ljacqu
87331d116c Revise converter architecture + add integration test for CrazyLogin converter 2016-05-27 23:00:44 +02:00
games647
466fb8cab9 Run explicit non-thread-safe setGameMode sync 2016-05-26 10:52:49 +02:00
Gabriele C
41bad6189e Update messages_tr.yml
#621
2016-05-25 19:52:21 +02:00
ljacqu
67511e3b45 Create task which draws AuthMe dependency graph 2016-05-25 19:24:12 +02:00
ljacqu
3643b88798 #712 Add changes to fr messages by Jeje2201 2016-05-25 17:37:15 +02:00
ljacqu
6341d00df0 Code householding - remove legacy settings and TODO messages
- Remove fields in legacy settings that are now unused
- Remove various irrelevant todo messages
- Reduce visibility on some elements
2016-05-24 18:59:01 +02:00
ljacqu
e54cd526de Add verification remarks in message files
- Result from automatic task which checks message files for missing messages or tags
2016-05-24 18:37:58 +02:00
ljacqu
8de1897412 Minor - Use explicit dependencies in ProcessService
- Replace AuthMe in favor of PermissionsManager
- Create missing tests for ProcessService
2016-05-24 18:25:38 +02:00
Gabriele C
a7d3e60abe Remove unused imports 2016-05-24 17:00:23 +02:00
Gabriele C
2a3ed384d5 Fix #720 invalid HU lang file 2016-05-24 16:51:03 +02:00
Gabriele C
55cc882002 Remove scheduler methods from the ProcessService
@ljacqu it's ok now? ;)
2016-05-24 16:07:03 +02:00
Gabriele C
5007ca45f0 Update HU language #720
Thanks to @rErEaT
2016-05-24 15:55:09 +02:00
Gabriele C
dbae4953cc Can't cancel sync player chat #722 2016-05-24 15:50:28 +02:00
Gabriele C
740b44ca36 cleanup 2016-05-23 23:49:56 +02:00
Gabriele C
da6431b4fc Suppress injection test warnings 2016-05-23 23:16:40 +02:00
ljacqu
30f62547d8 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 707-process-as-service 2016-05-23 21:41:41 +02:00
Gabriele C
7865d7dc2c Remove synchronized methods from the Cache (please check)
@Xephi @ljacqu @games647
2016-05-23 21:18:31 +02:00
Gabriele C
97e96ab16b Remove unused imports 2016-05-23 21:16:11 +02:00
Gabriele C
b3f184da78 stupid conflict 2016-05-23 21:12:12 +02:00
Gabriele C
22f54c1f3e Fix Chat Hider #719 2016-05-23 21:05:18 +02:00
Xephi
c0e8650c6f Move to antibot class 2016-05-23 10:10:01 +02:00
Xephi
37b6a2f96f Enable antibot automatically and check for bot into AsyncPreLogin #719 2016-05-23 10:03:10 +02:00
ljacqu
11350ec43a Iterate over all chat recipients 2016-05-22 10:52:34 +02:00
Gabriele C
dd5fb49065 Whoops forgot to commit this #719 2016-05-21 18:08:26 +02:00
Gabriele C
e0ef0e40c7 Add denied chat message #719 2016-05-21 18:01:21 +02:00
Gabriele C
fb6303bf4a Cleanup 2016-05-21 15:37:54 +02:00
Gabriele C
410d07a64c Remove commented code 2016-05-21 15:08:40 +02:00
Gabriele C
b2b65710b1 Also for SQLITE #719 2016-05-21 15:00:48 +02:00
Gabriele C
7a21294581 Don't use synchronized methods #719 2016-05-21 14:58:57 +02:00
Gabriele C
7ad39e2a5d Use default Hikari pool parameters 2016-05-21 14:54:03 +02:00
Gabriele C
4d06b63e64 Try to fix spambot resource leak #719 2016-05-21 14:18:31 +02:00
ljacqu
53043ddc0d Create tool task that checks Mock fields of test classes 2016-05-21 11:54:54 +02:00
Gabriele C
6af65e6cd4 Fix wrong logic (my fault) 2016-05-20 22:02:26 +02:00
Gabriele C
6285a2137f Revert "Idk why, but it doesn't work!"
This reverts commit 0c2ee34db3.
2016-05-20 22:00:52 +02:00
Gabriele C
0c2ee34db3 Idk why, but it doesn't work! 2016-05-20 21:27:47 +02:00
ljacqu
c1885a381b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 707-process-as-service
Conflicts:
	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
	src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java
2016-05-20 19:48:41 +02:00
ljacqu
3f039d641a #707 Convert sync processes into services 2016-05-20 19:42:30 +02:00
ljacqu
5adf819910 Minor - remove unused services from PurgeCommand
- Found by sgdc3 in 95b65ae20a
2016-05-20 18:03:22 +02:00
ljacqu
244e1a2b7d Injector - don't use instantiation fallback if PostConstruct method is present
- Do not instantiate classes with instantiation fallback if they have a PostConstruct method - thanks @sgdc3 for the hint
- Change Injector test to check exception messages also
2016-05-20 17:57:14 +02:00
ljacqu
a355c325c5 #513 Allow to run updateDocs task from command line 2016-05-20 17:15:53 +02:00
Gabriele C
2edcb703c1 Wtf was that? D: 2016-05-20 15:53:39 +02:00
Gabriele C
8dd5420e1a Whoops 2016-05-20 15:46:46 +02:00
Gabriele C
4303dca469 Apply no teleport to the respawn listener, remove Settings usage from the PlayerListener 2016-05-20 15:45:34 +02:00
Gabriele C
6abad1970c Revert "Cleanup"
This reverts commit 95b65ae20a.
2016-05-20 14:58:41 +02:00
Gabriele C
92287cb5dd Delay the first "please login/register" message on join 2016-05-19 23:18:16 +02:00
Gabriele C
95b65ae20a Cleanup 2016-05-19 23:06:55 +02:00
ljacqu
4d634086cd #701 Alternate accounts are shown to all players with their own name 2016-05-19 22:02:15 +02:00
ljacqu
9a72fe53b0 Minor - code householding
- Update inaccurate javadoc
- Remove unnecessary require call in PHP integration sample
2016-05-19 21:55:42 +02:00
ljacqu
f014485789 Service injector - implement stricter requirements for PostConstruct methods
- Implement similar restrictions as prescribed by the PostConstruct documentation:
   - Class may have at most one method annotated with PostConstruct
   - PostConstruct method must return void
- Javadoc: replace mentions of injector construction where any injection method was meant
2016-05-19 21:50:48 +02:00
ljacqu
14002ee75c #704 Reload settings of ConsoleLogger on /authme reload 2016-05-19 19:46:02 +02:00
ljacqu
92a8a5dd41 #704 Remove reloading from hash algorithms
- A new instance is created for every hash operation, so reloading will never happen on those classes
2016-05-18 19:09:38 +02:00
ljacqu
f5c89e897f #707 Convert async processes as services
(work in progress - rough, untested changes)
2016-05-17 19:49:06 +02:00
ljacqu
3ad76b8ec5 #712 fr messages - add untranslated messages and minor fixes 2016-05-16 17:50:26 +02:00
Gabriele C
df2329fd9a Fix conflict 2016-05-16 16:27:59 +02:00
Xephi59
9db330646e Try to fix #419 2016-05-15 17:52:54 +02:00
games647
0fc7674aa4 Introduce isLogin() for backwards compatibility with Plugins like
GuiRules (Fixes #705)
2016-05-14 14:40:56 +02:00
Gabriele C
c2c60caa5b Revert "Fix #705"
This reverts commit 9e688b410d.
2016-05-14 14:33:30 +02:00
Gabriele C
9e688b410d Fix #705
Idk why the player becomes null, maybe the isOnline check is enought
2016-05-14 00:25:24 +02:00
Gabriele C
c748501345 Fix Multiverse dependency + fix invalid test in Eclipse 2016-05-14 00:01:26 +02:00
ljacqu
9f5b995217 Fix datasource resource closing tests (#1) 2016-05-12 20:15:44 +02:00
ljacqu
e04f7dc711 #704 Implement reloading via injector
- Create interfaces Reloadable and SettingsDependent to recognize reloadable classes
- Iterate through instances in injector to reload
2016-05-12 19:51:10 +02:00
games647
5c850e46c4 Clean up a bit 2016-05-11 17:16:29 +02:00
games647
4bad04b160 Add debug statements for finding the source of #419 2016-05-11 16:57:41 +02:00
games647
b1957c9812 Do not lookup twice for banned players 2016-05-09 21:51:21 +02:00
games647
45ddacc88a Merge origin/master into balancedPurge 2016-05-09 21:16:39 +02:00
ljacqu
223f56425b #699 Unit test that config.yml values correspond to property defaults
- Create unit test
- Correct offending values
2016-05-09 21:15:11 +02:00
games647
3673e15ff7 Fix missing change from ee08087871
(Fixes #697) Thanks to @ljacqu for pointing that out
2016-05-09 21:04:38 +02:00
games647
74041725fa Collect offline players only once 2016-05-09 13:17:20 +02:00
games647
0bd6ac5cc8 Make the purge progress run more balanced (Fixes #696) 2016-05-09 13:09:40 +02:00
ljacqu
b728b297b8 #256 Add migration for moved properties 2016-05-08 22:30:53 +02:00
ljacqu
f2e49dbf1e Minor - fix compilation of task tool class list
- Set is declared as ToolTask but all elements extend from AutoToolTask, so the Set type is resolved to a too specific type
2016-05-08 21:55:08 +02:00
games647
ee08087871 Fix a couple race conditions (Fixes #698 and #697) 2016-05-08 20:44:18 +02:00
ljacqu
23da023d53 #513 Mark tools runnable by command line with specific interface 2016-05-08 17:22:02 +02:00
ljacqu
662f28ab4f #513 Fix class loading issue when running from mvn exec:java 2016-05-08 17:01:06 +02:00
ljacqu
8e878d6a5a Remove BukkitService from CommandService, inject where needed instead 2016-05-08 13:50:20 +02:00
ljacqu
5e5836f167 #432 Injector improvements
- Separate FieldInjection from default fallback for no-Inject public no-args constructor classes
- Make CommandInitializer a normal, instantiable service
- Add various injections instead of fetching through command service
2016-05-08 11:15:56 +02:00
Gabriele C
3e6223dc5a I'm so stupid 2016-05-05 23:01:06 +02:00
Gabriele C
084cdd0d3a Allow tool execution with argument 2016-05-05 20:20:40 +02:00
Gabriele C
09e2845cea Delete unused Profiler 2016-05-05 19:43:12 +02:00
Gabriele C
76a1ff29b0 Start working on #423 2016-05-05 19:36:26 +02:00
Gabriele C
dc65a4bd39 Fix #439 2016-05-05 19:16:08 +02:00
Gabriele C
fb4dd260f8 Correct pom properties 2016-05-05 18:39:35 +02:00
ljacqu
3fe2f0b6a8 Add missing test matcher
- Mock verifications need matchers on all parameters, or on none. Test fails otherwise
2016-05-04 18:40:06 +02:00
Gabriele C
7c52460c87 Merge branch 'pre-injector' 2016-05-04 18:03:33 +02:00
Gabriele C
1ea2f98727 Start working on #687
Next step: Future return of the async registration
2016-05-04 18:01:47 +02:00
Gabriele C
f38d3b4545 Remove deprecated method usage 2016-05-04 17:35:04 +02:00
Gabriele C
5ceabe2146 Cleanup 2016-05-04 17:26:58 +02:00
Gabriele C
39aaef8f8a Pom enhancements 2016-05-04 17:12:14 +02:00
ljacqu
67aea654cc #432 Fix broken tool tasks 2016-05-03 20:44:01 +02:00
ljacqu
3645806edc Move tools folder into test folder
- Classes still won't be present in JAR but classes will be automatically compiled by Maven inside of the test scope, facilitating the execution of tool tasks
2016-05-03 20:27:12 +02:00
ljacqu
23317caa46 Merge pull request #125 from AuthMe-Team/432-dependency-injection
432 dependency injection
2016-05-03 18:54:35 +02:00
NoChanceSD
0ea95fb93c Simplify force spawn location settings by grouping them
Also, seems to work fine. Closes https://github.com/Xephi/AuthMeReloaded/issues/256
2016-05-03 16:36:05 +01:00
ljacqu
491dc06de4 Fix RegisterAdminCommand test verifying that online player is kicked 2016-05-02 19:57:54 +02:00
ljacqu
f76a68cb26 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-dependency-injection
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
	src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java
	src/main/java/fr/xephi/authme/hooks/PluginHooks.java
	src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
	src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java
	src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java
2016-05-02 19:48:12 +02:00
ljacqu
9af596327a #432 Inject in commands: DataSource / AntiBot / PasswordSecurity / PlayerCache
- Inject the services instead of passing them through the command service
2016-05-02 18:52:34 +02:00
Xephi59
20a237dbdf [DEV] This test would fail until player couldn't be returned as he was
kicked
2016-05-02 03:38:25 +02:00
Xephi59
e97b4641a1 Kick player only Synchronously 2016-05-02 02:39:53 +02:00
Xephi59
121dd7e6fb Add Spigot API - 1.9 PlayerSpawnLocationEvent 2016-05-02 02:13:19 +02:00
ljacqu
1f0f3f1bea #675 Clean up country protection code
- Move validation to validation service
2016-04-30 14:11:38 +02:00
games647
c8b191fda0 Add warning if hideTablist is not compatible with the mc version
(Fixes #680)
2016-04-30 13:05:31 +02:00
ljacqu
e6dacd6951 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-dependency-injection 2016-04-30 12:17:33 +02:00
ljacqu
3c6415a6a4 #432 Use injector instantiate hash algorithms 2016-04-30 12:17:18 +02:00
ljacqu
908399e271 #432 Injector - prevent static field injection, add more tests 2016-04-30 10:44:32 +02:00
ljacqu
b32e5da4c5 #611 Admin unregister forces player to register even for optional registration
- Make /authme unregister behave the same way as /unregister for optional registration: user is informed but can continue playing; no teleportation to spawn
2016-04-30 09:30:52 +02:00
ljacqu
2c491803d3 Injector - disallow static PostConstruct methods, add more tests 2016-04-29 23:49:03 +02:00
ljacqu
7f44ecdb40 Create event consistency test + test code cleanup 2016-04-29 22:39:46 +02:00
ljacqu
8d489efffd #683 Plaintext to SHA256: Add warning message + skip SHA hashes
- Add message not to stop the server before conversion finishes
- Skip hashes starting with $SHA$ during conversion
- Create unit tests
2016-04-29 21:58:32 +02:00
ljacqu
077cb242f0 #550 Show welcome message only after login
- Never send welcome message just after registration (with no subsequent login)
- Always run force command options upon registration
2016-04-29 21:16:42 +02:00
ljacqu
ee08eb9efb Replace Java 1.8 method with 1.7 2016-04-27 23:15:32 +02:00
ljacqu
5963628fa6 #432 Add field injection to AccountsCommand 2016-04-27 22:59:44 +02:00
ljacqu
02079f1f5c #432 Create custom dependency injector 2016-04-27 22:49:20 +02:00
ljacqu
59d3bc95c0 Move getOnlinePlayers() from Utils to BukkitService; delete Wrapper 2016-04-23 15:24:41 +02:00
ljacqu
a78e0408c6 #449 Remove use of legacy settings in encryption methods 2016-04-23 12:46:30 +02:00
ljacqu
ee745f153d messages_de consistency: Lowercase all occurrences of "du" 2016-04-23 11:06:33 +02:00
Very Evil Olaf
229c8429cb Minor fixes
Some grammar stuff and eye candy
2016-04-23 08:37:46 +02:00
ljacqu
0dab887848 Code householding
- Various migrations from legacy settings to new settings
- PlayerListener: use shouldCancelEvent() to see if chat should be canceled
- Merge permission manager listener with general server listener
2016-04-23 00:18:03 +02:00
ljacqu
1182b58b99 Player listener - migrate legacy setting use to new settings 2016-04-22 21:55:25 +02:00
ljacqu
2cd43d599d Minor - MyBB has alphanumerical salts, not restricted to hexadecimal 2016-04-22 21:24:37 +02:00
games647
c67527aac0 Fix vanished players are visible after join (Fixes #670) 2016-04-22 17:04:46 +02:00
ljacqu
00cb01b3bd #663 Don't print stacktrace when encountering invalid hash formats 2016-04-21 18:05:47 +02:00
ljacqu
e818395575 #667 /authme switchantibot throws NullPointerException
- Antibot was not provided to CommandService (from where it's retrieved in the SwitchAntiBot command) because it was initialized afterwards
2016-04-20 21:39:13 +02:00
ljacqu
37fb29f8b9 #638 Register with Wordpress fails with SQL exception
- Remove semicolon in query, looks like executeBatch() does not like it
2016-04-20 21:22:57 +02:00
Maxetto
af2d493796 Update messages_it.yml
Added new translations,
Added Color Codes,
Reflect more the English one,
Consistency Update between Italian terms,
Reordered the lines to reflect the English ones.
(cherry picked from commit f747475)
2016-04-19 19:09:15 +02:00
ljacqu
92c476785b Remove generated code / allow import of new languages
- Exporting back messages to the remote server is now handled by IP whitelisting, not with temporary codes
2016-04-17 23:17:38 +02:00
ljacqu
354581160a Change export messages task to send updated file to remote server 2016-04-17 12:17:22 +02:00
ljacqu
6c49f5844f Improve saving in messages import
- Keep same style (messages wrapped in single quotes)
- Remove verification comments and run verification after merge again
2016-04-16 11:47:18 +02:00
ljacqu
f4bc4322f0 Create export/import messages task
- Allows communication with a web interface (PHP) to translate messages
- Saving via import still needs to be improved
2016-04-15 23:03:19 +02:00
Gabriele C
4911499333 Allow player falling, avoid useless lag and deny jumps! #618 2016-04-15 22:16:13 +02:00
Gabriele C
4040cd9ba6 #658 Add hide_chat setting 2016-04-15 21:50:32 +02:00
ljacqu
6c9297a667 #647 Update Hungarian messages
- By rErEaT
2016-04-15 15:21:29 +02:00
ljacqu
3674ac087c Code householding + settings migration
- Migrate and remove unused properties in legacy Settings
- Add forgotten space in Register command
- Fix javadoc errors shown on Jenkins
2016-04-15 15:17:58 +02:00
ljacqu
71515f188a #551 Email registration should fail if no server email is configured
- Stop registration and issue an error if the email address setting is empty for email registration
- Refactor register command into smaller portions
- Create tests
2016-04-15 14:37:47 +02:00
ljacqu
6074ba59d5 #654 Add test verifying nothing is sent for empty message
- Including various test simplifications
2016-04-15 12:27:34 +02:00
Gabriele C
b825f52a16 Ignore message if string is empty 2016-04-14 18:09:38 +02:00
ljacqu
ca0cbe6caf Code householding
- Move console initialization for tests into TestHelper
- Remove unused properties in legacy Settings
- Add issue number to TODO comments where applicable
2016-04-14 12:28:19 +02:00
ljacqu
3bb7ff2b85 #653 Empty salt column causes error when retrieving password
- Handle potentially empty salt column in MySQL and SQLite
- Create unit tests reflecting these cases
2016-04-14 11:48:24 +02:00
ljacqu
b7232d4508 Delete module code
- Remove code that has been unused for months. If modules come into discussion again it is better to start afresh once requirements are clearer
2016-04-09 14:55:39 +02:00
ljacqu
e2b50b72a5 Get player via BukkitService; add unit tests for commands 2016-04-08 19:56:44 +02:00
Gabriele C
0cda9a7698 cleanup 2016-04-08 14:44:18 +02:00
Gabriele C
30d109b01b Remove IPManager test 2016-04-08 14:35:42 +02:00
Gabriele C
ee177e8a3a Remove the IPManager
We don't need it anymore
2016-04-08 14:34:21 +02:00
Gabriele C
4ec98e5b3d Fix #646
Thanks to @hakumanatatu
2016-04-07 22:57:20 +02:00
Gabriele C
68ef28df08 Fix minor issues 2016-04-07 22:51:02 +02:00
Gabriele C
d56b63c5f0 Fix #644 2016-04-07 22:39:35 +02:00
Gabriele C
ee3299afd2 Fix startup error #643 2016-04-07 19:10:57 +02:00
ljacqu
83c02f487f Minor - improve previous commit 2016-04-07 17:48:33 +02:00
ljacqu
b3a3843b60 Tools: doc templates - add support for iterating tags
- Support iterating tags
- Generate (update) all docs
2016-04-07 17:19:52 +02:00
games647
70fbca3c47 Re-enable hideTablist because it's compatible with SkinRestorer 2016-04-06 15:20:29 +02:00
games647
d19d1772ba
Fix other players are invisble on hideTablist 2016-04-05 21:31:55 +02:00
games647
17ae88c94b
Fix other players are invisble on hideTablist 2016-04-05 21:30:32 +02:00
games647
48c5dd03bd
Fix restore of tablist hider 2016-04-05 21:22:19 +02:00
ljacqu
9ea75c502c #567 Move email validation logic to validation service 2016-04-03 20:44:13 +02:00
ljacqu
b6ccb3e632 #567 Add/change email should be aware of account threshold 2016-04-03 14:24:12 +02:00
Gabriele C
88e517635c wtf was that xD 2016-04-03 13:03:16 +02:00
ljacqu
c079692f1d Minor - code householding (tests)
- Remove redundant uses of WrapperMock
- Use assertThat() from JUnit, not hamcrest
- Use hamcrest Matchers everywhere (not BaseMatchers etc.)
- Favor Mockito's argThat() over using ArgumentCaptor (more succinct)
- Delete useless test classes
2016-04-03 07:38:13 +02:00
ljacqu
ba217a2595 Fix disable collisions setting 2016-04-03 07:26:23 +02:00
Gabriele C
c46c1251d9 fix wrong property in config.yml 2016-04-03 01:28:14 +02:00
Gabriele C
5a8ba7d462 fix wrong property in config.yml 2016-04-03 01:23:38 +02:00
ljacqu
4f86604699 Check valid password via service
- Create validation service; fixes same code being duplicated in four places
   - Goal is to remove Utils class, by moving methods to validation service or other services
 - Remove unused properties in legacy settings
2016-04-02 22:44:20 +02:00
Ivan Ip
0ff8430bf2 Fixed some typo, also updated zh_TW 2016-04-02 01:23:09 +08:00
Ivan Ip
c010a371d4 Fix placeholder and string sortings. 2016-04-02 01:11:19 +08:00
Ivan Ip
3a3ea4d228 First repairing commit to fix Chinese Lingual. 2016-04-02 01:06:21 +08:00
Gabriele C
de89244e0e #630 Disable collisions for unlogged players 2016-04-01 18:21:05 +02:00
Gabriele C
997c31a03e Cleanup warnings 2016-04-01 17:02:57 +02:00
DNx5
46a10da40f Fix test 2016-04-01 13:47:35 +07:00
DNx5
c63b9786f8 IpAddressManager should work with BungeeCord too. 2016-04-01 13:28:00 +07:00
DNx5
ff17e4ca6b Minor improvement. 2016-04-01 13:05:26 +07:00
DNx5
f7408c3e14 Improve AutoPurge feature, #627 2016-04-01 11:32:13 +07:00
DNx5
cb995a99a6 Fix Sqlite backend didn't remove old accounts. 2016-04-01 08:45:31 +07:00
DNx5
79eb0248f8 Run auto purge task asynchronously.
* prevent blocking server startup.
2016-04-01 08:33:11 +07:00
DNx
6f8b970c5c Update Log4JFilter.java 2016-03-31 20:20:11 +07:00
DNx
2c995168e3 this one, for sure. 2016-03-31 19:49:52 +07:00
DNx
b8336e31a6 Fix test. 2016-03-31 19:45:11 +07:00
DNx5
0fc15b8105 Fix removePassword option not working on KCauldron. 2016-03-31 19:16:05 +07:00
DNx5
8819f26c29 Fix #632
- Fix permissions manager is not initialized when constructing antibot instance.
2016-03-31 15:30:38 +07:00
ljacqu
95f5951587 Change message file consistency test to show all errors 2016-03-29 19:08:38 +02:00
ljacqu
55c24b8e64 Test AntiBot + SwitchAntiBotCommand 2016-03-24 22:11:40 +01:00
ljacqu
351b24fd14 Change AntiBot from static to instance
- Convert static methods in AntiBot
- Create BukkitService for operations requiring calls to static methods on the Bukkit class
2016-03-24 20:58:51 +01:00
ljacqu
20ad253926 #547 Add javadoc + unit tests for ProcessService 2016-03-21 20:06:49 +01:00
games647
bea43b3140 Fix possible race condition on login processing
(Fixes Xephi/AuthMeReloaded#619)
2016-03-21 14:40:37 +01:00
Gabriele C
2f850eed08 Disable tablist hider due to issues in 1.9 2016-03-20 13:51:23 +01:00
Gabriele C
19070c220b Blame eclipse warnings 2016-03-17 21:16:13 +01:00
ljacqu
00c8fa3b53 Minor - remove todo comment
- Difference between the tests is actually explained in the other class' javadoc
2016-03-16 21:14:31 +01:00
ljacqu
453f61233c Fix unit tests for settings by providing custom setting migration services
- Allow to provide custom plugin folder to test constructor
- #603 test all NewSetting methods
2016-03-16 20:57:41 +01:00
ljacqu
aef18a894a Move PropertyType functionality into Property class 2016-03-16 19:07:00 +01:00
ljacqu
89767b120c #603 Pass settings migration service as constructor parameter (work in progress) 2016-03-14 23:18:16 +01:00
ljacqu
4634213d75 #566 Test that all message files are valid YAML 2016-03-14 22:33:20 +01:00
ljacqu
2de3848cc3 #430 Remove PlayerAuth constructors in favor of builder
- Remove various PlayerAuth constructors
- Clean up FlatFile class
- Add some javadoc to PlayerAuth
2016-03-14 21:48:33 +01:00
ljacqu
ef980bd654 #603 Delete CustomConfiguration class 2016-03-14 20:45:46 +01:00
ljacqu
3522a5b0c0 #603 Various setting improvements
- Pass PropertyMap to settings class from the outside
- Fix tests not being reentrant due to real file writes
- Improve Node (internal tree for PropertyMap) interface
- Add code coverage for private constructors
2016-03-14 20:32:32 +01:00
ljacqu
374e2ff292 Fix Management initialization 2016-03-13 11:41:19 +01:00
ljacqu
5d12ec8b56 Minor fixes + code householding
- Fix SpawnCommandTest testing FirstSpawnCommand
- Fix javadoc errors
- Map TODO's to issue numbers where applicable
- Fix trivial TODO's
2016-03-13 11:09:27 +01:00
ljacqu
00125487f1 Create tests for admin commands 2016-03-13 10:17:09 +01:00
ljacqu
4d45b18759 Create test for PluginHooks 2016-03-12 18:25:57 +01:00
ljacqu
8293766f98 #421 Create SpawnLoader
- Non-static service class which handles the spawnpoints used in AuthMe
2016-03-12 18:25:38 +01:00
ljacqu
8b27444a49 #421 Create PluginHooks
- PluginHooks manages third-party plugins and allows to perform actions and queries on them, instead of public fields on the AuthMe main class
2016-03-12 18:24:34 +01:00
ljacqu
45fd241517 Update settings in PasswordSecurity upon reload 2016-03-12 08:16:57 +01:00
ljacqu
3d46339a78 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into fix-reload 2016-03-12 07:40:18 +01:00
Tim Vis'ee
44d50b1c59 Created it's own listener for the Permissions Manager 2016-03-11 11:41:41 +01:00
Tim Vis'ee
ae9cd626a5 Applied most PermissionsManager patches from original source 2016-03-11 11:33:37 +01:00
Tim Vis'ee
558b3fd997 Added API method to gather the plugin version 2016-03-11 11:25:21 +01:00
ljacqu
dfc713fde6 Reload only specific entities (work in progress)
- Remove attempt of reinitializing all components -> will lead to inconsistent states. Call reload on reloadable components instead
2016-03-09 18:39:04 +01:00
games647
4d55bedcaa Update Inventory protection for 1.9 (Fixes Xephi/AuthMeReloaded#587) 2016-03-09 17:06:27 +01:00
Gabriele C
d590e9ba71 Revert "Damn bossy essentials xD"
This reverts commit ab2c95869e.
2016-03-09 15:08:04 +01:00
Gabriele C
af84ba6fce Fix max email count #591 2016-03-09 15:00:17 +01:00
Gabriele C
ab2c95869e Damn bossy essentials xD
#503
2016-03-08 23:05:53 +01:00
ljacqu
654cebd5a7 Minor - rename LimboPlayer methods + code householding
- Rename *taskId methods to *task to reflect what they handle
- Remove usages of Wrapper where applicable
- Replace some uses of legacy Settings with NewSetting calls
2016-03-06 15:46:49 +01:00
ljacqu
3f4681c5ed Minor - fix merge conflicts 2016-03-06 14:45:28 +01:00
ljacqu
987c3fdb17 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-remove-public-ip-map 2016-03-06 14:42:32 +01:00
ljacqu
31bac6964f Various code householding
- Adjust javadoc
- Remove unused PlayerAuth constructor
- Replace legacy Settings with NewSetting calls
- Add process service to all (a)sync processes
- Change IP manager to only cache the calls to the VeryGames API
2016-03-06 14:42:19 +01:00
ljacqu
98df21d75a #575 Hotfix for reload support
- Create temporary method for reloading any stateful entities -> a lot of duplicated code, to be fixed soon within #432
- Remove unused methods
2016-03-05 22:30:35 +01:00
Gabriele C
9a5c84f3fc Revert "Use local shooter" 2016-03-05 21:33:56 +01:00
FabioZumbi12
9b13366e5f To use local shooter 2016-03-05 16:11:09 -03:00
Gabriele C
717f962473 Revert "Add a message about the workaround with MC 1.9"
This reverts commit aa914b9aa7.
2016-03-05 18:16:57 +01:00
ljacqu
9a412fac05 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-remove-public-ip-map
Conflicts:
	src/main/java/fr/xephi/authme/process/register/AsyncRegister.java
2016-03-05 16:11:22 +01:00
ljacqu
19adcdcceb Move managers to the cache package
- Not entirely accurate name but not really worth to have a separate package for managers
2016-03-05 16:03:00 +01:00
ljacqu
fd8db2cd51 Add test for IP manager + create captcha manager (still unused) 2016-03-05 15:39:14 +01:00
Gabriele C
aa914b9aa7 Add a message about the workaround with MC 1.9 2016-03-05 13:55:40 +01:00
Gabriele C
c4684fd5f1 Booo we don't like UUIDS! (We need to keep 1.7.X compatibility!)
- Removed the useless OtherAccounts class!
2016-03-03 21:42:50 +01:00
Gabriele C
b0d230be60 Forgot about this... #570 2016-03-03 21:17:38 +01:00
Gabriele C
e4d2747fae Finally fix #570 2016-03-03 21:05:19 +01:00
DNx
1e0d31ebb7 Don't lowercase the real name, also..
the password. Fix #578
2016-03-03 11:11:56 +07:00
Gabriele C
681e352bdc Fix #570 add max_acc and reg_acc placeholders 2016-03-02 17:06:02 +01:00
Gabriele C
c5c0535fcd Ok, nevermind, it works. 2016-03-02 00:33:26 +01:00
ljacqu
aeb8307a46 #432 #547 Remove public IP cache map; make processes use ProcessService
- Create IP address manager for handling and caching IP addresses -> outside of the manager I do not want to care about caching details
- Make more processes use the ProcessService in favor of statically injected objects
2016-03-01 22:47:28 +01:00
Gabriele C
8bd9569c14 Disable the tablist hider due to bugs! (Invisible player, missing data resend after login...) 2016-03-01 22:19:40 +01:00
ljacqu
86042070e9 #573 Remove exclusion for permission node check in test 2016-03-01 20:48:15 +01:00
Gabriele C
8432e67fd8 1.9 API + Fix permissions (CRITICAL)
#573
2016-03-01 17:34:56 +01:00
games647
e57e457b62 Fixed VersionCommand is not using backwards compatible players method 2016-03-01 16:38:32 +01:00
ljacqu
dede592c55 #547 add process service to AsyncJoin 2016-02-28 20:03:06 +01:00
ljacqu
7dd1d52893 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 547-process-architecture
Conflicts:
	src/main/java/fr/xephi/authme/settings/Settings.java
2016-02-28 09:08:35 +01:00
ljacqu
8832c1ac0f Reduce output of resource closing tests 2016-02-28 09:05:30 +01:00
Xephi59
2a8ef88041 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-02-28 00:36:15 +01:00
Xephi59
e88b4eda53 Add %acc_nb tag to max_reg message - Fix #570 2016-02-28 00:36:06 +01:00
Gabriele C
c61345fd43 cleanup + fix test crypts test on windows systems 2016-02-28 00:32:25 +01:00
ljacqu
d664e7be26 #547 Create ProcessService
- Create ProcessService for common tasks within processes
- Integrate service into AsyncAddEmail
2016-02-27 23:15:31 +01:00
ljacqu
28108f00f1 #569 Update messages_de.yml by Platinteufel 2016-02-27 22:55:51 +01:00
ljacqu
63b31b0814 Create resource closing test
- Generic test for MySQL and SQLite checking that all generated (Prepared)Statement and ResultSet instances are closed afterwards
- Fix offending code for test to pass
2016-02-27 22:45:39 +01:00
ljacqu
5fce849ce7 Minor - Add datasource test, minor code householding 2016-02-27 21:11:35 +01:00
ljacqu
b916c9b2be Fix javadoc warnings + #421 add javadoc for new API 2016-02-27 16:31:58 +01:00
ljacqu
e79f325411 #443 Use correct message to ask to add email after login 2016-02-27 12:18:04 +01:00
ljacqu
1b818bd833 #457 Improve ForceFlatToSqlite conversion
- Change ForceFlatToSqlite converter to use a generic datasource destination (i.e. can be used for Flat2MySQL later)
- Add tests, including for FlatFile
- Check that user is not present in destination datasource before adding
- Persist last location from flatfile as well
2016-02-27 11:24:47 +01:00
ljacqu
27b1fa770f #392 Add datasource integration tests 2016-02-26 22:12:16 +01:00
DNx5
b4aebb685c Remove player from cache on quit. 2016-02-26 13:10:49 +07:00
DNx5
8bf6817a5f Removed unused private methods in AuthMe class. 2016-02-26 12:47:08 +07:00
DNx5
8324decfa1 Merge branch 'master' into db-improve
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
2016-02-26 12:42:32 +07:00
DNx5
1b65b285ac improve spawn location check. 2016-02-26 12:00:53 +07:00
DNx5
775e2f7039 Async refresh. 2016-02-26 11:37:47 +07:00
DNx5
8536f85361 Fix #558 2016-02-25 16:46:16 +07:00
ljacqu
69092e9a9c #392 Add datasource integration tests 2016-02-24 21:50:40 +01:00
ljacqu
95e3943be0 Datasource integration tests - fix split by newline
- Make split of SQL file aware that new lines may be \r\n
- Remove split of new lines in MySQL as it's not necessary
2016-02-24 20:38:05 +01:00
DNx5
1d1605314a Reload correctly. Fix #554 2016-02-24 22:41:09 +07:00
Xephi
f22bc4f395 Check if the connection is not null or already closed 2016-02-23 14:53:29 +01:00
DNx
13982011c7 Merge pull request #108 from AuthMe-Team/spawnloc
Spawn Location
2016-02-23 06:58:19 +07:00
ljacqu
5e16ca1490 #392 Create integration test for MySQL
- Relocate tests to AbstractDataSourceIntegrationTest to reuse tests for SQLite and MySQL
- Add H2 driver and create test class for MySQL
2016-02-22 21:52:10 +01:00
ljacqu
b6384da540 #542 Revert lastlogin column from timestamp to bigint
- While the timestamp type better represents what we store, we use timestamps internally in AuthMe and had to convert between the timestamp type to a long when communicating with a MySQL database. This ends up being inconsistent with SQLite, which does not support the storage of timestamps and an additional burden as the 0000-00-00 00:00:00 timestamp has a special meaning in MySQL we must otherwise check for before fetching values.
2016-02-22 21:04:01 +01:00
ljacqu
32159861d3 Update validation of message resources 2016-02-22 20:36:17 +01:00
ljacqu
72cf294056 Allow retrieval of messages with tag replacement 2016-02-22 20:32:44 +01:00
Edson Passos
bfc8058b03 Make "user other case" translatable
(cherry picked from commit ed5498e)
2016-02-22 20:23:30 +01:00
DNx5
5943537c26 cleanup
It's good now
2016-02-22 22:48:02 +07:00
DNx5
ed0ed2faf7 Bring back @games647 solution. 2016-02-22 22:26:10 +07:00
DNx5
3d90d478c2 remove uuid, only use player's name. 2016-02-22 22:16:14 +07:00
DNx5
4e011f437a Change message & timeout task to run synchronously. 2016-02-22 22:11:03 +07:00
DNx5
bebf1cf7d4 Clean cache on close. 2016-02-22 10:13:48 +07:00
ljacqu
e8f518711c #442 Fix email presence check being case-insensitive
- Add integration tests
- Change DataSource interface to return the number of accounts only, since that's all we require
2016-02-21 21:38:29 +01:00
ljacqu
203e954eea Minor test adjustments 2016-02-21 20:23:36 +01:00
DNx
1afe41d787 Merge pull request #107 from AuthMe-Team/reload-supp
Reload supp
2016-02-22 01:07:07 +07:00
DNx5
5e330398d3 Spawn Location 2016-02-22 01:01:05 +07:00
ljacqu
e8d627c0e1 #392 Start integration test for SQLite 2016-02-21 10:46:13 +01:00
ljacqu
dfa3921740 Close resources in MySQL (incomplete)
- Connection, (Prepared)Statement and ResultSet all should be closed. try-with-resources is the best way as it's less verbose than a finally block and it's better than putting close() calls inside the try{} as that will not be run if an exception happens beforehand
2016-02-20 23:09:48 +01:00
ljacqu
511f961d29 #534 Get default messages from the JAR's messages_en.yml
- Using new File(class.getResource(path)) apparently is the wrong approach for in-JAR files
2016-02-20 12:12:24 +01:00
DNx5
b66c4983ec Merge branch 'master' into reload-supp 2016-02-20 17:52:37 +07:00
ljacqu
8511a257ed #494 Fix conversion plaintext to SHA256
- Make sure database is set up before attempting to perform the migration
2016-02-20 11:16:25 +01:00
ljacqu
fd89915071 #517 Display welcome message for all logins 2016-02-20 08:23:02 +01:00
ljacqu
614d544edf #534 Send error if name is restricted (this time for real) 2016-02-20 07:26:58 +01:00
ljacqu
374113ff01 #534 Send error if name is restricted 2016-02-20 07:25:14 +01:00
DNx5
757f231ceb more ProtocolLib reload support. 2016-02-20 10:24:45 +07:00
DNx5
fd12efa2c0 Merge branch 'master' into cache 2016-02-20 09:48:27 +07:00
DNx5
de3fb61e60 Clear timeout & message task on remove. 2016-02-20 09:35:40 +07:00
DNx5
27642dd82c Rename DataFileCache to PlayerData 2016-02-20 09:32:08 +07:00
DNx5
2f75e03275 cache player's flying enabled state. 2016-02-20 08:56:08 +07:00
DNx5
cc29d8b628 Fix duplicate entry error, #528 2016-02-20 06:47:59 +07:00
ljacqu
90e0dc1875 Various code householding
- Remove unused API on DataSource
- Add some sensible javadoc to DataSource
- Minor code simplification
2016-02-19 23:19:38 +01:00
ljacqu
6f694cf818 #527 Persist email after changing it 2016-02-19 21:48:51 +01:00
ljacqu
964abdc0c5 Update add email tests (#527) 2016-02-19 19:26:16 +01:00
DNx5
05e79e6356 Fix email not getting updated in database #527 2016-02-19 23:26:11 +07:00
DNx5
6dfdcf103b I forget this one, Fix #507 2016-02-19 23:26:09 +07:00
Gabriele C
c11fa9f158 Merge pull request #101 from AuthMe-Team/move-convert-command
Move the converter command [WIP]
2016-02-19 16:49:11 +01:00
Gabriele C
4620ead311 Fix number of commands in test 2016-02-19 16:42:48 +01:00
DNx5
760d2a9fe6 I forget this one, Fix #507 2016-02-19 22:40:37 +07:00
Gabriele C
715622826f Fix command registration 2016-02-19 16:38:18 +01:00
DNx5
edc20debea Going back to GeoIP legacy. :) 2016-02-19 21:55:53 +07:00
DNx5
c3e3bdf3a4 Added getter for newSettings field. 2016-02-18 11:25:31 +07:00
DNx
10fedfb66d Merge pull request #105 from AuthMe-Team/geoip2 2016-02-18 10:43:52 +07:00
DNx
584fe1d67f Merge pull request #103 from AuthMe-Team/realname-update 2016-02-18 10:32:09 +07:00
DNx5
8c08bdb7f9 oops.. 2016-02-18 10:29:40 +07:00
DNx5
cc266a7bd6 Update javadoc. 2016-02-18 09:42:45 +07:00
DNx5
481cbaec2f Don't check the country if nothing defined on configuration.
- no need to enable protection to use country blacklist. #507
2016-02-18 09:34:04 +07:00
DNx5
fbdd56d9de Ignore country check for localhost.
- don't log exception to console
2016-02-18 09:15:43 +07:00
DNx5
64688c7ae6 Remove data file if older than 30 days 2016-02-16 09:30:22 +07:00
DNx5
7b8e5f8e4f GeoIP2 update 2016-02-16 08:31:47 +07:00
DNx5
7c1dd888cc Fix real name update. 2016-02-16 07:14:40 +07:00
DNx5
814bc8df4e Improve email recall task. Fix #529 2016-02-16 06:16:49 +07:00
bakatrouble
0992997483 Fix Django crypt
(cherry picked from commit 189f916)
2016-02-14 23:08:51 +01:00
ljacqu
ecc3048f52 Merge master into 'move-convert-command' 2016-02-14 22:32:12 +01:00
ljacqu
f5b5595f08 #525 Make "not owner" kick reason translatable 2016-02-14 21:46:47 +01:00
ljacqu
7f3246e416 #519 #515 #431 Tool task to update all docs; relocate to root/docs
- Move docs from src/tools to a root subfolder
- Add tag for displaying a "generated page" footer
- Create task to run all doc tasks
- Remove map builder in favor of Guava's
2016-02-14 21:43:01 +01:00
ljacqu
8c6db4a2c9 Improve logging in SendMailSSL
- for #522
2016-02-14 18:04:10 +01:00
ljacqu
2c9cb6d99a #521 #514 Update zhhk file and add TODO comments for missing messages
TODO comments added automatically by ToolTask verifyMessages
2016-02-14 17:49:58 +01:00
ljacqu
dbd896b462 Improving logging in SQLite 2016-02-14 17:49:56 +01:00
Gabriele C
15792f01e9 Fix docs 2016-02-14 17:38:13 +01:00
Gabriele C
d727def4ba Move the command 2016-02-14 17:06:52 +01:00
ljacqu
2dbcd50eea Merge pull request #100 from AuthMe-Team/415-perms-rework_NEW
#415 Move some permission nodes out of authme.player.*
2016-02-14 16:36:43 +01:00
ljacqu
d198eca1b6 #514 Messages tool adds missing messages as comments
- Add the English text as a TODO comment for all missing messages in the translations
- Add a TODO comment for missing tags
- Change the task and messages verifier to use YamlConfiguration
2016-02-14 16:31:35 +01:00
Gabriele C
c48b7c2327 Fix placeholders in zhhk 2016-02-14 14:26:44 +01:00
ljacqu
b3734f4010 #415 Move some permission nodes out of authme.player.*
- Move certain permission nodes outside of the authme.player branch
- Update classes / permissions list
- Remove wildcard node from code completely (since not used)
2016-02-14 14:15:02 +01:00
Gabriele C
048bfd2a6c Update zhhk language
Close #521
2016-02-14 13:50:21 +01:00
ljacqu
5dc1598f6e Wrap column names into class
- Load column names for data sources centrally
- Remove no longer used settings in legacy Settings
2016-02-14 13:25:16 +01:00
ljacqu
6e2528278a #477 Make updateSession() timestamp-aware; fetch timestamp safely 2016-02-14 09:51:13 +01:00
ljacqu
7b26dd25a0 Merge master into 477-lastlogin-timestamp
Conflicts:
    - Settings.java
2016-02-13 20:03:22 +01:00
Gabriele C
88ee5b5f92 Fix hide tablist 2016-02-13 13:12:19 +01:00
ljacqu
432ed4620c Fix AuthMe thinking config needs a migration
- Old, deprecated property now exists again -> stop checking for its presence as a reason for migration
- Create test for SettingsMigrationService to detect such issues in the future
2016-02-13 12:35:33 +01:00
ljacqu
fcfe26f34d Minor - fix incorrect javadoc and add unit test for Messages#reload 2016-02-12 23:38:00 +01:00
ljacqu
57da572b23 #421 Clean up events javadoc and interface
- Add proper javadoc to all events
- Use proper handling of the Eventlist in all events: each event has its own EventList and its static method, as specified by Bukkit's Event class
- Add common supertype to all AuthMe events
- Remove unused events
- Remove unused methods (setters to fields that we ignore entirely)
2016-02-12 23:31:55 +01:00
ljacqu
ea93a336c3 Minor - fix Javadoc warnings 2016-02-11 23:09:23 +01:00
ljacqu
cf52fdac1c #482 Remove English messages in translation files
- Messages now default to the one in messages_en.yml if not present in the translation file
2016-02-11 22:48:34 +01:00
ljacqu
9b1d524bdc Make SettingsMigrationService run all migrations 2016-02-11 22:21:06 +01:00
ljacqu
e04ca3c4ae #512 Fix inconsistent config names
- Harmonize configuration paths in code and in config.yml (fixes failing unit test)
- Add way to load Property objects in legacy Settings
- Create migration for delayJoinLeaveMessages to separate delayJoin..., removeJoin... and removeLeave...
2016-02-11 22:17:43 +01:00
ljacqu
39168bc818 #482 Provide better default messages and merge MessagesManager
- Return message from the JAR's messages_en.yml file instead of an unusable error for the end user
- Merge MessagesManager into Messages
2016-02-11 21:27:16 +01:00
Gabriele C
2d8a80049b Fix tests 2016-02-11 21:05:58 +01:00
Gabriele C
0afa5f0535 change join/leave messages behaviour 2016-02-11 20:53:25 +01:00
Gabriele C
131cc22248 Hide tablist feature 2016-02-11 20:36:07 +01:00
Nathan Guedes
ccc6aa55cf Update messages_br.yml 2016-02-11 00:48:21 -02:00
ljacqu
806fd4731e Update readme to refer to AuthMe-Team/AuthMeReloaded
- Updated various "build badges" to display data for the AuthMe repository of AuthMe-Team
- Move Gource video a little down
- Mention support of IPB4 in readme and config
2016-02-10 21:52:11 +01:00
ljacqu
b8e2f5fe1d Use RandomString for IPB4 implementation; minor documentation
- Improve RandomString and create new generateLowerUpper method
- Add documentation to the IPB4 class to explain why the salt is stored twice
2016-02-10 21:16:12 +01:00
games647
ee962bce11 Add missing imports -> fixes building finally 2016-02-10 18:52:34 +01:00
games647
225df4f9c9 Add missing imports -> fixes building finally 2016-02-10 18:51:15 +01:00
games647
248ea2666b Fix correct package declaration -> Fixes building 2016-02-10 18:48:04 +01:00
ljacqu
a16f6ae2d0 Add IPB4 to hash algorithm enum 2016-02-10 18:28:04 +01:00
ljacqu
cb50f7b8c4 Minor - move IPB4 to correct package 2016-02-10 18:23:30 +01:00
Gabriele C
07e5a67ad5 Merge pull request #97 from AuthMe-Team/ipb4
IPB4 Support
2016-02-09 00:14:24 +01:00
DNx5
8e38384a0d Implement the encryption method and test unit. 2016-02-09 05:58:59 +07:00
DNx5
9959c0f7d5 Cleanup BCryptService class 2016-02-09 05:04:29 +07:00
DNx5
600c70ad9f Create new class for IPB4 encryption method. 2016-02-09 04:48:12 +07:00
Gabriele C
49e6b309ab Fix test 2016-02-07 22:41:22 +01:00
Gabriele C
4d057cf05d Fix unit test 2016-02-07 18:17:11 +01:00
Gabriele C
2f2af829b0 Fix event listener priorities 2016-02-07 15:35:02 +01:00
ljacqu
db4d4a7cce #477 Change lastlogin column from bigint to timestamp (work in progress)
- Alter column type
- Create migration for MySQL
- Unrelated: move DataSource enum to its own file
2016-02-07 14:27:03 +01:00
Gabriele C
9cf7405f63 Merge pull request #96 from Maxetto/patch-1
Updating IT Language
2016-02-07 13:08:53 +01:00
games647
d3d377ca02 Do not require a password on registration if two factor is enabled 2016-02-07 11:36:02 +01:00
Maxetto
f581cd5dc6 Update messages_it.yml 2016-02-07 03:48:52 +01:00
games647
6a75184ad9 Add 2fa support 2016-02-07 00:49:18 +01:00
Gabriele C
5a256cc49d Fix captcha placeholder in messages_br.yml 2016-02-06 23:17:11 +01:00
Gabriele C
b090a2fa2b Merge pull request #91 from nathampa0909/patch-1
Updated messages_br.yml.
2016-02-06 23:13:34 +01:00
ljacqu
2cd2b48a1a #437 Email uniqueness in admin command; finalization
- Check also in admin command that email is not already used
- Misc bug fixing (logic errors, changes lost during large merge)
- Use "email" and "setemail" as main labels for /authme subcommands
2016-02-06 21:56:08 +01:00
ljacqu
b4b679d3b9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email
Conflicts:
	src/main/java/fr/xephi/authme/datasource/MySQL.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/process/Management.java
	src/main/java/fr/xephi/authme/process/email/AsyncChangeEmail.java
2016-02-06 18:01:23 +01:00
ljacqu
92f81c32c9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 450-new-settings-rewrite 2016-02-06 17:17:45 +01:00
ljacqu
99b7b80f1d #450 Fix copying of JAR files to plugin folder
- Create SettingsMigrationService#copyFileFromResource (inspired from CustomSettings)
- Use new method to copy missing files in plugin folder from JAR
- Create YamlFileConfiguration inside NewSetting: FileConfiguration object provided by JavaPlugin#getConfig() sets default values from the JAR's config.yml :(
- Change ConsoleLogger to take logger from plugin (work in progress)
2016-02-06 17:10:00 +01:00
Nathan Guedes
37fce732f7 Updated messages_br.yml.
I put accents and I did a new translation better than old.
2016-02-06 12:21:16 -02:00
Gabriele C
1205a86cd2 Disable "must register" message if the interval is <= 0 2016-02-06 13:52:06 +01:00
ljacqu
85868ca830 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 450-new-settings-rewrite
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
	src/main/java/fr/xephi/authme/settings/Settings.java
	src/main/java/fr/xephi/authme/settings/custom/NewSetting.java
2016-02-05 23:28:16 +01:00
ljacqu
a103aee4da Addendum - only write to log if specified by settings
- Commit forgotten removal of `!` during refactoring
2016-02-05 23:13:09 +01:00
ljacqu
c28a1b537f #495 Create ConsoleLogger method dedicated to logging exceptions 2016-02-05 23:11:38 +01:00
ljacqu
ab719c4204 Minor - remove messages language from old settings 2016-02-05 22:30:57 +01:00
Gabriele C
bd3761ad13 Move metrics management to another class 2016-02-05 19:34:54 +01:00
DNx5
190b4c2c2e - Removed executor service and all uses from CachedDataSource. 2016-02-06 00:53:43 +07:00
DNx5
ef89ab02b4 Cleanup imports. 2016-02-05 23:27:34 +07:00
DNx5
c9b884624d - Make cache RemovalListener sync (no longer use executor).
- Fix #433
2016-02-05 23:26:46 +07:00
DNx5
05aec0f4fe - Removed code for waiting Bukkit tasks to complete. 2016-02-05 23:18:35 +07:00
Xephi
4f76398ce8 #495 - Done 2016-02-05 13:24:38 +01:00
Gabriele C
e8a9b5c2e2 Add missing setting to the new Settings manager. 2016-02-04 23:00:41 +01:00
Gabriele C
4c265f1879 Add an option to allow unlogged users to run all the commands
Fix #456
2016-02-04 15:03:52 +01:00
ljacqu
3e30a34714 #450 Move Settings#loadEmailText and #getWelcomeMessage 2016-02-03 22:36:01 +01:00
Gabriele C
15ca8284f4 Update messages_hu.yml
Thanks to foxi69
2016-02-01 23:26:33 +01:00
ljacqu
d3c1f06efb Update Hungarian messages
- Thanks to falconhome, via issue #470
2016-01-31 21:52:03 +01:00
ljacqu
155881ef05 Merge master into '450-new-settings-rewrite'
Conflicts:
  - PerformBackup.java
  - Settings.java
2016-01-31 21:32:29 +01:00
ljacqu
42ae30ed3a #450 Move Settings#isEmailCorrect to Utils class 2016-01-31 21:22:19 +01:00
Gabriele C
b299e4be91 Fix missing setting 2016-01-31 19:08:28 +01:00
ljacqu
9653354135 #450 Move Settings#getRestrictedIp() 2016-01-31 18:50:57 +01:00
ljacqu
fbd5265a0b #450 Fix YAML export of enum values
- Move writing logic to PropertyType
- Remove unused double property type
- Add sample enum property type to tests
2016-01-31 10:49:30 +01:00
ljacqu
e747dfeb7f #450 Make reload & messages functionality use NewSetting
- Change ReloadCommand to use the new setting functionality
- Check and construct the messages file in NewSetting
- Unrelated: change MessagesManager not to extend CustomConfiguration anymore
2016-01-31 09:55:02 +01:00
ljacqu
a40b06344a Minor - remove override of equals() in PropertyMapComparator
- The Comparator map defines equals(Object) but this is obviously already implemented by the Object superclass
2016-01-30 15:32:48 +01:00
ljacqu
059175f14e #450 Port usages of Settings#set(), #setValue() to NewSettings 2016-01-30 15:12:26 +01:00
ljacqu
724296e02b #449 Migrate some properties to new settings
- Use new settings class for retrieving help header & backup configs
- Delete migrated configs from old settings
2016-01-30 13:19:05 +01:00
Gabriele C
a101ce915b Don't print warning messages if backup on start/stop is disabled. 2016-01-29 20:22:15 +01:00
games647
0b4ddce3c4 Fixes NPE on forceRegister (Fixes #473) 2016-01-28 11:43:08 +01:00
ljacqu
dedb3fce26 #450 Add integration test for potentially difficult values
- Ensure that edge cases such as backslashes, apostrophes and new lines are handled properly by the YAML writer & reader
2016-01-28 10:38:44 +01:00
ljacqu
c626521dc8 #473 Add logConsole setting
- Add missing logConsole setting
- Set true as default value, as suggested by games647
2016-01-27 21:34:10 +01:00
games647
678891d0b8 Don't schedule more tasks if the plugin is disabled
(Fixes Xephi/AuthMeReloaded#433)
2016-01-26 21:30:11 +01:00
ljacqu
ec87c662e1 #450 Use SnakeYAML for writing properties 2016-01-26 13:41:00 +01:00
DNx5
726861a2a1 Set PlayerJoinEvent listener priority to lowest. 2016-01-23 19:31:02 +07:00
Gabriele C
3c88482e22 Maven enhancements 2016-01-21 16:12:39 +01:00
ljacqu
d4e3e55e07 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email 2016-01-19 17:16:05 +01:00
ljacqu
b432223b88 #437 Avoid LOWER() for SQLite
- Implement review comment by DNx5 - avoid use of LOWER()
- Close PreparedStatement/ResultSet in call
2016-01-19 17:15:49 +01:00
ljacqu
4012421d80 #450 Create migration service for new settings
- Create service to check if new settings is up-to-date
- Remove up-to-date checks from old Settings
- Update tests
2016-01-19 16:50:54 +01:00
games647
0aa6f753be Set utf-8 encoding for MySQL connections
Fixes Xephi/AuthMeReloaded#458
2016-01-19 14:31:29 +01:00
ljacqu
200af9c4c4 Move new configs outside of 'custom' package
- Create properties package for storing the config properties
- Move NewSetting class to main settings pkg
2016-01-19 09:20:55 +01:00
games647
dd03045bab Fix typo for delay join message configuration loading 2016-01-18 22:11:16 +01:00
games647
a3a3e94cd4 Fix logic of waiting unfinished tasks 2016-01-18 22:00:17 +01:00
Gabriele C
854e73d2ed Merge pull request #88 from AuthMe-Team/unfinishedTasks
Wait for unfinished tasks of the Bukkit scheduler
2016-01-18 21:30:12 +01:00
games647
5b2909d7d6 Wait for unfinished tasks of the Bukkit scheduler before closing
the executor service
2016-01-18 20:38:18 +01:00
ljacqu
393f1a0f36 Minor: replace self-closing tags in javadoc 2016-01-18 15:17:02 +01:00
ljacqu
07e7a8815b Fix #391 Wordpress algorithm fails sometimes 2016-01-18 14:19:04 +01:00
ljacqu
3b33dc774d #369 Fix WBB4 algorithm
- Update BCrypt implementation version
- Separate third-party BCrypt implementation from our BCRYPT EncryptionMethod extension
- Fix WBB4: ensure password is hashed with bcrypt twice and that we check accordingly
2016-01-18 13:31:54 +01:00
ljacqu
125c45d715 Minor - remove debug line 2016-01-17 20:46:19 +01:00
ljacqu
b0ba893827 #437 Add/change email should check if email is already used
- Untested/incomplete implementation
2016-01-17 20:41:19 +01:00
games647
ff034d5a44 Fix resetting of sendPlayerTo setting by removing a typo
(Fixes Xephi/AuthMeReloaded#451)
2016-01-17 19:40:55 +01:00
ljacqu
4a85eedd2c Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite
# Conflicts:
#	src/main/java/fr/xephi/authme/AuthMe.java
2016-01-17 12:35:14 +01:00
ljacqu
e18be3024a #347 Use NewSetting properties for change password command 2016-01-17 12:33:29 +01:00
ljacqu
fb6cff2e07 #347 Add remaining missing properties 2016-01-17 09:23:01 +01:00
ljacqu
ace95f750a Add more tests for async change email process 2016-01-16 07:57:43 +01:00
ljacqu
8c05c8df98 Add tests for change email process 2016-01-15 21:16:06 +01:00
ljacqu
5996d58081 #437 Create test for AddEmail task; fix bugs 2016-01-15 20:38:12 +01:00
ljacqu
391e1b04a2 Fix #440 Hash algo's sometimes skipped for old algorithm support
- Fix check that discards potentially trying all encryption methods if password didn't match
- Wrap call to encryption method properly to avoid calling methods with hasSeparateSalt() = true and a null salt
2016-01-14 21:55:09 +01:00
ljacqu
8ed8b32589 #437 Add email should not allow to change email
- Create separate test for adding email
- Check that no email is yet registered for add email
2016-01-13 22:08:40 +01:00
Xephi59
4042ced5f2 Fix #433 2016-01-10 22:32:35 +01:00
ljacqu
36a57c5f02 Fix format of messages_zhcn.yml
- Possibly broken in b8abe71?
2016-01-10 00:02:26 +01:00
ljacqu
ac164c73b9 #347 Add missing properties (incomplete) 2016-01-09 23:42:56 +01:00
ljacqu
4321d0b938 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-09 23:07:20 +01:00
ljacqu
4d2f39f06e #306 Add tests for CommandHandler and CommandMapper 2016-01-09 22:51:22 +01:00
Xephi
e5bd73d899 Remove Checks for #308 2016-01-09 22:12:55 +01:00
Xephi
6ac51d97f5 Remove checks - #308 2016-01-09 22:04:05 +01:00
ljacqu
fc0b7c46ac #306 Add permission manager to command service
- Inject permission manager into command service explicitly via constructor
- Change command mapper to only care about generating FoundCommandResult objects, and command handler to worry about dealing with it later on
2016-01-09 21:57:20 +01:00
Xephi
5cc5ee8cae Little fail 2016-01-09 21:39:27 +01:00
Xephi
9c4331e3e6 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-09 21:30:24 +01:00
Xephi
607380e59c Use PreparedStatement in all case needed it - #308 2016-01-09 21:30:13 +01:00
games647
663e3063d7 Use Low priority for join events in order to allow plugins
to change the delayed join message.
2016-01-09 21:15:56 +01:00
Xephi
2f1338b08b little forgot 2016-01-09 17:16:14 +01:00
Xephi
fd7bdcd3c2 Change node to authme.player.seeownaccounts #423 2016-01-09 16:21:44 +01:00
Xephi
bebea0dd36 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-09 14:46:13 +01:00
Xephi
18ed62b096 Fix #423 2016-01-09 14:45:59 +01:00
ljacqu
3845c1e0eb #347 Add NewSetting to command service
- Adjust NewSetting constructor to match needs in AuthMe
- Add NewSetting to the command service
- See CaptchaCommand for a sample replacement from Settings to NewSetting
2016-01-09 12:45:58 +01:00
ljacqu
88629702f5 #347 Test that all read properties exist as Property field
- Create consistency test to verify that all properties in config.yml are defined as a Property field in a SettingsClass implementation (currently fails)
- Add some missing properties
- Minor: convert tabs to spaces
2016-01-09 09:30:49 +01:00
DNx5
7eeabd68e7 Fix saveAuth method didn't save email. 2016-01-09 06:26:36 +07:00
DNx5
5187ce152a Enabled cachePrepStmts properties. 2016-01-09 06:19:09 +07:00
DNx5
b380893847 Serialize Xenforo hash before put it into table.
- Fix #417
2016-01-09 06:13:47 +07:00
ljacqu
0603243c86 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-08 23:44:16 +01:00
ljacqu
752ebe5022 Fix cast exception in integration test
- Although the class only has fields of Property type it would appear that CircleCI et al. may use libraries that add fields to classes later on, so we need to check for the field type
2016-01-08 23:40:54 +01:00
DNx5
642a40724b Used Bukkit API to format color codes. 2016-01-09 05:40:03 +07:00
ljacqu
d0b7d0ff06 #347 Create consistency and integration tests for NewSetting
- Ensure that the project's config.yml contains all settings that NewSetting is aware of
- Add extensive, more generic integration tests
2016-01-08 23:20:42 +01:00
ljacqu
69c225c850 #347 Create tests and add check for missing settings in NewSetting 2016-01-08 21:22:26 +01:00
Xephi
c8fa9a146e reduce check 2016-01-08 19:26:26 +01:00
Xephi
b8ae8d995b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded.git 2016-01-08 19:16:06 +01:00
DNx
05ccd77d09 Merge pull request #86 from AuthMe-Team/137-xenforo-support
Xenforo support
2016-01-08 06:51:47 +07:00
ljacqu
30db03837a #347 Add 'contains' method to PropertyType 2016-01-07 21:58:28 +01:00
ljacqu
7d749801f9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-07 21:51:20 +01:00
ljacqu
acda03bb40 #347 Create enum property + consistency tests 2016-01-07 21:38:03 +01:00
ljacqu
120e69ac67 Fix null pointer in tests 2016-01-07 20:49:41 +01:00
Xephi
7ec46e2940 Add strict mode 2016-01-07 09:31:32 +01:00
DNx5
fa31fd92b8 Fix #417 2016-01-07 14:14:08 +07:00
DNx5
fab13c586f Remove skip test for Xenforo hash. 2016-01-07 07:41:09 +07:00
DNx5
d6ab7d5da8 Ask player to change email if email already added. 2016-01-07 07:24:26 +07:00
DNx5
2c13783c6c Created test for XFBCRYPT. 2016-01-07 07:12:30 +07:00
DNx5
6855fb93fc Fix #416 2016-01-07 06:47:45 +07:00
DNx5
da5de58afb Rename XF class into XFBCRYPT. 2016-01-07 06:15:39 +07:00
DNx5
781a005c25 Merge remote-tracking branch 'origin/137-xenforo-support' into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-07 05:43:49 +07:00
DNx5
e0c3affa33 Merge branch 'master' into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/datasource/CacheDataSource.java
	src/main/java/fr/xephi/authme/datasource/DataSource.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-06 12:15:27 +07:00
DNx5
2081fd7e34 Removed AuthMeServerStop shutdown hook.
- Players now will be kicked if AuthMe was disabled.
 - Fix #413
2016-01-06 10:24:46 +07:00