Skip to content

Commit c76b562

Browse files
authored
Remove log4j-patch (HMCL-dev#1860)
* Remove log4j-patch * Update I18N
1 parent 4c9f8d3 commit c76b562

File tree

16 files changed

+8
-380
lines changed

16 files changed

+8
-380
lines changed

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,19 @@ minecraft-exported-crash-info*
2020
/HMCLCore/build/
2121
/HMCLTransformerDiscoveryService/build/
2222
/minecraft/libraries/HMCLTransformerDiscoveryService/build/
23-
/minecraft/libraries/log4j-patch/build/
2423

2524
# idea
2625
.idea
2726
/out/
2827
/HMCL/out/
2928
/HMCLCore/out/
3029
/minecraft/libraries/HMCLTransformerDiscoveryService/out/
31-
/minecraft/libraries/log4j-patch/out/
3230

3331
# eclipse
3432
/bin/
3533
/HMCL/bin/
3634
/HMCLCore/bin/
3735
/minecraft/libraries/HMCLTransformerDiscoveryService/bin/
38-
/minecraft/libraries/log4j-patch/bin/
3936
.classpath
4037
.project
4138
.settings

HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java

-48
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import javafx.application.Platform;
2222
import javafx.stage.Stage;
2323
import org.jackhuang.hmcl.Launcher;
24-
import org.jackhuang.hmcl.Metadata;
2524
import org.jackhuang.hmcl.auth.*;
2625
import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorDownloadException;
2726
import org.jackhuang.hmcl.download.DefaultDependencyManager;
@@ -47,13 +46,9 @@
4746
import java.io.File;
4847
import java.io.FileNotFoundException;
4948
import java.io.IOException;
50-
import java.io.InputStream;
5149
import java.net.SocketTimeoutException;
5250
import java.net.URL;
5351
import java.nio.file.AccessDeniedException;
54-
import java.nio.file.Files;
55-
import java.nio.file.Path;
56-
import java.nio.file.StandardCopyOption;
5752
import java.util.*;
5853
import java.util.concurrent.CancellationException;
5954
import java.util.concurrent.CompletableFuture;
@@ -134,8 +129,6 @@ private void launch0() {
134129

135130
AtomicReference<JavaVersion> javaVersionRef = new AtomicReference<>();
136131

137-
getLog4jPatch(version.get()).ifPresent(javaAgents::add);
138-
139132
TaskExecutor executor = checkGameState(profile, setting, version.get())
140133
.thenComposeAsync(javaVersion -> {
141134
javaVersionRef.set(Objects.requireNonNull(javaVersion));
@@ -663,47 +656,6 @@ private static Task<AuthInfo> logIn(Account account) {
663656
});
664657
}
665658

666-
private static Optional<String> getLog4jPatch(Version version) {
667-
Optional<String> log4jVersion = version.getLibraries().stream()
668-
.filter(it -> it.is("org.apache.logging.log4j", "log4j-core")
669-
&& (VersionNumber.VERSION_COMPARATOR.compare(it.getVersion(), "2.17") < 0 || "2.0-beta9".equals(it.getVersion())))
670-
.map(Library::getVersion)
671-
.findFirst();
672-
673-
if (log4jVersion.isPresent()) {
674-
final String agentFileName = "log4j-patch-agent-1.0.jar";
675-
676-
Path agentFile = Metadata.HMCL_DIRECTORY.resolve(agentFileName).toAbsolutePath();
677-
String agentFilePath = agentFile.toString();
678-
if (agentFilePath.indexOf('=') >= 0) {
679-
LOG.warning("Invalid character '=' in the HMCL directory path, unable to attach log4j-patch");
680-
return Optional.empty();
681-
}
682-
683-
if (Files.notExists(agentFile)) {
684-
try (InputStream input = DefaultLauncher.class.getResourceAsStream("/assets/game/" + agentFileName)) {
685-
LOG.info("Extract log4j patch to " + agentFilePath);
686-
Files.createDirectories(agentFile.getParent());
687-
Files.copy(input, agentFile, StandardCopyOption.REPLACE_EXISTING);
688-
} catch (IOException e) {
689-
LOG.log(Level.WARNING, "Failed to extract log4j patch");
690-
try {
691-
Files.deleteIfExists(agentFile);
692-
} catch (IOException ex) {
693-
LOG.log(Level.WARNING, "Failed to delete incomplete log4j patch", ex);
694-
}
695-
return Optional.empty();
696-
}
697-
}
698-
699-
boolean isBeta = log4jVersion.get().startsWith("2.0-beta");
700-
return Optional.of(agentFilePath + "=" + isBeta);
701-
} else {
702-
LOG.info("No log4j with security vulnerabilities found");
703-
return Optional.empty();
704-
}
705-
}
706-
707659
private void checkExit() {
708660
switch (launcherVisibility) {
709661
case HIDE_AND_REOPEN:

HMCL/src/main/resources/assets/lang/I18N.properties

+1-2
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,7 @@ fatal.apply_update_failure=We are sorry, but Hello Minecraft\! Launcher is unabl
369369
You can update manually by downloading a newer version of the launcher from %s.\n\
370370
If the problem persists, please consider reporting this to us.
371371
fatal.samba=If you launched HMCL from a Samba network drive, some features might not be working. Please try updating your Java version or copy and run the launcher in a local folder.
372-
fatal.illegal_char=Your user path contains an illegal character '\=', so some features might not function properly.\n\
373-
For example, you will not be able to use authlib-injector or change the skin of your offline account. Besides, this may cause security issues during multiplayer.
372+
fatal.illegal_char=Your user path contains an illegal character '\=', you will not be able to use authlib-injector or change the skin of your offline account.
374373
fatal.unsupported_platform=Minecraft is not yet fully supported for your platform, so you may experience missing functionality, \nor even be unable to launch the game.\n\
375374
\n\
376375
If you can't start Minecraft 1.17 and above, you can try turning on the "Use OpenGL software renderer" option\n\

HMCL/src/main/resources/assets/lang/I18N_es.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ Usted puede actualizar manualmente mediante la descarga de una versión más rec
354354
Si el problema persiste, por favor considere reportarlo a nosotros.
355355
fatal.samba=Si ha iniciado HMCL desde una unidad de red Samba, es posible que algunas funciones no funcionen. Por favor, intente actualizar su versión de Java o copie y ejecute el launcher en una carpeta local.
356356
fatal.illegal_char=Su ruta de usuario contiene un carácter ilegal '\=', por lo que algunas características podrían no funcionar correctamente.\n\
357-
Por ejemplo, no podrá utilizar authlib-injector o cambiar el skin de su cuenta offline. Además, esto puede causar problemas de seguridad durante el multijugador.
357+
Por ejemplo, no podrá utilizar authlib-injector o cambiar el skin de su cuenta offline.
358358

359359
feedback=Comentarios
360360
feedback.add=Añadir un comentario

HMCL/src/main/resources/assets/lang/I18N_ja.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ fatal.config_loading_failure=構成にアクセスできません。\nHelloMinec
320320
fatal.migration_requires_manual_reboot=更新が完了しました。 Hello Minecraftを再開してください!ランチャー。
321321
fatal.apply_update_failure=ごめんなさい、Hello Minecraft! Launcher 何か問題が発生したため、ランチャーは更新を完了できませんでした。\nただし、Hello Minecraftをダウンロードすることで、手動で更新を終了できます。 %s からのランチャー。\nこの問題を報告することを検討してください。
322322
fatal.samba=If you are trying to run HMCL in a shared folder by Samba, HMCL may not working, please try updating your Java or running HMCL in a local folder.
323-
fatal.illegal_char=ユーザーフォルダーのパスに不正な文字'='が含まれています。hmclは動作しますが、一部の機能が正しく動作しません。 \nログインアカウントやオフラインログインではスキンの変更ができなくなり、多人数参加型ゲームをプレイする際のセキュリティリスクが高くなる可能性があります
323+
fatal.illegal_char=ユーザーフォルダーのパスに不正な文字'='が含まれています, ログインアカウントやオフラインログインではスキンの変更ができなくなり
324324

325325
feedback=フィードバック
326326
Feedback.add=フィードバックを追加

HMCL/src/main/resources/assets/lang/I18N_ru.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ fatal.config_loading_failure=Конфигурация недоступна.\nП
321321
fatal.migration_requires_manual_reboot=Обновление завершено. Перезапустите лаунчер.
322322
fatal.apply_update_failure=Мы сожалеем, лаунчер не смог завершить обновление, потому что что-то пошло не так.\nНо вы все ещё можете вручную завершить обновление, загрузив Hлаунчер с %s.\nВы можете сообщить нам об этой проблеме.
323323
fatal.samba=Если вы пытаетесь запустить лаунчер в общей папке Samba, он может не работать, попробуйте обновить Java или запустить лаунчер из локальной папки.
324-
fatal.illegal_char=Недопустимый символ '=' в пути к папке пользователя. Лаунчер может работать, но некоторые функции не будут работать.\nВы не сможете использовать аккаунт authlib-injector или изменить офлайн скин. Также в сетевой игре могут возникнуть большие риски для безопасности.
324+
fatal.illegal_char=Недопустимый символ '=' в пути к папке пользователя. Лаунчер может работать, но некоторые функции не будут работать.\nВы не сможете использовать аккаунт authlib-injector или изменить офлайн скин.
325325

326326
feedback=Обратная связь
327327
feedback.add=Добавить отзыв (на английском или китайском)

HMCL/src/main/resources/assets/lang/I18N_zh.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ fatal.config_loading_failure.unix=Hello Minecraft! Launcher 無法載入設定
337337
fatal.migration_requires_manual_reboot=Hello Minecraft! Launcher 即將升級完成,請重新開啟 Hello Minecraft! Launcher。
338338
fatal.apply_update_failure=我們很抱歉 Hello Minecraft! Launcher 無法自動完成升級程式,因為出現了一些問題。\n但你依然可以從 %s 處手動下載 Hello Minecraft! Launcher 來完成升級。\n請考慮向我們回報該問題。
339339
fatal.samba=如果您正在通過 Samba 共亯的資料夾中運行 HMCL,HMCL 可能無法正常工作,請嘗試更新您的 Java 或在本地資料夾內運行 HMCL。
340-
fatal.illegal_char=您的用戶資料夾路徑中存在非法字元‘=’。HMCL 能够運行,但一些功能無法正常使用。 \n您將無法使用外置登入帳戶以及離線登入更換皮膚功能,並且在進行多人遊戲時可能存在更大的安全隱患
340+
fatal.illegal_char=由於您的用戶資料夾路徑中存在非法字元‘=’,您將無法使用外置登入帳戶以及離線登入更換皮膚功能
341341
fatal.unsupported_platform=Minecraft 尚未你您的平臺提供完善支持,所以可能影響遊戲體驗或無法啟動遊戲。\n若無法啟動 Minecraft 1.17 及以上版本,可以嘗試在版本設定中打開“使用 OpenGL 軟渲染器”選項,使用 CPU 渲染以獲得更好的相容性。
342342
fatal.unsupported_platform.osx_arm64=HMCL 已為 Apple Silicon 平臺提供支援,使用 ARM 原生 Java 啟動遊戲以獲得更流暢的遊戲體驗。\n如果你在遊戲中遭遇問題,使用 x86-64 架構的 Java 啟動遊戲可能有更好的相容性。
343343
fatal.unsupported_platform.windows_arm64=HMCL 已為 Windows on Arm 平臺提供原生支持。如果你在遊戲中遭遇問題,請嘗試使用 x86 架構的 Java 啟動遊戲。\n\n如果你正在使用<b>高通</b>平臺,你可能需要安裝 <a href="ms-windows-store://pdp/?productid=9NQPSL29BFFF">OpenGL 相容包</a>後才能進行遊戲。點擊連結前往 Microsoft Store 安裝相容包。

HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ fatal.config_loading_failure.unix=Hello Minecraft! Launcher 无法加载配置
337337
fatal.migration_requires_manual_reboot=Hello Minecraft! Launcher 即将完成升级,请重新打开 Hello Minecraft! Launcher。
338338
fatal.apply_update_failure=我们很抱歉 Hello Minecraft! Launcher 无法自动完成升级,因为出现了一些问题……\n但你依可以从 %s 处手动下载 Hello Minecraft! Launcher 来完成升级\n请考虑向我们反馈该问题!
339339
fatal.samba=如果您正在通过 Samba 共享的文件夹中运行 HMCL,HMCL 可能无法正常工作,请尝试更新您的 Java 或在本地文件夹内运行 HMCL。
340-
fatal.illegal_char=您的用户文件夹路径中存在非法字符‘=’。HMCL 能够运行,但可能某些功能无法正常使用!\n你将无法使用外置登录账户以及离线登录更换皮肤功能,并且在进行多人游戏时可能存在更大的安全隐患!
340+
fatal.illegal_char=由于你的用户文件夹路径中存在非法字符‘=’,你将无法使用外置登录账户以及离线登录更换皮肤功能。
341341
fatal.unsupported_platform=Minecraft 尚未为您的平台提供完善支持,所以可能影响游戏体验或无法启动游戏。\n若无法启动 Minecraft 1.17 及以上版本,可以尝试在版本设置中打开“使用 OpenGL 软渲染器”选项,使用 CPU 渲染以获得更好的兼容性。
342342
fatal.unsupported_platform.osx_arm64=HMCL 已为 Apple Silicon 平台提供支持,使用 ARM 原生 Java 启动游戏以获得更流畅的游戏体验。\n如果你在游戏中遭遇问题,使用 x86-64 架构的 Java 启动游戏可能有更好的兼容性。
343343
fatal.unsupported_platform.windows_arm64=HMCL 已为 Windows on Arm 平台提供原生支持。如果你在游戏中遭遇问题,请尝试使用 x86 架构的 Java 启动游戏。\n\n如果你正在使用<b>高通</b>平台,你可能需要安装 <a href="ms-windows-store://pdp/?productid=9NQPSL29BFFF">OpenGL 兼容包</a>后才能进行游戏。点击链接前往 Microsoft Store 安装兼容包。

HMCLCore/build.gradle.kts

-8
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,3 @@ dependencies {
1717
api("org.apache.commons:commons-lang3:3.12.0")
1818
compileOnlyApi("org.jetbrains:annotations:16.0.3")
1919
}
20-
21-
tasks.processResources {
22-
dependsOn(":log4j-patch:jar")
23-
24-
into("assets/game") {
25-
from(project(":log4j-patch").file("build/libs"))
26-
}
27-
}

minecraft/libraries/log4j-patch/LICENSE

-13
This file was deleted.

minecraft/libraries/log4j-patch/README.md

-6
This file was deleted.

minecraft/libraries/log4j-patch/build.gradle.kts

-53
This file was deleted.

minecraft/libraries/log4j-patch/src/main/agent/org/glavo/log4j/patch/agent/Log4jAgent.java

-71
This file was deleted.

0 commit comments

Comments
 (0)