From 481cbaec2ff2634b5b409c580e89b87482d2c571 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Thu, 18 Feb 2016 09:34:04 +0700 Subject: [PATCH] Don't check the country if nothing defined on configuration. - no need to enable protection to use country blacklist. #507 --- .../authme/listener/AuthMePlayerListener.java | 29 ++++++++++--------- .../authme/listener/AuthMeServerListener.java | 17 ++++++----- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index b15007e6..a33fb93a 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -12,7 +12,6 @@ import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.output.MessageKey; import fr.xephi.authme.output.Messages; import fr.xephi.authme.permission.PermissionsManager; -import fr.xephi.authme.permission.PlayerPermission; import fr.xephi.authme.permission.PlayerStatePermission; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.util.GeoLiteAPI; @@ -109,7 +108,7 @@ public class AuthMePlayerListener implements Listener { if (Settings.useEssentialsMotd && cmd.equals("/motd")) { return; } - if(!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) { + if (!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) { return; } if (Settings.allowCommands.contains(cmd)) { @@ -255,18 +254,20 @@ public class AuthMePlayerListener implements Listener { } } - String playerIP = event.getAddress().getHostAddress(); - if (auth == null && Settings.enableProtection) { - String countryCode = GeoLiteAPI.getCountryCode(playerIP); - if (!Settings.countriesBlacklist.isEmpty() && Settings.countriesBlacklist.contains(countryCode)) { - event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER); - event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); - return; - } - if (!Settings.countries.isEmpty() && !Settings.countries.contains(countryCode)) { - event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER); - event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); - return; + if (auth == null) { + if (!Settings.countriesBlacklist.isEmpty() || !Settings.countries.isEmpty()) { + String playerIP = event.getAddress().getHostAddress(); + String countryCode = GeoLiteAPI.getCountryCode(playerIP); + if (Settings.countriesBlacklist.contains(countryCode)) { + event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER); + event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); + return; + } + if (Settings.enableProtection && !Settings.countries.contains(countryCode)) { + event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER); + event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); + return; + } } } diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java index ef991390..e6874d4d 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java @@ -32,14 +32,15 @@ public class AuthMeServerListener implements Listener { return; } - String countryCode = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()); - if (!Settings.countriesBlacklist.isEmpty() && Settings.countriesBlacklist.contains(countryCode)) { - event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); - return; - } - - if (!Settings.countries.isEmpty() && !Settings.countries.contains(countryCode)) { - event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); + if (!Settings.countriesBlacklist.isEmpty() || !Settings.countries.isEmpty()){ + String countryCode = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()); + if( Settings.countriesBlacklist.contains(countryCode)) { + event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); + return; + } + if (!Settings.countries.contains(countryCode)) { + event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR)); + } } }