diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtil.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtil.java index 81abad1d..d148bc17 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtil.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtil.java @@ -59,7 +59,7 @@ import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; -import lombok.var; +import lombok.val; /** * Encryption and decryption minecraft util for connection between servers @@ -179,9 +179,9 @@ final class EncryptionUtil { private static PublicKey loadMojangSessionKey() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { - var keyUrl = FastLoginBukkit.class.getClassLoader().getResource("yggdrasil_session_pubkey.der"); - var keyData = Resources.toByteArray(keyUrl); - var keySpec = new X509EncodedKeySpec(keyData); + val keyUrl = FastLoginBukkit.class.getClassLoader().getResource("yggdrasil_session_pubkey.der"); + val keyData = Resources.toByteArray(keyUrl); + val keySpec = new X509EncodedKeySpec(keyData); return KeyFactory.getInstance("RSA").generatePublic(keySpec); } diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/VerifyResponseTask.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/VerifyResponseTask.java index dc208ff7..1363cb34 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/VerifyResponseTask.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/protocollib/VerifyResponseTask.java @@ -60,7 +60,7 @@ import java.util.UUID; import javax.crypto.Cipher; import javax.crypto.SecretKey; -import lombok.var; +import lombok.val; import org.bukkit.entity.Player; import static com.comphenix.protocol.PacketType.Login.Client.START; @@ -269,7 +269,7 @@ public class VerifyResponseTask implements Runnable { startPacket.getStrings().write(0, username); EquivalentConverter converter = BukkitConverters.getWrappedPublicKeyDataConverter(); - var wrappedKey = Optional.ofNullable(clientKey).map(key -> + val wrappedKey = Optional.ofNullable(clientKey).map(key -> new WrappedProfileKeyData(clientKey.expiry(), clientKey.key(), clientKey.signature()) ); diff --git a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/FastLoginBukkitTest.java b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/FastLoginBukkitTest.java index e4ce55a4..9d6832e5 100644 --- a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/FastLoginBukkitTest.java +++ b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/FastLoginBukkitTest.java @@ -30,7 +30,7 @@ import com.github.games647.fastlogin.core.CommonUtil; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.chat.ComponentSerializer; -import lombok.var; +import lombok.val; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -39,12 +39,12 @@ class FastLoginBukkitTest { @Test void testRGB() { - var message = "&x00002a00002b&lText"; - var msg = CommonUtil.translateColorCodes(message); + val message = "&x00002a00002b&lText"; + val msg = CommonUtil.translateColorCodes(message); assertEquals(msg, "§x00002a00002b§lText"); - var components = TextComponent.fromLegacyText(msg); - var expected = "{\"bold\":true,\"color\":\"#00a00b\",\"text\":\"Text\"}"; + val components = TextComponent.fromLegacyText(msg); + val expected = "{\"bold\":true,\"color\":\"#00a00b\",\"text\":\"Text\"}"; assertEquals(ComponentSerializer.toString(components), expected); } } diff --git a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/Base64Adapter.java b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/Base64Adapter.java index 29b2f3d6..c2fb34df 100644 --- a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/Base64Adapter.java +++ b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/Base64Adapter.java @@ -32,13 +32,13 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.util.Base64; -import lombok.var; +import lombok.val; public class Base64Adapter extends TypeAdapter { @Override public void write(JsonWriter out, byte[] value) throws IOException { - var encoded = Base64.getEncoder().encodeToString(value); + val encoded = Base64.getEncoder().encodeToString(value); out.value(encoded); } diff --git a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtilTest.java b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtilTest.java index df3888ef..1bbe8642 100644 --- a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtilTest.java +++ b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/EncryptionUtilTest.java @@ -50,7 +50,7 @@ import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; -import lombok.var; +import lombok.val; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; @@ -61,7 +61,7 @@ class EncryptionUtilTest { @Test void testVerifyToken() { - var random = ThreadLocalRandom.current(); + val random = ThreadLocalRandom.current(); byte[] token = EncryptionUtil.generateVerifyToken(random); assertAll( @@ -89,10 +89,10 @@ class EncryptionUtilTest { @Test void testExpiredClientKey() throws Exception { - var clientKey = ResourceLoader.loadClientKey("client_keys/valid_public_key.json"); + val clientKey = ResourceLoader.loadClientKey("client_keys/valid_public_key.json"); // Client expires at the exact second mentioned, so use it for verification - var expiredTimestamp = clientKey.expiry(); + val expiredTimestamp = clientKey.expiry(); assertFalse(EncryptionUtil.verifyClientKey(clientKey, expiredTimestamp)); } @@ -106,7 +106,7 @@ class EncryptionUtilTest { "client_keys/invalid_wrong_signature.json" }) void testInvalidClientKey(String clientKeySource) throws Exception { - var clientKey = ResourceLoader.loadClientKey(clientKeySource); + val clientKey = ResourceLoader.loadClientKey(clientKeySource); Instant expireTimestamp = clientKey.expiry().minus(5, ChronoUnit.HOURS); assertFalse(EncryptionUtil.verifyClientKey(clientKey, expireTimestamp)); @@ -114,8 +114,8 @@ class EncryptionUtilTest { @Test void testValidClientKey() throws Exception { - var clientKey = ResourceLoader.loadClientKey("client_keys/valid_public_key.json"); - var verificationTimestamp = clientKey.expiry().minus(5, ChronoUnit.HOURS); + val clientKey = ResourceLoader.loadClientKey("client_keys/valid_public_key.json"); + val verificationTimestamp = clientKey.expiry().minus(5, ChronoUnit.HOURS); assertTrue(EncryptionUtil.verifyClientKey(clientKey, verificationTimestamp)); } @@ -123,7 +123,7 @@ class EncryptionUtilTest { @Test void testDecryptSharedSecret() throws Exception { KeyPair serverPair = EncryptionUtil.generateKeyPair(); - var serverPK = serverPair.getPublic(); + val serverPK = serverPair.getPublic(); SecretKey secretKey = generateSharedKey(); byte[] encryptedSecret = encrypt(serverPK, secretKey.getEncoded()); @@ -135,7 +135,7 @@ class EncryptionUtilTest { private static byte[] encrypt(PublicKey receiverKey, byte... message) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { - var encryptCipher = Cipher.getInstance(receiverKey.getAlgorithm()); + val encryptCipher = Cipher.getInstance(receiverKey.getAlgorithm()); encryptCipher.init(Cipher.ENCRYPT_MODE, receiverKey); return encryptCipher.doFinal(message); } @@ -151,9 +151,9 @@ class EncryptionUtilTest { @Test void testServerIdHash() throws Exception { - var serverId = ""; - var sharedSecret = generateSharedKey(); - var serverPK = ResourceLoader.loadClientKey("client_keys/valid_public_key.json").key(); + val serverId = ""; + val sharedSecret = generateSharedKey(); + val serverPK = ResourceLoader.loadClientKey("client_keys/valid_public_key.json").key(); String sessionHash = getServerHash(serverId, sharedSecret, serverPK); assertEquals(EncryptionUtil.getServerIdHashString(serverId, sharedSecret, serverPK), sessionHash); @@ -167,7 +167,7 @@ class EncryptionUtilTest { // sha1.update(server's encoded public key from Encryption Request) // hash := sha1.hexdigest() # String of hex characters @SuppressWarnings("deprecation") - var hasher = Hashing.sha1().newHasher(); + val hasher = Hashing.sha1().newHasher(); hasher.putString(serverId, StandardCharsets.US_ASCII); hasher.putBytes(sharedSecret.getEncoded()); hasher.putBytes(serverPK.getEncoded()); @@ -180,9 +180,9 @@ class EncryptionUtilTest { @Test void testServerIdHashWrongSecret() throws Exception { - var serverId = ""; - var sharedSecret = generateSharedKey(); - var serverPK = ResourceLoader.loadClientKey("client_keys/valid_public_key.json").key(); + val serverId = ""; + val sharedSecret = generateSharedKey(); + val serverPK = ResourceLoader.loadClientKey("client_keys/valid_public_key.json").key(); String sessionHash = getServerHash(serverId, sharedSecret, serverPK); assertNotEquals(EncryptionUtil.getServerIdHashString("", generateSharedKey(), serverPK), sessionHash); @@ -190,12 +190,12 @@ class EncryptionUtilTest { @Test void testServerIdHashWrongServerKey() { - var serverId = ""; - var sharedSecret = generateSharedKey(); - var serverPK = EncryptionUtil.generateKeyPair().getPublic(); + val serverId = ""; + val sharedSecret = generateSharedKey(); + val serverPK = EncryptionUtil.generateKeyPair().getPublic(); String sessionHash = getServerHash(serverId, sharedSecret, serverPK); - var wrongPK = EncryptionUtil.generateKeyPair().getPublic(); + val wrongPK = EncryptionUtil.generateKeyPair().getPublic(); assertNotEquals(EncryptionUtil.getServerIdHashString("", sharedSecret, wrongPK), sessionHash); } @@ -239,8 +239,8 @@ class EncryptionUtilTest { @Test void testNonce() throws Exception { byte[] expected = {1, 2, 3, 4}; - var serverKey = EncryptionUtil.generateKeyPair(); - var encryptedNonce = encrypt(serverKey.getPublic(), expected); + val serverKey = EncryptionUtil.generateKeyPair(); + val encryptedNonce = encrypt(serverKey.getPublic(), expected); assertTrue(EncryptionUtil.verifyNonce(expected, serverKey.getPrivate(), encryptedNonce)); } @@ -248,19 +248,19 @@ class EncryptionUtilTest { @Test void testNonceIncorrect() throws Exception { byte[] expected = {1, 2, 3, 4}; - var serverKey = EncryptionUtil.generateKeyPair(); + val serverKey = EncryptionUtil.generateKeyPair(); // flipped first character - var encryptedNonce = encrypt(serverKey.getPublic(), new byte[]{0, 2, 3, 4}); + val encryptedNonce = encrypt(serverKey.getPublic(), new byte[]{0, 2, 3, 4}); assertFalse(EncryptionUtil.verifyNonce(expected, serverKey.getPrivate(), encryptedNonce)); } @Test void testNonceFailedDecryption() throws Exception { byte[] expected = {1, 2, 3, 4}; - var serverKey = EncryptionUtil.generateKeyPair(); + val serverKey = EncryptionUtil.generateKeyPair(); // generate a new keypair that is different - var encryptedNonce = encrypt(EncryptionUtil.generateKeyPair().getPublic(), expected); + val encryptedNonce = encrypt(EncryptionUtil.generateKeyPair().getPublic(), expected); assertThrows(GeneralSecurityException.class, () -> EncryptionUtil.verifyNonce(expected, serverKey.getPrivate(), encryptedNonce) @@ -270,7 +270,7 @@ class EncryptionUtilTest { @Test void testNonceIncorrectEmpty() { byte[] expected = {1, 2, 3, 4}; - var serverKey = EncryptionUtil.generateKeyPair(); + val serverKey = EncryptionUtil.generateKeyPair(); byte[] encryptedNonce = {}; assertThrows(GeneralSecurityException.class, diff --git a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/SignatureTestData.java b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/SignatureTestData.java index 9a75fc56..01b734ea 100644 --- a/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/SignatureTestData.java +++ b/bukkit/src/test/java/com/github/games647/fastlogin/bukkit/listener/protocollib/SignatureTestData.java @@ -32,13 +32,13 @@ import com.google.gson.annotations.JsonAdapter; import java.io.IOException; import java.nio.charset.StandardCharsets; -import lombok.var; +import lombok.val; public class SignatureTestData { public static SignatureTestData fromResource(String resourceName) throws IOException { - var keyUrl = Resources.getResource(resourceName); - var encodedSignature = Resources.toString(keyUrl, StandardCharsets.US_ASCII); + val keyUrl = Resources.getResource(resourceName); + val encodedSignature = Resources.toString(keyUrl, StandardCharsets.US_ASCII); return new Gson().fromJson(encodedSignature, SignatureTestData.class); } diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java index 148282c4..c83c14d0 100644 --- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java +++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/FastLoginBungee.java @@ -57,6 +57,7 @@ import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.PendingConnection; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.Server; +import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.api.plugin.PluginManager; import net.md_5.bungee.api.scheduler.GroupedThreadFactory; @@ -100,7 +101,7 @@ public class FastLoginBungee extends Plugin implements PlatformPlugin