From 7e2057a7a292558e35b2512c6d07982b6270698d Mon Sep 17 00:00:00 2001 From: games647 Date: Sat, 5 Sep 2015 09:58:15 +0200 Subject: [PATCH] [Security] Fix offline player could login as premium if they logged in using the same address (ip and port) as a previous premium player and under a delay of 2 Minutes. --- .../github/games647/fastlogin/listener/PlayerListener.java | 5 ++++- src/main/resources/plugin.yml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/games647/fastlogin/listener/PlayerListener.java b/src/main/java/com/github/games647/fastlogin/listener/PlayerListener.java index 91781900..c8e816a7 100644 --- a/src/main/java/com/github/games647/fastlogin/listener/PlayerListener.java +++ b/src/main/java/com/github/games647/fastlogin/listener/PlayerListener.java @@ -1,6 +1,7 @@ package com.github.games647.fastlogin.listener; import com.github.games647.fastlogin.FastLogin; +import com.github.games647.fastlogin.PlayerData; import de.luricos.bukkit.xAuth.xAuth; import de.luricos.bukkit.xAuth.xAuthPlayer; @@ -29,7 +30,9 @@ public class PlayerListener implements Listener { public void onJoin(PlayerJoinEvent joinEvent) { final Player player = joinEvent.getPlayer(); String address = player.getAddress().toString(); - if (plugin.getSession().asMap().containsKey(address)) { + + PlayerData session = plugin.getSession().asMap().get(address); + if (session != null && session.getUsername().equals(player.getName())) { Bukkit.getScheduler().runTaskLater(plugin, () -> { doLogin(player); }, 1 * 20L); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 92b3ab2b..6a5457db 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -5,7 +5,7 @@ version: ${project.version} main: ${project.groupId}.${project.artifactId}.${project.name} # meta informations for plugin managers -authors: [Xeroun, games647, 'https://github.com/games647/FastLogin/graphs/contributors'] +authors: [games647, 'https://github.com/games647/FastLogin/graphs/contributors'] description: | ${project.description} website: ${project.url}