Skip to content

Commit 7bbeba4

Browse files
authored
Set Locale.ROOT when use String.toLowerCase (#9215)
(cherry picked from commit aa7ac0b)
1 parent 179ac7a commit 7bbeba4

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

core/src/main/java/hudson/PluginManager.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1435,13 +1435,13 @@ public HttpResponse doPluginsSearch(@QueryParameter String query, @QueryParamete
14351435
if (query == null || query.isBlank()) {
14361436
return true;
14371437
}
1438-
return (plugin.name != null && plugin.name.toLowerCase().contains(query.toLowerCase())) ||
1439-
(plugin.title != null && plugin.title.toLowerCase().contains(query.toLowerCase())) ||
1440-
(plugin.excerpt != null && plugin.excerpt.toLowerCase().contains(query.toLowerCase())) ||
1438+
return (plugin.name != null && plugin.name.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||
1439+
(plugin.title != null && plugin.title.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||
1440+
(plugin.excerpt != null && plugin.excerpt.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||
14411441
plugin.hasCategory(query) ||
14421442
plugin.getCategoriesStream()
14431443
.map(UpdateCenter::getCategoryDisplayName)
1444-
.anyMatch(category -> category != null && category.toLowerCase().contains(query.toLowerCase())) ||
1444+
.anyMatch(category -> category != null && category.toLowerCase(Locale.ROOT).contains(query.toLowerCase(Locale.ROOT))) ||
14451445
plugin.hasWarnings() && query.equalsIgnoreCase("warning:");
14461446
})
14471447
.limit(Math.max(limit - plugins.size(), 1))

core/src/main/java/hudson/model/AutoCompletionCandidates.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.ArrayList;
3333
import java.util.Arrays;
3434
import java.util.List;
35+
import java.util.Locale;
3536
import javax.servlet.ServletException;
3637
import jenkins.model.Jenkins;
3738
import org.kohsuke.stapler.HttpResponse;
@@ -172,6 +173,6 @@ private String contextualNameOf(Item i) {
172173
}
173174

174175
private static boolean startsWithImpl(String str, String prefix, boolean ignoreCase) {
175-
return ignoreCase ? str.toLowerCase().startsWith(prefix.toLowerCase()) : str.startsWith(prefix);
176+
return ignoreCase ? str.toLowerCase(Locale.ROOT).startsWith(prefix.toLowerCase(Locale.ROOT)) : str.startsWith(prefix);
176177
}
177178
}

core/src/main/java/hudson/search/FixedSet.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.Arrays;
2828
import java.util.Collection;
2929
import java.util.List;
30+
import java.util.Locale;
3031

3132
/**
3233
* Set of {@link SearchItem}s that are statically known upfront.
@@ -61,7 +62,7 @@ public void suggest(String token, List<SearchItem> result) {
6162
boolean caseInsensitive = UserSearchProperty.isCaseInsensitive();
6263
for (SearchItem i : items) {
6364
String name = i.getSearchName();
64-
if (name != null && (name.contains(token) || (caseInsensitive && name.toLowerCase().contains(token.toLowerCase())))) {
65+
if (name != null && (name.contains(token) || (caseInsensitive && name.toLowerCase(Locale.ROOT).contains(token.toLowerCase(Locale.ROOT))))) {
6566
result.add(i);
6667
}
6768
}

core/src/main/java/jenkins/security/BasicHeaderProcessor.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import hudson.util.Scrambler;
1010
import java.io.IOException;
1111
import java.util.List;
12+
import java.util.Locale;
1213
import java.util.logging.Logger;
1314
import javax.servlet.Filter;
1415
import javax.servlet.FilterChain;
@@ -64,7 +65,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
6465
HttpServletResponse rsp = (HttpServletResponse) response;
6566
String authorization = req.getHeader("Authorization");
6667

67-
if (authorization != null && authorization.toLowerCase().startsWith("Basic ".toLowerCase())) {
68+
if (authorization != null && authorization.toLowerCase(Locale.ROOT).startsWith("Basic ".toLowerCase(Locale.ROOT))) {
6869
// authenticate the user
6970
String uidpassword = Scrambler.descramble(authorization.substring(6));
7071
int idx = uidpassword.indexOf(':');

0 commit comments

Comments
 (0)