From a8b3b3bb277fd7f9cdb989bd71a03f5beaa336cf Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Thu, 28 Jun 2012 14:54:44 +0200 Subject: [PATCH] fix basic authentication for systems with turkish locale --- .../src/main/java/sonia/scm/util/Util.java | 18 ++++++++++++++++++ .../web/filter/BasicAuthenticationFilter.java | 3 +-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/Util.java b/scm-core/src/main/java/sonia/scm/util/Util.java index e8e9cadc3b..bfa109f4ec 100644 --- a/scm-core/src/main/java/sonia/scm/util/Util.java +++ b/scm-core/src/main/java/sonia/scm/util/Util.java @@ -47,6 +47,7 @@ import java.util.Comparator; import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; @@ -398,6 +399,23 @@ public class Util return parseDate(dateString, null); } + /** + * Method description + * + * + * @param value + * @param start + * + * @return + * + * @since 1.17 + */ + public static boolean startWithIgnoreCase(String value, String start) + { + return (value != null) && (start != null) + && value.toUpperCase(Locale.ENGLISH).startsWith(start); + } + /** * Method description * diff --git a/scm-core/src/main/java/sonia/scm/web/filter/BasicAuthenticationFilter.java b/scm-core/src/main/java/sonia/scm/web/filter/BasicAuthenticationFilter.java index b3fcd1f117..386f27bcd3 100644 --- a/scm-core/src/main/java/sonia/scm/web/filter/BasicAuthenticationFilter.java +++ b/scm-core/src/main/java/sonia/scm/web/filter/BasicAuthenticationFilter.java @@ -120,8 +120,7 @@ public class BasicAuthenticationFilter extends HttpFilter User user = null; String authentication = request.getHeader(HEADER_AUTHORIZATION); - if (Util.isNotEmpty(authentication) - && authentication.toUpperCase().startsWith(AUTHORIZATION_BASIC_PREFIX)) + if (Util.startWithIgnoreCase(authentication, AUTHORIZATION_BASIC_PREFIX)) { if (logger.isTraceEnabled()) {