|
42 | 42 | import org.cloudburstmc.protocol.bedrock.codec.v748.serializer.InventoryContentSerializer_v748; |
43 | 43 | import org.cloudburstmc.protocol.bedrock.codec.v748.serializer.InventorySlotSerializer_v748; |
44 | 44 | import org.cloudburstmc.protocol.bedrock.codec.v776.serializer.BossEventSerializer_v776; |
45 | | -import org.cloudburstmc.protocol.bedrock.codec.v818.serializer.LoginSerializer_v818; |
46 | | -import org.cloudburstmc.protocol.bedrock.data.auth.AuthPayload; |
47 | | -import org.cloudburstmc.protocol.bedrock.data.auth.AuthType; |
48 | | -import org.cloudburstmc.protocol.bedrock.data.auth.CertificateChainPayload; |
49 | | -import org.cloudburstmc.protocol.bedrock.data.auth.TokenPayload; |
50 | 45 | import org.cloudburstmc.protocol.bedrock.packet.AnvilDamagePacket; |
51 | 46 | import org.cloudburstmc.protocol.bedrock.packet.BedrockPacket; |
52 | 47 | import org.cloudburstmc.protocol.bedrock.packet.BossEventPacket; |
|
64 | 59 | import org.cloudburstmc.protocol.bedrock.packet.InventoryContentPacket; |
65 | 60 | import org.cloudburstmc.protocol.bedrock.packet.InventorySlotPacket; |
66 | 61 | import org.cloudburstmc.protocol.bedrock.packet.LabTablePacket; |
67 | | -import org.cloudburstmc.protocol.bedrock.packet.LoginPacket; |
68 | 62 | import org.cloudburstmc.protocol.bedrock.packet.MapCreateLockedCopyPacket; |
69 | 63 | import org.cloudburstmc.protocol.bedrock.packet.MapInfoRequestPacket; |
70 | 64 | import org.cloudburstmc.protocol.bedrock.packet.MobArmorEquipmentPacket; |
|
89 | 83 | import org.cloudburstmc.protocol.bedrock.packet.SimpleEventPacket; |
90 | 84 | import org.cloudburstmc.protocol.bedrock.packet.SubChunkRequestPacket; |
91 | 85 | import org.cloudburstmc.protocol.bedrock.packet.SubClientLoginPacket; |
92 | | -import org.cloudburstmc.protocol.common.util.Preconditions; |
93 | 86 | import org.cloudburstmc.protocol.common.util.VarInts; |
94 | | -import org.jose4j.json.JsonUtil; |
95 | | -import org.jose4j.lang.JoseException; |
96 | | - |
97 | | -import java.util.List; |
98 | | -import java.util.Map; |
99 | 87 |
|
100 | 88 | /** |
101 | 89 | * Processes the Bedrock codec to remove or modify unused or unsafe packets and fields. |
@@ -254,38 +242,6 @@ public void deserialize(ByteBuf buffer, BedrockCodecHelper helper, MobEquipmentP |
254 | 242 | } |
255 | 243 | }; |
256 | 244 |
|
257 | | - private static final BedrockPacketSerializer<LoginPacket> LOGIN_PACKET_BEDROCK_PACKET_SERIALIZER = new LoginSerializer_v818() { |
258 | | - |
259 | | - @Override |
260 | | - protected AuthPayload readAuthJwt(String authJwt) { |
261 | | - try { |
262 | | - Map<String, Object> payload = JsonUtil.parseJson(authJwt); |
263 | | - Preconditions.checkArgument(payload.containsKey("AuthenticationType"), "Missing AuthenticationType in JWT"); |
264 | | - int authTypeOrdinal = ((Number)payload.get("AuthenticationType")).intValue(); |
265 | | - if (authTypeOrdinal >= 0 && authTypeOrdinal < AuthType.values().length - 1) { |
266 | | - AuthType authType = AuthType.values()[authTypeOrdinal + 1]; |
267 | | - if (payload.containsKey("Certificate") && payload.get("Certificate") instanceof String certJson && !certJson.isEmpty()) { |
268 | | - Map<String, Object> certData = JsonUtil.parseJson(certJson); |
269 | | - if (certData.containsKey("chain") && certData.get("chain") instanceof List) { |
270 | | - List<String> chain = (List)certData.get("chain"); |
271 | | - return new CertificateChainPayload(chain, authType); |
272 | | - } else { |
273 | | - throw new IllegalArgumentException("Invalid Certificate chain in JWT"); |
274 | | - } |
275 | | - } else if (payload.containsKey("Token") && payload.get("Token") instanceof String token && !token.isEmpty()) { |
276 | | - return new TokenPayload(token, authType); |
277 | | - } else { |
278 | | - throw new IllegalArgumentException("Invalid AuthPayload in JWT"); |
279 | | - } |
280 | | - } else { |
281 | | - throw new IllegalArgumentException("Invalid AuthenticationType ordinal: " + authTypeOrdinal); |
282 | | - } |
283 | | - } catch (JoseException e) { |
284 | | - throw new IllegalArgumentException("Failed to parse auth payload", e); |
285 | | - } |
286 | | - } |
287 | | - }; |
288 | | - |
289 | 245 | @SuppressWarnings("unchecked") |
290 | 246 | static BedrockCodec processCodec(BedrockCodec codec) { |
291 | 247 | BedrockPacketSerializer<BossEventPacket> bossEventSerializer; |
@@ -349,11 +305,6 @@ static BedrockCodec processCodec(BedrockCodec codec) { |
349 | 305 | .updateSerializer(PlayerInputPacket.class, ILLEGAL_SERIALIZER); |
350 | 306 | } |
351 | 307 |
|
352 | | - // TODO remove once global api is updated |
353 | | - if (codec.getProtocolVersion() >= 818) { |
354 | | - codecBuilder.updateSerializer(LoginPacket.class, LOGIN_PACKET_BEDROCK_PACKET_SERIALIZER); |
355 | | - } |
356 | | - |
357 | 308 | if (!Boolean.getBoolean("Geyser.ReceiptPackets")) { |
358 | 309 | codecBuilder.updateSerializer(RefreshEntitlementsPacket.class, IGNORED_SERIALIZER); |
359 | 310 | codecBuilder.updateSerializer(PurchaseReceiptPacket.class, IGNORED_SERIALIZER); |
|
0 commit comments