Merge branch 'AuthMe:master' into feature/upstream

This commit is contained in:
Dreeam
2023-12-05 06:05:10 -05:00
13 changed files with 491 additions and 211 deletions
@@ -36,4 +36,12 @@ public class MigraterYamlFileResource extends YamlFileResource {
}
return singleQuoteYaml;
}
// Because we set the YAML object to put strings in single quotes, this method by default uses that YAML object
// and also puts all paths as single quotes. Override to just always return the same string since we know those
// are only message names (so never any conflicting strings like "true" or "0").
@Override
protected String escapePathElementIfNeeded(String path) {
return path;
}
}
@@ -76,6 +76,12 @@ public class GeoIpService {
* @return True if the data is available, false otherwise.
*/
private synchronized boolean isDataAvailable() {
// If this feature is disabled, just stop
if (!settings.getProperty(ProtectionSettings.ENABLE_GEOIP)) {
return false;
}
if (downloading) {
// we are currently downloading the database
return false;
@@ -20,6 +20,21 @@ public final class ProtectionSettings implements SettingsHolder {
public static final Property<Boolean> ENABLE_PROTECTION_REGISTERED =
newProperty("Protection.enableProtectionRegistered", true);
@Comment("Enable GeoIp database")
public static final Property<Boolean> ENABLE_GEOIP =
newProperty("Protection.geoIpDatabase.enabled", true);
@Comment({"The MaxMind clientId used to download the GeoIp database,",
"get one at https://www.maxmind.com/en/accounts/current/license-key",
"The EssentialsX project has a very useful tutorial on how to generate",
"the license key: https://github.com/EssentialsX/Wiki/blob/master/GeoIP.md"})
public static final Property<String> MAXMIND_API_CLIENT_ID =
newProperty("Protection.geoIpDatabase.clientId", "");
@Comment("The MaxMind licenseKey used to download the GeoIp database.")
public static final Property<String> MAXMIND_API_LICENSE_KEY =
newProperty("Protection.geoIpDatabase.licenseKey", "");
@Comment({
"Countries allowed to join the server and register. For country codes, see",
"https://dev.maxmind.com/geoip/legacy/codes/iso3166/",