From b7e5f63672a42a4ce519d6adb075b39308e40c46 Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Fri, 21 Nov 2025 18:22:51 +0100 Subject: [PATCH] Use new auth payload --- .../geyser/network/CodecProcessor.java | 49 ------------------- 1 file changed, 49 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/network/CodecProcessor.java b/core/src/main/java/org/geysermc/geyser/network/CodecProcessor.java index 252657569..7f308da2e 100644 --- a/core/src/main/java/org/geysermc/geyser/network/CodecProcessor.java +++ b/core/src/main/java/org/geysermc/geyser/network/CodecProcessor.java @@ -42,11 +42,6 @@ import org.cloudburstmc.protocol.bedrock.codec.v712.serializer.MobArmorEquipment import org.cloudburstmc.protocol.bedrock.codec.v748.serializer.InventoryContentSerializer_v748; import org.cloudburstmc.protocol.bedrock.codec.v748.serializer.InventorySlotSerializer_v748; import org.cloudburstmc.protocol.bedrock.codec.v776.serializer.BossEventSerializer_v776; -import org.cloudburstmc.protocol.bedrock.codec.v818.serializer.LoginSerializer_v818; -import org.cloudburstmc.protocol.bedrock.data.auth.AuthPayload; -import org.cloudburstmc.protocol.bedrock.data.auth.AuthType; -import org.cloudburstmc.protocol.bedrock.data.auth.CertificateChainPayload; -import org.cloudburstmc.protocol.bedrock.data.auth.TokenPayload; import org.cloudburstmc.protocol.bedrock.packet.AnvilDamagePacket; import org.cloudburstmc.protocol.bedrock.packet.BedrockPacket; import org.cloudburstmc.protocol.bedrock.packet.BossEventPacket; @@ -64,7 +59,6 @@ import org.cloudburstmc.protocol.bedrock.packet.GameTestRequestPacket; import org.cloudburstmc.protocol.bedrock.packet.InventoryContentPacket; import org.cloudburstmc.protocol.bedrock.packet.InventorySlotPacket; import org.cloudburstmc.protocol.bedrock.packet.LabTablePacket; -import org.cloudburstmc.protocol.bedrock.packet.LoginPacket; import org.cloudburstmc.protocol.bedrock.packet.MapCreateLockedCopyPacket; import org.cloudburstmc.protocol.bedrock.packet.MapInfoRequestPacket; import org.cloudburstmc.protocol.bedrock.packet.MobArmorEquipmentPacket; @@ -89,13 +83,7 @@ import org.cloudburstmc.protocol.bedrock.packet.SettingsCommandPacket; import org.cloudburstmc.protocol.bedrock.packet.SimpleEventPacket; import org.cloudburstmc.protocol.bedrock.packet.SubChunkRequestPacket; import org.cloudburstmc.protocol.bedrock.packet.SubClientLoginPacket; -import org.cloudburstmc.protocol.common.util.Preconditions; import org.cloudburstmc.protocol.common.util.VarInts; -import org.jose4j.json.JsonUtil; -import org.jose4j.lang.JoseException; - -import java.util.List; -import java.util.Map; /** * Processes the Bedrock codec to remove or modify unused or unsafe packets and fields. @@ -254,38 +242,6 @@ class CodecProcessor { } }; - private static final BedrockPacketSerializer LOGIN_PACKET_BEDROCK_PACKET_SERIALIZER = new LoginSerializer_v818() { - - @Override - protected AuthPayload readAuthJwt(String authJwt) { - try { - Map payload = JsonUtil.parseJson(authJwt); - Preconditions.checkArgument(payload.containsKey("AuthenticationType"), "Missing AuthenticationType in JWT"); - int authTypeOrdinal = ((Number)payload.get("AuthenticationType")).intValue(); - if (authTypeOrdinal >= 0 && authTypeOrdinal < AuthType.values().length - 1) { - AuthType authType = AuthType.values()[authTypeOrdinal + 1]; - if (payload.containsKey("Certificate") && payload.get("Certificate") instanceof String certJson && !certJson.isEmpty()) { - Map certData = JsonUtil.parseJson(certJson); - if (certData.containsKey("chain") && certData.get("chain") instanceof List) { - List chain = (List)certData.get("chain"); - return new CertificateChainPayload(chain, authType); - } else { - throw new IllegalArgumentException("Invalid Certificate chain in JWT"); - } - } else if (payload.containsKey("Token") && payload.get("Token") instanceof String token && !token.isEmpty()) { - return new TokenPayload(token, authType); - } else { - throw new IllegalArgumentException("Invalid AuthPayload in JWT"); - } - } else { - throw new IllegalArgumentException("Invalid AuthenticationType ordinal: " + authTypeOrdinal); - } - } catch (JoseException e) { - throw new IllegalArgumentException("Failed to parse auth payload", e); - } - } - }; - @SuppressWarnings("unchecked") static BedrockCodec processCodec(BedrockCodec codec) { BedrockPacketSerializer bossEventSerializer; @@ -349,11 +305,6 @@ class CodecProcessor { .updateSerializer(PlayerInputPacket.class, ILLEGAL_SERIALIZER); } - // TODO remove once global api is updated - if (codec.getProtocolVersion() >= 818) { - codecBuilder.updateSerializer(LoginPacket.class, LOGIN_PACKET_BEDROCK_PACKET_SERIALIZER); - } - if (!Boolean.getBoolean("Geyser.ReceiptPackets")) { codecBuilder.updateSerializer(RefreshEntitlementsPacket.class, IGNORED_SERIALIZER); codecBuilder.updateSerializer(PurchaseReceiptPacket.class, IGNORED_SERIALIZER);