Commit Graph

864 Commits

Author SHA1 Message Date
ljacqu
22c08c9fc3 #1449 Fix copying of Commands, add tests with command delay 2018-09-11 22:04:27 +02:00
ljacqu
44763a055f Fix VerificationCommandTest sometimes failing
- Need to set up ConsoleLogger to avoid NPE, didn't always happen because if all tests are run in a batch another test will initialize it
2018-09-09 15:47:52 +02:00
ljacqu
ee764c0a6e
Update configme (#1631)
* Upgrade to ConfigMe 1.0.1
* Use ConfigMe reader whenever possible, minor simplifications
2018-09-09 15:45:00 +02:00
ljacqu
b22f26822b
#1627 Replace BCryptService with Maven dependency (#1629)
* #1627 Replace BCryptService with Maven dependency
- Remove BCryptService in favor of a better BCrypt implementation (Maven dependency)
- Introduce BCryptHasher wrapping the dependency with more suitable methods
- Fix inaccurate details about salt length in docu annotation: for BCrypt it's always 22 chars
- Change phpBB hash to produce 2y hashes instead of 2a

* #1627 Use UTF-8 encoding when (dis)assembling Strings

* #1627 Small test additions
2018-09-03 23:13:48 +02:00
Alan Gomes
4be174f083 Add PostgreSQL support (#1620)
* Add PostgreSQL support

* Fix code issues and create integration tests

* Fix identation

* Test Postgres data source in postgres integration test

* Relocated the postgres driver
2018-09-02 12:12:35 +02:00
ljacqu
f79c364f84 Minor fixes as reported by CodeClimate 2018-09-01 09:17:42 +02:00
Gabriele C
22623aac85 Fix unit test 2018-08-26 19:23:15 +02:00
games647
0227cb3f74 Add IPv6 support for isLocal checks (#1592)
* Add IPv6 support for isLocal checks

* Replace magic values like 127.0.0.1 and use our utility
* Support for IPv6 local adresses in IPv6 only or dual stack environments
    * Loopback [::1]
    * Site-Local fc00::/7
    * Link-local fe80::/10

* Introduce extra method for loopback addresses

* Use public IP for passMaxLogin check

* Use non-local IP addresses in test after change in verification
2018-07-04 02:05:17 +02:00
ljacqu
fecd79fd28
Merge pull request #1577 from AuthMe/1417-chat-before-login-with-permission
#1417 Add permission node to allow chat before login
2018-05-22 19:51:15 +02:00
ljacqu
b9943675ba #1557 Disallow player from using /email setpassword more than once 2018-05-21 13:29:34 +02:00
ljacqu
68b896cfc3 Move salt column configuration to the other column configs 2018-05-21 09:10:27 +02:00
ljacqu
c4b02d74b7 Fix generic type in PlayerAuth matcher 2018-05-21 09:01:00 +02:00
ljacqu
6142042996 #1417 Add permission node to allow chat before login 2018-05-21 08:45:18 +02:00
ljacqu
8e4288f911 Minor code householding 2018-05-20 13:10:26 +02:00
ljacqu
729c567dd5 #1141 Check that user is logged in before changing TOTP key
- Use PlayerCache to check that user is logged in where appropriate
- Add log statements
2018-05-13 18:49:40 +02:00
ljacqu
6f2f7a73af Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-05-01 22:49:23 +02:00
ljacqu
1e3ed795c1 #1141 2FA implementation fixes
- Merge TotpService into TotpAuthenticator
- Add missing tests
- Migrate old 2fa enabled key to new one
2018-05-01 22:49:07 +02:00
ljacqu
d55b4bb3b5 #1561 Fix timing attacks by comparing hashes in constant time (#1563)
* #1561 Fix timing attacks by comparing hashes in constant time

* #1561 Fix timing attacks in phpBB fallback hashes
- As noted by @games647
2018-04-22 21:27:38 +02:00
ljacqu
ecdcaf2479 Fix failing tests 2018-04-22 13:26:51 +02:00
ljacqu
cff456c285 Help message updater: specify the name of the updated file 2018-04-22 12:51:41 +02:00
ljacqu
ecaffbabfc Small cleanups / changes amassed over time
- Small javadoc fixes
- Simplifications
- Move logException method from StringUtils to ExceptionUtils
2018-04-22 12:45:34 +02:00
ljacqu
de0e588cf3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-04-22 07:14:05 +02:00
Gabriele C
baec034909
#1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent (#1559)
* #1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent

* Add missing javadoc
2018-04-21 13:02:14 +02:00
Gabriele C
d533f8e19c Fix unit testing
whoops
2018-04-19 12:09:07 +02:00
Tony
1f9bf38755 Added EmailChangedEvent (#1549)
* Added EmailChangedEvent

* Fix failing tests

Silly.

* Documented the EmailChangedEvent

* Separate messages for cancelled email event

* Added lang todos for all the languages I can't speak

I wish I could though.

* Checkstyle satisfaction

* Changed log level to info for cancelled events
2018-04-03 17:45:27 +02:00
ljacqu
9326094d9c #1141 Fix review remarks by @games647
- Use SHA512 to generate keys instead of default SHA1
- Declare google authenticator dependency as optional and add relocation rule
2018-04-03 00:13:53 +02:00
ljacqu
2bf78dd186 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-04-02 23:44:19 +02:00
ljacqu
26472b6be3 #1539 Create common parent for SQLite and MySQL 2018-03-25 22:27:44 +02:00
ljacqu
4595a14191 #1539 Add support for columns that are not on player auth (is_logged, has_session) 2018-03-25 11:52:40 +02:00
ljacqu
137fc3d505 #1539 Use columns handler in more datasource methods; fix case-insensitivity for SQLite 2018-03-24 22:53:30 +01:00
ljacqu
881ef6a640 #1539 DataSource columns: close MySQL connections, add missing columns, use newly built-in types, improve column initialization 2018-03-24 21:16:43 +01:00
ljacqu
5a58f2c44f #1539 Integrate data source columns library
- Create wrapper around SqlColumnsHandler for AuthMe-specific behavior
- Integrate columns handler into first SQLite and MySQL method implementations
2018-03-24 12:24:43 +01:00
ljacqu
e9ab82db6b #1141 Make 2fa messages translatable, various cleanups (null safety, ...) 2018-03-21 23:56:13 +01:00
ljacqu
584a0bebbf Minor: Fix failing test after command change 2018-03-20 23:13:48 +01:00
ljacqu
f66a8a5b06 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth
# Conflicts:
#	src/main/java/fr/xephi/authme/permission/PlayerPermission.java
#	src/main/java/fr/xephi/authme/service/BukkitService.java
2018-03-20 23:07:25 +01:00
ljacqu
495cfc69a9 #1141 Move TOTP code during login as separate step: /2fa code
Rough version.
- Introduces a limbo player state on the LimboPlayer, allowing us to add further mandatory actions between successful (password) authentication and the ability to play on the server
2018-03-20 23:06:08 +01:00
ljacqu
a1a909c01d #1531 Move spigot detection to BukkitService (#1534) 2018-03-19 23:08:48 +01:00
ljacqu
250bd0d148
Merge pull request #1517 from AuthMe/642-kick-on-fast-commands
#642 - Quick Command Protection
2018-03-19 22:35:49 +01:00
HexelDev
84f97ea1c2 Add QuickCommandsProtectionManager#processJoin(player) 2018-03-19 22:33:53 +01:00
ljacqu
af6bee59bd Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth
# Conflicts:
#	src/main/java/fr/xephi/authme/datasource/MySQL.java
2018-03-19 22:32:16 +01:00
games647
f33446ee25 Migrate to GEO IP 2 (Related #1471) (#1529)
* Migrate to GEO IP 2, because support will drop in April

* Change all links of maxmind to https
* Update maxmind database dependency and add javatar to extract
the database from the tar archive
(now only a small difference in jar file size -> ~80KB smaller)
* Verify downloaded archive using MD5 (There are no other checksums available)
* Migrate to Java NIO instead of old java file I/O (Feedback?)
* Internal Optional usage for nullable values (Feedback?)

Minor:
* Schedule a Bukkit async task instead of creating a thread manually
* Validate ip input string
* Extract validation into single method
* Close all resources safely using try-resources

* More https links

* Add documentation

* Set the same last modification as in the tar archive

* Fix tests

* Comment how the legacy API responded to unknown entries

* Document missing function param

* Document our maxmind dependency modifications

* Include time unit into constant

* More logging for downloading the database

* Add missing return if the database cannot be found

* Delete temporarily file after working with it
2018-03-17 03:00:24 +01:00
HexelDev
7790fa5796 typo 2018-03-15 21:53:27 +01:00
HexelDev
66d1ee92c3 QuickCommandsProtectionManager Test class 2018-03-15 21:45:11 +01:00
HexelDev
048a47ce6e Fixing PLayerListener kick message/tests 2018-03-15 21:43:36 +01:00
ljacqu
fddb3bf265 Fix minor Checkstyle violations
- Mostly missing JavaDoc, some line lengths
2018-03-11 19:08:21 +01:00
ljacqu
ff0a7e1f89 Fix failing test 2018-03-11 16:34:25 +01:00
ljacqu
15f49dcbb3 Merge branch 'global-replacements' 2018-03-10 16:59:56 +01:00
ljacqu
1a53cd11b2 #829 Move CommandSender / name to first argument to avoid confusion with varargs
- Overloaded method with (String, String...) as args was problematic as it could be confusing on its own and also confusing with the (CommandSender, String...) flavor
2018-03-10 16:58:30 +01:00
ljacqu
eb9cd31a65 #1141 Split TOTP permissions for add/remove, refactor TOTP services
- Split TotpService further into GenerateTotpService and TotpAuthenticator, which wraps the GoogleAuthenticator impl
- Add missing tests for the services
- Change GenerateTotpService's interface to behave like a collection for more intuitive method behavior
2018-03-10 16:21:53 +01:00
ljacqu
e72d5d5e81 #1141 Require TOTP code to be passed with /login (temporary)
- Temporarily require the TOTP code to be provided with /login
- Future implementation should require it as a second step
2018-03-09 18:37:01 +01:00