fix bug with passwords which contains a colon

This commit is contained in:
Sebastian Sdorra
2014-01-17 15:56:18 +01:00
parent 858ffd83b5
commit bc61218bf8

View File

@@ -242,14 +242,25 @@ public class HgHookCallbackServlet extends HttpServlet
if (Util.isNotEmpty(credentials)) if (Util.isNotEmpty(credentials))
{ {
String[] credentialsArray = credentials.split(":"); int index = credentials.indexOf(':');
if (credentialsArray.length >= 2) if (index > 0 && index < credentials.length())
{ {
Subject subject = SecurityUtils.getSubject(); Subject subject = SecurityUtils.getSubject();
subject.login(Tokens.createAuthenticationToken(request, //J-
credentialsArray[0], credentialsArray[1])); subject.login(
Tokens.createAuthenticationToken(
request,
credentials.substring(0, index),
credentials.substring(index + 1)
)
);
//J+
}
else
{
logger.error("could not find delimiter");
} }
} }
} }