From 42267870c290d2c74b0debdbf1e931f5b808777a Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 22 Jan 2023 03:47:06 -0800 Subject: [PATCH] add a reasonable connection timeout to spark download, mitigates #1249 --- patches/server/0268-Spark-Profiler.patch | 14 ++++++++++---- patches/server/0282-Debug-Marker-API.patch | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/patches/server/0268-Spark-Profiler.patch b/patches/server/0268-Spark-Profiler.patch index 6a1f4977f..2ff80ed89 100644 --- a/patches/server/0268-Spark-Profiler.patch +++ b/patches/server/0268-Spark-Profiler.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Spark Profiler diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cd17d6d6b871214d84d393fc9ebcc3dccff6da50..d0a8fe4b3827a789866371f8756138376124302d 100644 +index cd17d6d6b871214d84d393fc9ebcc3dccff6da50..4612962d46b2c39f4fd8afd3953eba7b2b807625 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -433,7 +433,38 @@ public final class CraftServer implements Server { +@@ -433,7 +433,44 @@ public final class CraftServer implements Server { if (!pluginFolder.exists()) { pluginFolder.mkdirs(); } @@ -24,7 +24,10 @@ index cd17d6d6b871214d84d393fc9ebcc3dccff6da50..d0a8fe4b3827a789866371f875613837 + if (file.exists()) { + String fileSha1 = String.format("%040x", new java.math.BigInteger(1, java.security.MessageDigest.getInstance("SHA-1").digest(java.nio.file.Files.readAllBytes(file.toPath())))); + String sparkSha1; -+ try (java.io.BufferedReader reader = new java.io.BufferedReader(new InputStreamReader(new java.net.URL("https://sparkapi.lucko.me/download/bukkit/sha1").openStream()))) { ++ java.net.URLConnection urlConnection = new java.net.URL("https://sparkapi.lucko.me/download/bukkit/sha1").openConnection(); ++ urlConnection.setReadTimeout(5000); ++ urlConnection.setConnectTimeout(5000); ++ try (java.io.BufferedReader reader = new java.io.BufferedReader(new InputStreamReader(urlConnection.getInputStream()))) { + sparkSha1 = reader.lines().collect(Collectors.joining("")); + } + @@ -34,7 +37,10 @@ index cd17d6d6b871214d84d393fc9ebcc3dccff6da50..d0a8fe4b3827a789866371f875613837 + } + + if (shouldDownload) { -+ java.nio.file.Files.copy(new java.net.URL("https://sparkapi.lucko.me/download/bukkit").openStream(), file.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING); ++ java.net.URLConnection urlConnection = new java.net.URL("https://sparkapi.lucko.me/download/bukkit").openConnection(); ++ urlConnection.setReadTimeout(5000); ++ urlConnection.setConnectTimeout(5000); ++ java.nio.file.Files.copy(urlConnection.getInputStream(), file.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } + + extraJars.add(file); diff --git a/patches/server/0282-Debug-Marker-API.patch b/patches/server/0282-Debug-Marker-API.patch index 90ff2540e..8c3f6a2ed 100644 --- a/patches/server/0282-Debug-Marker-API.patch +++ b/patches/server/0282-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d0a8fe4b3827a789866371f8756138376124302d..7f5010ef364705f05b304923ce6da4582d7de81e 100644 +index 4612962d46b2c39f4fd8afd3953eba7b2b807625..0f0a1c1730cdcddc05b0d04411d79c54741a6b45 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1495,6 +1495,42 @@ public final class CraftServer implements Server { +@@ -1501,6 +1501,42 @@ public final class CraftServer implements Server { public void removeFuel(org.bukkit.Material material) { net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); }