Don't escape percent

This commit is contained in:
JoannaaKL
2023-10-31 13:48:35 +00:00
committed by GitHub
parent ae6eddbea9
commit 2b7faad20d
3 changed files with 10 additions and 4 deletions

View File

@@ -16,11 +16,17 @@ namespace GitHub.Runner.Common
new StringEscapingUtil.EscapeMapping(token: "%", replacement: "%25"),
};
private static readonly StringEscapingUtil.EscapeMapping[] _commandDataEscapeMappings = new[]
{
new StringEscapingUtil.EscapeMapping(token: "\r", replacement: "%0D"),
new StringEscapingUtil.EscapeMapping(token: "\n", replacement: "%0A"),
};
private static readonly StringEscapingUtil.EscapeMapping[] _escapeDataMappings = new[]
{
new StringEscapingUtil.EscapeMapping(token: "\r", replacement: "%0D"),
new StringEscapingUtil.EscapeMapping(token: "\n", replacement: "%0A"),
new StringEscapingUtil.EscapeMapping(token: "%", replacement: "%25"),
// new StringEscapingUtil.EscapeMapping(token: "%", replacement: "%25"),
};
private static readonly StringEscapingUtil.EscapeMapping[] _escapePropertyMappings = new[]
@@ -109,7 +115,7 @@ namespace GitHub.Runner.Common
}
}
command.Data = StringEscapingUtil.UnescapeString(message.Substring(endIndex + _commandKey.Length), _escapeDataMappings);
command.Data = StringEscapingUtil.UnescapeString(message.Substring(endIndex + _commandKey.Length), _commandDataEscapeMappings);
return true;
}
catch

View File

@@ -139,7 +139,7 @@ namespace GitHub.Runner.Common.Tests.Worker
message = "::do-something k1=;=%252C=%250D=%250A=]=%253A,::;-%250D-%250A-]-:-,";
test = new ActionCommand("do-something")
{
Data = ";-%0D-%0A-]-:-,",
Data = ";-%250D-%250A-]-:-,",
};
test.Properties.Add("k1", ";=%2C=%0D=%0A=]=%3A");
Assert.True(ActionCommand.TryParseV2(message, commands, out verify));

View File

@@ -454,7 +454,7 @@ namespace GitHub.Runner.Common.Tests.Worker
_commandManager.TryProcessCommand(_ec.Object, $"::add-mask::%252F%2F", null);
// Assert
Assert.Equal("***", hc.SecretMasker.MaskSecrets("%2F%2F"));
Assert.Equal("***", hc.SecretMasker.MaskSecrets("%252F%2F"));
}
}