Fix up-to-date checks for ValidateAccessWidenerTask (#565)
* Apply mitigation's against Log4J2 exploit CVE-2021-44228. * Only warn when the yarn version does not match the minecraft version. Should allow yarn versions to be used across mc versions when needed. * Fix up-to-date checks for ValidateAccessWidenerTask Co-authored-by: modmuss50 <modmuss50@gmail.com>
This commit is contained in:
parent
2752b61cb7
commit
005d180e0c
4 changed files with 11 additions and 7 deletions
|
@ -60,6 +60,7 @@ public class LaunchProvider extends DependencyProvider {
|
||||||
.property("fabric.development", "true")
|
.property("fabric.development", "true")
|
||||||
.property("fabric.remapClasspathFile", getRemapClasspathFile().getAbsolutePath())
|
.property("fabric.remapClasspathFile", getRemapClasspathFile().getAbsolutePath())
|
||||||
.property("log4j.configurationFile", getAllLog4JConfigFiles())
|
.property("log4j.configurationFile", getAllLog4JConfigFiles())
|
||||||
|
.property("log4j2.formatMsgNoLookups", "true")
|
||||||
|
|
||||||
.property("client", "java.library.path", nativesPath)
|
.property("client", "java.library.path", nativesPath)
|
||||||
.property("client", "org.lwjgl.librarypath", nativesPath)
|
.property("client", "org.lwjgl.librarypath", nativesPath)
|
||||||
|
|
|
@ -196,7 +196,7 @@ public class MappingsProviderImpl extends DependencyProvider implements Mappings
|
||||||
String yarnMinecraftVersion = yarnVersion.substring(0, yarnVersion.lastIndexOf(separator));
|
String yarnMinecraftVersion = yarnVersion.substring(0, yarnVersion.lastIndexOf(separator));
|
||||||
|
|
||||||
if (!yarnMinecraftVersion.equalsIgnoreCase(minecraftVersion)) {
|
if (!yarnMinecraftVersion.equalsIgnoreCase(minecraftVersion)) {
|
||||||
throw new RuntimeException(String.format("Minecraft Version (%s) does not match yarn's minecraft version (%s)", minecraftVersion, yarnMinecraftVersion));
|
getProject().getLogger().warn("Minecraft Version ({}) does not match yarn's minecraft version ({})", minecraftVersion, yarnMinecraftVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We can save reading the zip file + header by checking the file name
|
// We can save reading the zip file + header by checking the file name
|
||||||
|
|
|
@ -59,6 +59,9 @@ public abstract class ValidateAccessWidenerTask extends DefaultTask {
|
||||||
|
|
||||||
getAccessWidener().convention(extension.getAccessWidenerPath()).finalizeValueOnRead();
|
getAccessWidener().convention(extension.getAccessWidenerPath()).finalizeValueOnRead();
|
||||||
getTargetJar().convention(getProject().getObjects().fileProperty().fileValue(extension.getMinecraftMappedProvider().getMappedJar())).finalizeValueOnRead();
|
getTargetJar().convention(getProject().getObjects().fileProperty().fileValue(extension.getMinecraftMappedProvider().getMappedJar())).finalizeValueOnRead();
|
||||||
|
|
||||||
|
// Ignore outputs for up-to-date checks as there aren't any (so only inputs are checked)
|
||||||
|
getOutputs().upToDateWhen(task -> true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<PatternLayout>
|
<PatternLayout>
|
||||||
<LoggerNamePatternSelector defaultPattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(%logger{1})}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}" disableAnsi="${sys:fabric.log.disableAnsi:-true}">
|
<LoggerNamePatternSelector defaultPattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(%logger{1})}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}" disableAnsi="${sys:fabric.log.disableAnsi:-true}">
|
||||||
<!-- Dont show the logger name for minecraft classes-->
|
<!-- Dont show the logger name for minecraft classes-->
|
||||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(Minecraft)}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}"/>
|
<PatternMatch key="net.minecraft.,com.mojang." pattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(Minecraft)}{cyan} %highlight{%msg{nolookups}%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}"/>
|
||||||
</LoggerNamePatternSelector>
|
</LoggerNamePatternSelector>
|
||||||
</PatternLayout>
|
</PatternLayout>
|
||||||
</Console>
|
</Console>
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
<!-- Vanilla server gui -->
|
<!-- Vanilla server gui -->
|
||||||
<Queue name="ServerGuiConsole" ignoreExceptions="true">
|
<Queue name="ServerGuiConsole" ignoreExceptions="true">
|
||||||
<PatternLayout>
|
<PatternLayout>
|
||||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss} %level] (%logger{1}) %msg%n">
|
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss} %level] (%logger{1}) %msg{nolookups}%n">
|
||||||
<!-- Dont show the logger name for minecraft classes-->
|
<!-- Dont show the logger name for minecraft classes-->
|
||||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss} %level] %msg%n"/>
|
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss} %level] %msg{nolookups}%n"/>
|
||||||
</LoggerNamePatternSelector>
|
</LoggerNamePatternSelector>
|
||||||
</PatternLayout>
|
</PatternLayout>
|
||||||
</Queue>
|
</Queue>
|
||||||
|
@ -25,9 +25,9 @@
|
||||||
<!-- latest.log same as vanilla -->
|
<!-- latest.log same as vanilla -->
|
||||||
<RollingRandomAccessFile name="LatestFile" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
|
<RollingRandomAccessFile name="LatestFile" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
|
||||||
<PatternLayout>
|
<PatternLayout>
|
||||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] (%logger{1}) %msg%n">
|
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] (%logger{1}) %msg{nolookups}%n">
|
||||||
<!-- Dont show the logger name for minecraft classes-->
|
<!-- Dont show the logger name for minecraft classes-->
|
||||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] (Minecraft) %msg%n"/>
|
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] (Minecraft) %msg{nolookups}%n"/>
|
||||||
</LoggerNamePatternSelector>
|
</LoggerNamePatternSelector>
|
||||||
</PatternLayout>
|
</PatternLayout>
|
||||||
<Policies>
|
<Policies>
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
<!-- Debug log file -->
|
<!-- Debug log file -->
|
||||||
<RollingRandomAccessFile name="DebugFile" fileName="logs/debug.log" filePattern="logs/debug-%i.log.gz">
|
<RollingRandomAccessFile name="DebugFile" fileName="logs/debug.log" filePattern="logs/debug-%i.log.gz">
|
||||||
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] (%logger) %msg%n" />
|
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] (%logger) %msg{nolookups}%n" />
|
||||||
|
|
||||||
<!-- Keep 5 files max -->
|
<!-- Keep 5 files max -->
|
||||||
<DefaultRolloverStrategy max="5" fileIndex="min"/>
|
<DefaultRolloverStrategy max="5" fileIndex="min"/>
|
||||||
|
|
Loading…
Reference in a new issue