mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-07 04:18:09 +02:00
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Developers!: You will need to clean up your work/Minecraft/1.13.2 folder for this Also, restore a patch that was dropped in the last upstream Bukkit Changes: 279eeab3 Fix command description not being set 96e2bb18 Remove debug print from SyntheticEventTest CraftBukkit Changes:d3ed1516
Fix dangerously threaded beacons217a293d
Don't relocate joptsimple to allow --help to work.1be05a21
Prepare for imminent Java 12 releasea49270b2
Mappings Update5259d80c
SPIGOT-4669: Fix PlayerTeleportEvent coordinates for relative teleports Spigot Changes: e6eb36f2 Rebuild patches
62 lines
2.9 KiB
Diff
62 lines
2.9 KiB
Diff
From e2b577bd48746070ebc879711993cb290b1dd3d8 Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
|
Date: Sat, 13 May 2017 20:11:21 -0500
|
|
Subject: [PATCH] Add system property to disable book size limits
|
|
|
|
If anyone comes in with a watchdog crash related to books after this patch
|
|
you will not only be publicly shamed but also made an example of.
|
|
|
|
Disables the security limits on books entirely, allowing plugins AND players
|
|
to make books with as much data as they want. Do not use this without
|
|
limiting incoming data from packets in some other way.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
|
index a23ec1461..20cddd506 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
|
@@ -40,6 +40,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
|
static final int MAX_PAGES = 50;
|
|
static final int MAX_PAGE_LENGTH = 320; // 256 limit + 64 characters to allow for psuedo colour codes
|
|
static final int MAX_TITLE_LENGTH = 32;
|
|
+ private static final boolean OVERRIDE_CHECKS = Boolean.getBoolean("disable.book-limits"); // Paper - Add override
|
|
|
|
protected String title;
|
|
protected String author;
|
|
@@ -196,7 +197,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
|
if (title == null) {
|
|
this.title = null;
|
|
return true;
|
|
- } else if (title.length() > MAX_TITLE_LENGTH) {
|
|
+ } else if (title.length() > MAX_TITLE_LENGTH && !OVERRIDE_CHECKS) { // Paper - Add override
|
|
return false;
|
|
}
|
|
|
|
@@ -232,7 +233,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
|
throw new IllegalArgumentException("Invalid page number " + page + "/" + pages.size());
|
|
}
|
|
|
|
- String newText = text == null ? "" : text.length() > MAX_PAGE_LENGTH ? text.substring(0, MAX_PAGE_LENGTH) : text;
|
|
+ String newText = text == null ? "" : text.length() > MAX_PAGE_LENGTH && !OVERRIDE_CHECKS ? text.substring(0, MAX_PAGE_LENGTH) : text;
|
|
pages.set(page - 1, CraftChatMessage.fromString(newText, true)[0]);
|
|
}
|
|
|
|
@@ -244,13 +245,13 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
|
|
|
public void addPage(final String... pages) {
|
|
for (String page : pages) {
|
|
- if (this.pages.size() >= MAX_PAGES) {
|
|
+ if (this.pages.size() >= MAX_PAGES && !OVERRIDE_CHECKS) {
|
|
return;
|
|
}
|
|
|
|
if (page == null) {
|
|
page = "";
|
|
- } else if (page.length() > MAX_PAGE_LENGTH) {
|
|
+ } else if (page.length() > MAX_PAGE_LENGTH && !OVERRIDE_CHECKS) { // Paper - Add override
|
|
page = page.substring(0, MAX_PAGE_LENGTH);
|
|
}
|
|
|
|
--
|
|
2.21.0
|
|
|