Skip to content

Commit 3329d5d

Browse files
authored
Encode log recorder name when redirecting (#26331)
* [JENKINS-26318] Encode log recorder redirect name * [JENKINS-26318] Fix import order in test
1 parent 940f22a commit 3329d5d

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

core/src/main/java/hudson/logging/LogRecorderManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public HttpResponse doNewLogRecorder(@QueryParameter String name) {
173173
recorders.add(new LogRecorder(name));
174174

175175
// redirect to the config screen
176-
return new HttpRedirect(name + "/configure");
176+
return new HttpRedirect(Util.rawEncode(name) + "/configure");
177177
}
178178

179179
@Restricted(NoExternalUse.class)

test/src/test/java/hudson/logging/LogRecorderManagerTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import static org.junit.jupiter.api.Assertions.assertThrows;
3636
import static org.junit.jupiter.api.Assertions.assertTrue;
3737

38+
import hudson.Util;
3839
import hudson.XmlFile;
3940
import hudson.model.Computer;
4041
import hudson.model.Saveable;
@@ -130,6 +131,19 @@ void logRecorderCheckName() {
130131
assertEquals(FormValidation.ok(), testRecorder.doCheckName("a", Level.OFF.getName()));
131132
}
132133

134+
@Test
135+
void createLogRecorderWithNonAsciiName() throws Exception {
136+
String name = "Journal d’accès";
137+
138+
HtmlPage page = j.createWebClient().goTo("log/new");
139+
HtmlForm form = page.getFormByName("configSubmit");
140+
form.getInputByName("name").setValueAttribute(name);
141+
j.submit(form);
142+
143+
assertNotNull(j.jenkins.getLog().getLogRecorder(name));
144+
j.createWebClient().goTo("log/" + Util.rawEncode(name) + "/configure");
145+
}
146+
133147
@Issue({"JENKINS-18274", "JENKINS-63458"})
134148
@Test
135149
void loggingOnSlaves() throws Exception {

0 commit comments

Comments
 (0)