From e9a0777bd7a1f581b93a3a82eb7764920cec501b Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Wed, 4 Jan 2012 17:27:12 +0100 Subject: [PATCH] fix basic authentication access with a colon in the user password --- .../sonia/scm/web/filter/BasicAuthenticationFilter.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 80c9c7c846..f9ffbf551b 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 @@ -186,13 +186,13 @@ public class BasicAuthenticationFilter extends HttpFilter token = new String(Base64.decode(token.getBytes())); - String[] credentials = token.split(CREDENTIAL_SEPARATOR); + int index = token.indexOf(CREDENTIAL_SEPARATOR); User user = null; - if (credentials.length == 2) + if ((index > 0) && (index < token.length())) { - String username = credentials[0]; - String password = credentials[1]; + String username = token.substring(0, index); + String password = token.substring(index + 1); if (Util.isNotEmpty(username) && Util.isNotEmpty(password)) {