You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/10/31 17:09:46 UTC
svn commit: r1767332 - in /qpid/java/trunk/broker-core/src:
main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java
test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java
Author: kwall
Date: Mon Oct 31 17:09:46 2016
New Revision: 1767332
URL: http://svn.apache.org/viewvc?rev=1767332&view=rev
Log:
QPID-7352: [Java Broker] Make parsing of GenericPrincipal more lenient and allow dashes in originType
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java?rev=1767332&r1=1767331&r2=1767332&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/preferences/GenericPrincipal.java Mon Oct 31 17:09:46 2016
@@ -33,7 +33,7 @@ import org.apache.qpid.server.security.Q
public class GenericPrincipal implements Principal
{
- private static final Pattern PATTERN = Pattern.compile("([a-zA-Z_0-9.%~-]+)@(\\w*)\\('([a-zA-Z_0-9.%~-]*)'\\)");
+ private static final Pattern PATTERN = Pattern.compile("([a-zA-Z_0-9.%~-]+)@([^('@]*)\\('([a-zA-Z_0-9.%~-]*)'\\)");
public static final String UTF8 = StandardCharsets.UTF_8.name();
private final String _name;
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java?rev=1767332&r1=1767331&r2=1767332&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/preferences/GenericPrincipalTest.java Mon Oct 31 17:09:46 2016
@@ -61,6 +61,17 @@ public class GenericPrincipalTest extend
}
}
+ public void testParseWithDash() throws Exception
+ {
+ String username = "user-name";
+ String originType = "origin-type";
+ String originName = "origin-name";
+ GenericPrincipal p = new GenericPrincipal(String.format("%s@%s('%s')", username, originType, originName));
+ assertEquals("unexpected principal name", username, p.getName());
+ assertEquals("unexpected origin type", originType, p.getOriginType());
+ assertEquals("unexpected origin name", originName, p.getOriginName());
+ }
+
public void testRejectQuotes() throws Exception
{
final String usernameWithQuote = "_username'withQuote";
@@ -91,6 +102,41 @@ public class GenericPrincipalTest extend
}
catch (IllegalArgumentException e)
{
+ // pass
+ }
+
+ }
+
+ public void testRejectParenthesis() throws Exception
+ {
+ final String usernameWithParenthesis = "username(withParenthesis";
+ final String originTypeWithParenthesis = "authType(withParenthesis";
+ final String originNameWithParenthesis = "authName(withParenthesis";
+ try
+ {
+ new GenericPrincipal(String.format("%s@%s('%s')", usernameWithParenthesis, _originType, _originName));
+ fail("GenericPricinpal should reject _username with parenthesis");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // pass
+ }
+ try
+ {
+ new GenericPrincipal(String.format("%s@%s('%s')", _username, originTypeWithParenthesis, _originName));
+ fail("GenericPricinpal should reject origin type with parenthesis");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // pass
+ }
+ try
+ {
+ new GenericPrincipal(String.format("%s@%s('%s')", _username, _originType, originNameWithParenthesis));
+ fail("GenericPricinpal should reject origin name with parenthesis");
+ }
+ catch (IllegalArgumentException e)
+ {
// pass
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org