3
0
Mirror von https://github.com/ViaVersion/ViaBackwards.git synchronisiert 2024-10-03 00:50:05 +02:00

Limit number of book pages in 1.17->1.17.1

Dieser Commit ist enthalten in:
KennyTV 2021-06-29 19:19:02 +02:00
Ursprung 77a5b2212b
Commit a654becac8
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 6BE3B555EBC5982B
3 geänderte Dateien mit 13 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -5,7 +5,7 @@ plugins {
allprojects {
group = "com.viaversion"
version = "4.0.1-1.17.1-pre1-SNAPSHOT"
version = "4.0.1-1.17.1-pre2-SNAPSHOT"
description = "Allow older clients to join newer server versions."
}

Datei anzeigen

@ -34,6 +34,7 @@ public final class Protocol1_17To1_17_1 extends BackwardsProtocol<ClientboundPac
private static final int MAX_PAGE_LENGTH = 8192;
private static final int MAX_TITLE_LENGTH = 128;
private static final int MAX_PAGES = 200; // Actually limited to 100 when handling the read packet, but /shrug
public Protocol1_17To1_17_1() {
super(ClientboundPackets1_17.class, ClientboundPackets1_17.class, ServerboundPackets1_17.class, ServerboundPackets1_17.class);
@ -108,6 +109,7 @@ public final class Protocol1_17To1_17_1 extends BackwardsProtocol<ClientboundPac
CompoundTag tag = item.tag();
ListTag pagesTag;
StringTag titleTag = null;
// Sanity checks
if (tag == null || (pagesTag = tag.get("pages")) == null
|| (signing && (titleTag = tag.get("title")) == null)) {
wrapper.write(Type.VAR_INT, 0); // Pages length
@ -115,13 +117,19 @@ public final class Protocol1_17To1_17_1 extends BackwardsProtocol<ClientboundPac
return;
}
// Write pages
// Write pages - limit them first
if (pagesTag.size() > MAX_PAGES) {
pagesTag = new ListTag(pagesTag.getValue().subList(0, MAX_PAGES));
}
wrapper.write(Type.VAR_INT, pagesTag.size());
for (Tag pageTag : pagesTag) {
String page = ((StringTag) pageTag).getValue();
// Limit page length
if (page.length() > MAX_PAGE_LENGTH) {
page = page.substring(0, MAX_PAGE_LENGTH);
}
wrapper.write(Type.STRING, page);
}
@ -132,10 +140,12 @@ public final class Protocol1_17To1_17_1 extends BackwardsProtocol<ClientboundPac
titleTag = tag.get("title");
}
// Limit title length
String title = titleTag.getValue();
if (title.length() > MAX_TITLE_LENGTH) {
title = title.substring(0, MAX_TITLE_LENGTH);
}
wrapper.write(Type.STRING, title);
}
});

Datei anzeigen

@ -3,7 +3,7 @@ metadata.format.version = "1.0"
[versions]
# ViaVersion
viaver = "4.0.1-1.17.1-pre1-SNAPSHOT"
viaver = "4.0.1-1.17.1-pre2-SNAPSHOT"
# Common provided
netty = "4.0.20.Final"