22 Commits
Author SHA1 Message Date
games647andGitHub dbf9afbf82 Run workflows for pull requests too to verify the test results (#2574) 2022-07-16 18:35:03 +02:00
games647 0b6c92949c Add test for the warning if the BungeeCord is enabled 2022-07-06 15:27:49 +02:00
games647andGitHub 32d92e13c5 [Security] Disable BungeeCord hook if the proxy is disable in Spigot (#2572 from @Ghost-chu)
If Spigot is running without a proxy, an incoming BungeeCord can also originate from a malicious player. This happens, because there is no proxy preventing this message. There appears to be no method to check if this message comes from a trusted source from the Bukkit side.

This implementation checks if BungeeCord support is enabled in Spigot. This means that we notify them that we actually expect a proxy enabled configuration for this feature. This solves the issue, where the hook was enabled, because the server was earlier configured with proxies in mind, but they are no longer used. 

**Nevertheless** this doesn't fully solve the issue, because in misconfigured setups, where the Spigot server is publicly accessible, it's still possible. However this is always a recommended configuration step.

Alternative solutions were rejected like:
1) Check on incoming BungeeCord message, if we received BungeeCord forwarding data during login
This data can be fully faked by the player too.
2) Check the connection properties if the appearing proxy is local.
While this is possible, there instance that the proxy is not on the same network although it's legitimate. Although it could be possible to introduce this with a configuration option, but it would increase the complexity for users.

Related #2559
Related #2571
2022-07-06 15:08:08 +02:00
games647andGitHub e7338f7c92 Raise BCrypt default cost factor for current computing power (#2360)
Fixes #2356
2021-06-24 18:26:21 +02:00
games647 fc8c9d8748 Open GEO connection after checking config values
(Related #2289)
2021-03-28 22:41:03 +02:00
games647 2f7672b489 Hide the inventory for online players on reload (Related #1709) 2018-12-25 16:58:03 +01:00
games647 81821b23b3 Ignore manifest signatures for shading
Related #1630 "Invalid Signature digest for Manifest main attributes"
caused by files in BCrypt library.
2018-09-04 19:11:59 +02:00
games647andGabriele C 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
games647 0a3b66bc7d Start a reading instance after downloading (Related #1581) 2018-06-03 13:34:51 +02:00
games647 135e323358 Set the downloading flag in order to mark it as successful (Related #1581) 2018-06-03 09:47:52 +02:00
games647 f39141ed53 Fix race condition starting multiple database downloads (Related #1581) 2018-06-02 21:50:43 +02:00
games647 5058747b10 Download database only if there is a newer one uploaded (Fixes #1581) 2018-06-02 21:50:02 +02:00
games647 b69767c705 Upgrade jacoco dependency to fix Java 10 compatibilty and CircleCI tests 2018-05-01 13:39:19 +02:00
games647 80538b4bb2 Force english language during unit testing
Fixes #1536
2018-04-05 15:19:03 +02:00
games647 ee41d92216 Skip IP check for API registration 2018-03-29 14:08:33 +02:00
games647andGabriele C 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
games647 7ff5801cfe Revert "Fix no auto login permission (Fixes #118)" Wrong repo
This reverts commit 6d60e72296.
2018-03-15 20:43:50 +01:00
games647 6d60e72296 Fix no auto login permission (Fixes #118) 2018-03-15 20:42:50 +01:00
games647 914c4adc0b Fix ProtocolLib services are disabling after authme reload
Using the previous else branch we would always call unregister if the feature
was enabled before.
2018-03-04 14:29:08 +01:00
games647 be55437287 Use the correct javadoc deprecated tag for the lastlogin method 2018-01-27 22:56:42 +01:00
games647andljacqu 316f8fc642 Fix Java 9 support for Pbkdf2Django (#1390)
* Replace DatatypeConverter in Pbkdf2Django to support Java 9

* Fix NPE in AuthMeInitializer and CastException in Recovery tests

* Set logger for SetPasswordTest to prevent NPE on logging

* Use TestHelper for initializing ConsoleLogger
2017-10-29 12:11:24 +01:00
games647andGitHub 23874266d3 Add a note to check for already existing issues 2016-09-02 10:57:50 +02:00