Remove the IPManager

We don't need it anymore
This commit is contained in:
Gabriele C 2016-04-08 14:34:21 +02:00
parent 4ec98e5b3d
commit ee177e8a3a
17 changed files with 33 additions and 219 deletions

View File

@ -2,7 +2,6 @@ package fr.xephi.authme;
import fr.xephi.authme.api.API; import fr.xephi.authme.api.API;
import fr.xephi.authme.api.NewAPI; import fr.xephi.authme.api.NewAPI;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.backup.JsonCache; import fr.xephi.authme.cache.backup.JsonCache;
@ -135,7 +134,6 @@ public class AuthMe extends JavaPlugin {
private JsonCache playerBackup; private JsonCache playerBackup;
private PasswordSecurity passwordSecurity; private PasswordSecurity passwordSecurity;
private DataSource database; private DataSource database;
private IpAddressManager ipAddressManager;
private PluginHooks pluginHooks; private PluginHooks pluginHooks;
private SpawnLoader spawnLoader; private SpawnLoader spawnLoader;
private AntiBot antiBot; private AntiBot antiBot;
@ -253,7 +251,6 @@ public class AuthMe extends JavaPlugin {
MigrationService.changePlainTextToSha256(newSettings, database, new SHA256()); MigrationService.changePlainTextToSha256(newSettings, database, new SHA256());
passwordSecurity = new PasswordSecurity(getDataSource(), newSettings, Bukkit.getPluginManager()); passwordSecurity = new PasswordSecurity(getDataSource(), newSettings, Bukkit.getPluginManager());
ipAddressManager = new IpAddressManager(newSettings);
// Initialize spawn loader // Initialize spawn loader
spawnLoader = new SpawnLoader(getDataFolder(), newSettings, pluginHooks); spawnLoader = new SpawnLoader(getDataFolder(), newSettings, pluginHooks);
@ -262,7 +259,7 @@ public class AuthMe extends JavaPlugin {
// Set up the permissions manager and command handler // Set up the permissions manager and command handler
permsMan = initializePermissionsManager(); permsMan = initializePermissionsManager();
ValidationService validationService = new ValidationService(newSettings, database, permsMan); ValidationService validationService = new ValidationService(newSettings, database, permsMan);
commandHandler = initializeCommandHandler(permsMan, messages, passwordSecurity, newSettings, ipAddressManager, commandHandler = initializeCommandHandler(permsMan, messages, passwordSecurity, newSettings,
pluginHooks, spawnLoader, antiBot, validationService); pluginHooks, spawnLoader, antiBot, validationService);
// AntiBot delay // AntiBot delay
@ -300,12 +297,12 @@ public class AuthMe extends JavaPlugin {
setupApi(); setupApi();
// Set up the management // Set up the management
ProcessService processService = new ProcessService(newSettings, messages, this, database, ipAddressManager, ProcessService processService = new ProcessService(newSettings, messages, this, database,
passwordSecurity, pluginHooks, spawnLoader, validationService); passwordSecurity, pluginHooks, spawnLoader, validationService);
management = new Management(this, processService, database, PlayerCache.getInstance()); management = new Management(this, processService, database, PlayerCache.getInstance());
// Set up the BungeeCord hook // Set up the BungeeCord hook
setupBungeeCordHook(newSettings, ipAddressManager); setupBungeeCordHook(newSettings);
// Reload support hook // Reload support hook
reloadSupportHook(); reloadSupportHook();
@ -423,24 +420,23 @@ public class AuthMe extends JavaPlugin {
/** /**
* Set up the BungeeCord hook. * Set up the BungeeCord hook.
*/ */
private void setupBungeeCordHook(NewSetting settings, IpAddressManager ipAddressManager) { private void setupBungeeCordHook(NewSetting settings) {
if (settings.getProperty(HooksSettings.BUNGEECORD)) { if (settings.getProperty(HooksSettings.BUNGEECORD)) {
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
Bukkit.getMessenger().registerIncomingPluginChannel( Bukkit.getMessenger().registerIncomingPluginChannel(
this, "BungeeCord", new BungeeCordMessage(this, ipAddressManager)); this, "BungeeCord", new BungeeCordMessage(this));
} }
} }
private CommandHandler initializeCommandHandler(PermissionsManager permissionsManager, Messages messages, private CommandHandler initializeCommandHandler(PermissionsManager permissionsManager, Messages messages,
PasswordSecurity passwordSecurity, NewSetting settings, PasswordSecurity passwordSecurity, NewSetting settings,
IpAddressManager ipAddressManager, PluginHooks pluginHooks, PluginHooks pluginHooks, SpawnLoader spawnLoader,
SpawnLoader spawnLoader, AntiBot antiBot, AntiBot antiBot, ValidationService validationService) {
ValidationService validationService) {
HelpProvider helpProvider = new HelpProvider(permissionsManager, settings.getProperty(HELP_HEADER)); HelpProvider helpProvider = new HelpProvider(permissionsManager, settings.getProperty(HELP_HEADER));
Set<CommandDescription> baseCommands = CommandInitializer.buildCommands(); Set<CommandDescription> baseCommands = CommandInitializer.buildCommands();
CommandMapper mapper = new CommandMapper(baseCommands, permissionsManager); CommandMapper mapper = new CommandMapper(baseCommands, permissionsManager);
CommandService commandService = new CommandService(this, mapper, helpProvider, messages, passwordSecurity, CommandService commandService = new CommandService(this, mapper, helpProvider, messages, passwordSecurity,
permissionsManager, settings, ipAddressManager, pluginHooks, spawnLoader, antiBot, validationService); permissionsManager, settings, pluginHooks, spawnLoader, antiBot, validationService);
return new CommandHandler(commandService); return new CommandHandler(commandService);
} }
@ -775,7 +771,7 @@ public class AuthMe extends JavaPlugin {
public String replaceAllInfo(String message, Player player) { public String replaceAllInfo(String message, Player player) {
String playersOnline = Integer.toString(Utils.getOnlinePlayers().size()); String playersOnline = Integer.toString(Utils.getOnlinePlayers().size());
String ipAddress = ipAddressManager.getPlayerIp(player); String ipAddress = Utils.getPlayerIp(player);
return message return message
.replace("&", "\u00a7") .replace("&", "\u00a7")
.replace("{PLAYER}", player.getName()) .replace("{PLAYER}", player.getName())
@ -792,7 +788,7 @@ public class AuthMe extends JavaPlugin {
public boolean isLoggedIp(String name, String ip) { public boolean isLoggedIp(String name, String ip) {
int count = 0; int count = 0;
for (Player player : Utils.getOnlinePlayers()) { for (Player player : Utils.getOnlinePlayers()) {
if (ip.equalsIgnoreCase(ipAddressManager.getPlayerIp(player)) if (ip.equalsIgnoreCase(Utils.getPlayerIp(player))
&& database.isLogged(player.getName().toLowerCase()) && database.isLogged(player.getName().toLowerCase())
&& !player.getName().equalsIgnoreCase(name)) { && !player.getName().equalsIgnoreCase(name)) {
++count; ++count;

View File

@ -1,109 +0,0 @@
package fr.xephi.authme.cache;
import com.google.common.base.Charsets;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import com.google.common.io.Resources;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.settings.NewSetting;
import fr.xephi.authme.settings.properties.HooksSettings;
import fr.xephi.authme.util.StringUtils;
import org.bukkit.entity.Player;
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.ConcurrentHashMap;
/**
* Stateful manager for looking up IP address appropriately, including caching.
*/
public class IpAddressManager {
/**
* Whether or not to use the VeryGames API or BungeeCord for IP lookups.
*/
private final boolean useVeryGamesIpCheck;
private final boolean useBungee;
/**
* Cache for lookups.
*/
private final ConcurrentHashMap<String, String> ipCache;
/**
* Constructor.
*
* @param settings The settings instance
*/
public IpAddressManager(NewSetting settings) {
this.useVeryGamesIpCheck = settings.getProperty(HooksSettings.ENABLE_VERYGAMES_IP_CHECK);
this.useBungee = settings.getProperty(HooksSettings.BUNGEECORD);
this.ipCache = new ConcurrentHashMap<>();
}
/**
* Return the player's IP address. If enabled in the settings, the IP address returned by the
* VeryGames API will be returned.
*
* @param player The player to look up
*
* @return The IP address of the player
*/
public String getPlayerIp(Player player) {
final String playerName = player.getName().toLowerCase();
final String cachedValue = ipCache.get(playerName);
if (cachedValue != null) {
return cachedValue;
}
final String plainIp = player.getAddress().getAddress().getHostAddress();
if (useBungee) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("IP");
player.sendPluginMessage(AuthMe.getInstance(), "BungeeCord", out.toByteArray());
}
if (useVeryGamesIpCheck) {
String veryGamesResult = getVeryGamesIp(plainIp, player.getAddress().getPort());
if (veryGamesResult != null) {
ipCache.put(playerName, veryGamesResult);
return veryGamesResult;
}
}
return plainIp;
}
/**
* Add a player to the IP address cache.
*
* @param player The player to add or update the cache entry for
* @param ip The IP address to add
*/
public void addCache(String player, String ip) {
ipCache.put(player.toLowerCase(), ip);
}
/**
* Remove a player's cache entry.
*
* @param player The player to remove
*/
public void removeCache(String player) {
ipCache.remove(player.toLowerCase());
}
// returns null if IP could not be looked up
private String getVeryGamesIp(final String plainIp, final int port) {
final String sUrl = String.format("http://monitor-1.verygames.net/api/?action=ipclean-real-ip"
+ "&out=raw&ip=%s&port=%d", plainIp, port);
try {
String result = Resources.toString(new URL(sUrl), Charsets.UTF_8);
if (!StringUtils.isEmpty(result) && !result.contains("error")) {
return result;
}
} catch (IOException e) {
ConsoleLogger.logException("Could not fetch Very Games API with URL '" + sUrl + "':", e);
}
return null;
}
}

View File

@ -5,7 +5,6 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.help.HelpProvider; import fr.xephi.authme.command.help.HelpProvider;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.hooks.PluginHooks; import fr.xephi.authme.hooks.PluginHooks;
import fr.xephi.authme.output.MessageKey; import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages; import fr.xephi.authme.output.Messages;
@ -33,7 +32,6 @@ public class CommandService {
private final PasswordSecurity passwordSecurity; private final PasswordSecurity passwordSecurity;
private final PermissionsManager permissionsManager; private final PermissionsManager permissionsManager;
private final NewSetting settings; private final NewSetting settings;
private final IpAddressManager ipAddressManager;
private final PluginHooks pluginHooks; private final PluginHooks pluginHooks;
private final SpawnLoader spawnLoader; private final SpawnLoader spawnLoader;
private final AntiBot antiBot; private final AntiBot antiBot;
@ -44,8 +42,7 @@ public class CommandService {
*/ */
public CommandService(AuthMe authMe, CommandMapper commandMapper, HelpProvider helpProvider, Messages messages, public CommandService(AuthMe authMe, CommandMapper commandMapper, HelpProvider helpProvider, Messages messages,
PasswordSecurity passwordSecurity, PermissionsManager permissionsManager, NewSetting settings, PasswordSecurity passwordSecurity, PermissionsManager permissionsManager, NewSetting settings,
IpAddressManager ipAddressManager, PluginHooks pluginHooks, SpawnLoader spawnLoader, PluginHooks pluginHooks, SpawnLoader spawnLoader, AntiBot antiBot, ValidationService validationService) {
AntiBot antiBot, ValidationService validationService) {
this.authMe = authMe; this.authMe = authMe;
this.messages = messages; this.messages = messages;
this.helpProvider = helpProvider; this.helpProvider = helpProvider;
@ -53,7 +50,6 @@ public class CommandService {
this.passwordSecurity = passwordSecurity; this.passwordSecurity = passwordSecurity;
this.permissionsManager = permissionsManager; this.permissionsManager = permissionsManager;
this.settings = settings; this.settings = settings;
this.ipAddressManager = ipAddressManager;
this.pluginHooks = pluginHooks; this.pluginHooks = pluginHooks;
this.spawnLoader = spawnLoader; this.spawnLoader = spawnLoader;
this.antiBot = antiBot; this.antiBot = antiBot;
@ -191,10 +187,6 @@ public class CommandService {
return settings; return settings;
} }
public IpAddressManager getIpAddressManager() {
return ipAddressManager;
}
public PlayerCache getPlayerCache() { public PlayerCache getPlayerCache() {
return PlayerCache.getInstance(); return PlayerCache.getInstance();
} }

View File

@ -27,7 +27,7 @@ public class GetIpCommand implements ExecutableCommand {
if (commandService.getProperty(HooksSettings.ENABLE_VERYGAMES_IP_CHECK)) { if (commandService.getProperty(HooksSettings.ENABLE_VERYGAMES_IP_CHECK)) {
sender.sendMessage(player.getName() + "'s real IP is: " sender.sendMessage(player.getName() + "'s real IP is: "
+ commandService.getIpAddressManager().getPlayerIp(player)); + Utils.getPlayerIp(player));
} }
} }
} }

View File

@ -7,7 +7,6 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.security.crypts.HashedPassword; import fr.xephi.authme.security.crypts.HashedPassword;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.messaging.PluginMessageListener; import org.bukkit.plugin.messaging.PluginMessageListener;
@ -17,17 +16,14 @@ import org.bukkit.plugin.messaging.PluginMessageListener;
public class BungeeCordMessage implements PluginMessageListener { public class BungeeCordMessage implements PluginMessageListener {
private final AuthMe plugin; private final AuthMe plugin;
private final IpAddressManager ipAddressManager;
/** /**
* Constructor for BungeeCordMessage. * Constructor for BungeeCordMessage.
* *
* @param plugin The plugin instance * @param plugin The plugin instance
* @param ipAddressManager The IP address manager
*/ */
public BungeeCordMessage(AuthMe plugin, IpAddressManager ipAddressManager) { public BungeeCordMessage(AuthMe plugin) {
this.plugin = plugin; this.plugin = plugin;
this.ipAddressManager = ipAddressManager;
} }
@Override @Override
@ -37,11 +33,6 @@ public class BungeeCordMessage implements PluginMessageListener {
} }
ByteArrayDataInput in = ByteStreams.newDataInput(message); ByteArrayDataInput in = ByteStreams.newDataInput(message);
String subChannel = in.readUTF(); String subChannel = in.readUTF();
if ("IP".equals(subChannel)) { // We need only the IP channel
String ip = in.readUTF();
// Put the IP (only the ip not the port) in the hashMap
ipAddressManager.addCache(player.getName(), ip);
}
if ("AuthMe".equalsIgnoreCase(subChannel)) { if ("AuthMe".equalsIgnoreCase(subChannel)) {
String str = in.readUTF(); String str = in.readUTF();
final String[] args = str.split(";"); final String[] args = str.split(";");

View File

@ -1,7 +1,6 @@
package fr.xephi.authme.process; package fr.xephi.authme.process;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.hooks.PluginHooks; import fr.xephi.authme.hooks.PluginHooks;
import fr.xephi.authme.output.MessageKey; import fr.xephi.authme.output.MessageKey;
@ -25,20 +24,18 @@ public class ProcessService {
private final Messages messages; private final Messages messages;
private final AuthMe authMe; private final AuthMe authMe;
private final DataSource dataSource; private final DataSource dataSource;
private final IpAddressManager ipAddressManager;
private final PasswordSecurity passwordSecurity; private final PasswordSecurity passwordSecurity;
private final PluginHooks pluginHooks; private final PluginHooks pluginHooks;
private final SpawnLoader spawnLoader; private final SpawnLoader spawnLoader;
private final ValidationService validationService; private final ValidationService validationService;
public ProcessService(NewSetting settings, Messages messages, AuthMe authMe, DataSource dataSource, public ProcessService(NewSetting settings, Messages messages, AuthMe authMe, DataSource dataSource,
IpAddressManager ipAddressManager, PasswordSecurity passwordSecurity, PluginHooks pluginHooks, PasswordSecurity passwordSecurity, PluginHooks pluginHooks,
SpawnLoader spawnLoader, ValidationService validationService) { SpawnLoader spawnLoader, ValidationService validationService) {
this.settings = settings; this.settings = settings;
this.messages = messages; this.messages = messages;
this.authMe = authMe; this.authMe = authMe;
this.dataSource = dataSource; this.dataSource = dataSource;
this.ipAddressManager = ipAddressManager;
this.passwordSecurity = passwordSecurity; this.passwordSecurity = passwordSecurity;
this.pluginHooks = pluginHooks; this.pluginHooks = pluginHooks;
this.spawnLoader = spawnLoader; this.spawnLoader = spawnLoader;
@ -155,15 +152,6 @@ public class ProcessService {
return authMe; return authMe;
} }
/**
* Return the IP address manager.
*
* @return the ip address manager
*/
public IpAddressManager getIpAddressManager() {
return ipAddressManager;
}
/** /**
* Compute the hash for the given password. * Compute the hash for the given password.
* *

View File

@ -69,7 +69,7 @@ public class AsynchronousJoin implements Process {
service.getPluginHooks().setEssentialsSocialSpyStatus(player, false); service.getPluginHooks().setEssentialsSocialSpyStatus(player, false);
} }
final String ip = service.getIpAddressManager().getPlayerIp(player); final String ip = Utils.getPlayerIp(player);
if (isNameRestricted(name, ip, player.getAddress().getHostName(), service.getSettings())) { if (isNameRestricted(name, ip, player.getAddress().getHostName(), service.getSettings())) {
service.scheduleSyncDelayedTask(new Runnable() { service.scheduleSyncDelayedTask(new Runnable() {
@Override @Override
@ -305,7 +305,7 @@ public class AsynchronousJoin implements Process {
private boolean hasJoinedIp(String name, String ip, NewSetting settings) { private boolean hasJoinedIp(String name, String ip, NewSetting settings) {
int count = 0; int count = 0;
for (Player player : Utils.getOnlinePlayers()) { for (Player player : Utils.getOnlinePlayers()) {
if (ip.equalsIgnoreCase(service.getIpAddressManager().getPlayerIp(player)) if (ip.equalsIgnoreCase(Utils.getPlayerIp(player))
&& !player.getName().equalsIgnoreCase(name)) { && !player.getName().equalsIgnoreCase(name)) {
count++; count++;
} }

View File

@ -52,7 +52,7 @@ public class AsynchronousLogin implements Process {
this.forceLogin = forceLogin; this.forceLogin = forceLogin;
this.plugin = plugin; this.plugin = plugin;
this.database = data; this.database = data;
this.ip = service.getIpAddressManager().getPlayerIp(player); this.ip = Utils.getPlayerIp(player);
this.service = service; this.service = service;
} }

View File

@ -43,7 +43,7 @@ public class AsynchronousQuit implements Process {
return; return;
} }
String ip = service.getIpAddressManager().getPlayerIp(player); String ip = Utils.getPlayerIp(player);
if (PlayerCache.getInstance().isAuthenticated(name)) { if (PlayerCache.getInstance().isAuthenticated(name)) {
if (service.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION)) { if (service.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION)) {
@ -94,7 +94,6 @@ public class AsynchronousQuit implements Process {
database.setUnlogged(name); database.setUnlogged(name);
} }
service.getIpAddressManager().removeCache(player.getName());
if (plugin.isEnabled()) { if (plugin.isEnabled()) {
service.scheduleSyncDelayedTask(new ProcessSyncronousPlayerQuit(plugin, player, isOp, needToChange)); service.scheduleSyncDelayedTask(new ProcessSyncronousPlayerQuit(plugin, player, isOp, needToChange));
} }

View File

@ -17,6 +17,8 @@ import fr.xephi.authme.settings.properties.RegistrationSettings;
import fr.xephi.authme.settings.properties.RestrictionSettings; import fr.xephi.authme.settings.properties.RestrictionSettings;
import fr.xephi.authme.settings.properties.SecuritySettings; import fr.xephi.authme.settings.properties.SecuritySettings;
import fr.xephi.authme.util.StringUtils; import fr.xephi.authme.util.StringUtils;
import fr.xephi.authme.util.Utils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -44,7 +46,7 @@ public class AsyncRegister implements Process {
this.email = email; this.email = email;
this.plugin = plugin; this.plugin = plugin;
this.database = data; this.database = data;
this.ip = service.getIpAddressManager().getPlayerIp(player); this.ip = Utils.getPlayerIp(player);
this.playerCache = playerCache; this.playerCache = playerCache;
this.service = service; this.service = service;
} }

View File

@ -58,7 +58,7 @@ public class ProcessSyncEmailRegister implements Process {
player.saveData(); player.saveData();
if (!service.getProperty(SecuritySettings.REMOVE_SPAM_FROM_CONSOLE)) { if (!service.getProperty(SecuritySettings.REMOVE_SPAM_FROM_CONSOLE)) {
ConsoleLogger.info(player.getName() + " registered " + service.getIpAddressManager().getPlayerIp(player)); ConsoleLogger.info(player.getName() + " registered " + Utils.getPlayerIp(player));
} }
} }

View File

@ -116,7 +116,7 @@ public class ProcessSyncPasswordRegister implements Process {
player.saveData(); player.saveData();
if (!Settings.noConsoleSpam) { if (!Settings.noConsoleSpam) {
ConsoleLogger.info(player.getName() + " registered " + service.getIpAddressManager().getPlayerIp(player)); ConsoleLogger.info(player.getName() + " registered " + Utils.getPlayerIp(player));
} }
// Kick Player after Registration is enabled, kick the player // Kick Player after Registration is enabled, kick the player

View File

@ -35,6 +35,7 @@ public class HooksSettings implements SettingsClass {
public static final Property<Boolean> CACHE_CUSTOM_ATTRIBUTES = public static final Property<Boolean> CACHE_CUSTOM_ATTRIBUTES =
newProperty("Hooks.customAttributes", false); newProperty("Hooks.customAttributes", false);
// TODO REMOVE ME
@Comment("These features are only available on VeryGames Server Provider") @Comment("These features are only available on VeryGames Server Provider")
public static final Property<Boolean> ENABLE_VERYGAMES_IP_CHECK = public static final Property<Boolean> ENABLE_VERYGAMES_IP_CHECK =
newProperty("VeryGames.enableIpCheck", false); newProperty("VeryGames.enableIpCheck", false);

View File

@ -265,4 +265,11 @@ public final class Utils {
NOTLOGGEDIN, NOTLOGGEDIN,
LOGGEDIN LOGGEDIN
} }
/**
* Returns the IP of the given player.
*/
public static String getPlayerIp(Player p) {
return p.getAddress().getAddress().getHostAddress();
}
} }

View File

@ -3,13 +3,9 @@ package fr.xephi.authme.cache;
import fr.xephi.authme.settings.NewSetting; import fr.xephi.authme.settings.NewSetting;
import fr.xephi.authme.settings.properties.HooksSettings; import fr.xephi.authme.settings.properties.HooksSettings;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.junit.Test;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@ -35,29 +31,4 @@ public class IpAddressManagerTest {
return player; return player;
} }
@Test
public void shouldRetrieveFromCache() {
// given
IpAddressManager ipAddressManager = new IpAddressManager(mockSettings(true, true));
ipAddressManager.addCache("Test", "my test IP");
// when
String result = ipAddressManager.getPlayerIp(mockPlayer("test", "123.123.123.123"));
// then
assertThat(result, equalTo("my test IP"));
}
@Test
public void shouldReturnPlainIp() {
// given
IpAddressManager ipAddressManager = new IpAddressManager(mockSettings(false, false));
// when
String result = ipAddressManager.getPlayerIp(mockPlayer("bobby", "8.8.8.8"));
// then
assertThat(result, equalTo("8.8.8.8"));
}
} }

View File

@ -2,7 +2,6 @@ package fr.xephi.authme.command;
import fr.xephi.authme.AntiBot; import fr.xephi.authme.AntiBot;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.command.help.HelpProvider; import fr.xephi.authme.command.help.HelpProvider;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.hooks.PluginHooks; import fr.xephi.authme.hooks.PluginHooks;
@ -57,8 +56,6 @@ public class CommandServiceTest {
@Mock @Mock
private NewSetting settings; private NewSetting settings;
@Mock @Mock
private IpAddressManager ipAddressManager;
@Mock
private PluginHooks pluginHooks; private PluginHooks pluginHooks;
@Mock @Mock
private SpawnLoader spawnLoader; private SpawnLoader spawnLoader;
@ -70,7 +67,7 @@ public class CommandServiceTest {
@Before @Before
public void setUpService() { public void setUpService() {
commandService = new CommandService(authMe, commandMapper, helpProvider, messages, passwordSecurity, commandService = new CommandService(authMe, commandMapper, helpProvider, messages, passwordSecurity,
permissionsManager, settings, ipAddressManager, pluginHooks, spawnLoader, antiBot, validationService); permissionsManager, settings, pluginHooks, spawnLoader, antiBot, validationService);
} }
@Test @Test
@ -223,15 +220,6 @@ public class CommandServiceTest {
assertThat(result, equalTo(authMe)); assertThat(result, equalTo(authMe));
} }
@Test
public void shouldReturnIpAddressManager() {
// given/when
IpAddressManager ipManager = commandService.getIpAddressManager();
// then
assertThat(ipManager, equalTo(ipAddressManager));
}
@Test @Test
public void shouldValidatePassword() { public void shouldValidatePassword() {
// given // given

View File

@ -1,7 +1,6 @@
package fr.xephi.authme.process; package fr.xephi.authme.process;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.hooks.PluginHooks; import fr.xephi.authme.hooks.PluginHooks;
import fr.xephi.authme.output.MessageKey; import fr.xephi.authme.output.MessageKey;
@ -39,8 +38,6 @@ public class ProcessServiceTest {
@Mock @Mock
private Messages messages; private Messages messages;
@Mock @Mock
private IpAddressManager ipAddressManager;
@Mock
private PasswordSecurity passwordSecurity; private PasswordSecurity passwordSecurity;
@Mock @Mock
private AuthMe authMe; private AuthMe authMe;
@ -53,7 +50,7 @@ public class ProcessServiceTest {
@Before @Before
public void setUpService() { public void setUpService() {
processService = new ProcessService(settings, messages, authMe, dataSource, ipAddressManager, passwordSecurity, processService = new ProcessService(settings, messages, authMe, dataSource, passwordSecurity,
pluginHooks, spawnLoader, validationService); pluginHooks, spawnLoader, validationService);
} }
@ -154,15 +151,6 @@ public class ProcessServiceTest {
assertThat(result, equalTo(pluginHooks)); assertThat(result, equalTo(pluginHooks));
} }
@Test
public void shouldReturnIpAddressManager() {
// given / when
IpAddressManager result = processService.getIpAddressManager();
// then
assertThat(result, equalTo(ipAddressManager));
}
@Test @Test
public void shouldReturnSpawnLoader() { public void shouldReturnSpawnLoader() {
// given / when // given / when