diff --git a/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml new file mode 100644 index 000000000..50acaa6dd --- /dev/null +++ b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml new file mode 100644 index 000000000..e26bcee59 --- /dev/null +++ b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 4d964432e..b72d91682 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -337,6 +337,8 @@ public class PojavLoginActivity extends BaseActivity { try { new CustomControls(this).save(Tools.CTRLDEF_FILE); + Tools.copyAssetFile(this, "components/security/log4j-rce-patch-1.7.xml", Tools.DIR_DATA, true); + Tools.copyAssetFile(this, "components/security/log4j-rce-patch-1.12.xml", Tools.DIR_DATA, true); Tools.copyAssetFile(this, "components/security/pro-grade.jar", Tools.DIR_DATA, true); Tools.copyAssetFile(this, "components/security/java_sandbox.policy", Tools.DIR_DATA, true); Tools.copyAssetFile(this, "options.txt", Tools.DIR_GAME_NEW, false); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index 40fbf04f9..e16ed1f4f 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -163,7 +163,11 @@ public final class Tools { */ if (versionInfo.logging != null) { - javaArgList.add("-Dlog4j.configurationFile=" + Tools.DIR_GAME_NEW + "/" + versionInfo.logging.client.file.id); + String configFile = Tools.DIR_DATA + "/" + versionInfo.logging.client.file.id.replace("client", "log4j-rce-patch"); + if (!new File(configFile).exists()) { + configFile = Tools.DIR_GAME_NEW + "/" + versionInfo.logging.client.file.id; + } + javaArgList.add("-Dlog4j.configurationFile=" + configFile); } javaArgList.addAll(Arrays.asList(getMinecraftJVMArgs(versionName, gamedirPath))); javaArgList.add("-cp"); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java index 2551aa99b..4b593cfd3 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java @@ -136,8 +136,12 @@ public class MinecraftDownloaderTask extends AsyncTask