Repository: qpid-jms
Updated Branches:
  refs/heads/master 75f3cf8d2 -> bdf91953d


QPIDJMS-127 Throw an error if the connection URI contains user-info
values.  

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/bdf91953
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/bdf91953
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/bdf91953

Branch: refs/heads/master
Commit: bdf91953d8276d12df5572b1800891ba8667a6de
Parents: 75f3cf8
Author: Timothy Bish <tabish...@gmail.com>
Authored: Mon Oct 12 17:47:31 2015 -0400
Committer: Timothy Bish <tabish...@gmail.com>
Committed: Mon Oct 12 17:47:31 2015 -0400

----------------------------------------------------------------------
 .../org/apache/qpid/jms/JmsConnectionFactory.java     |  4 ++++
 .../integration/ConnectionFactoryIntegrationTest.java | 14 ++++++++++++++
 2 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/bdf91953/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
index 3b90b18..ae93eed 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
@@ -276,6 +276,10 @@ public class JmsConnectionFactory extends JNDIStorable 
implements ConnectionFact
         }
         this.remoteURI = createURI(remoteURI);
 
+        if (this.remoteURI.getRawUserInfo() != null) {
+            throw new IllegalArgumentException("The supplied URI cannot 
contain a User-Info section");
+        }
+
         try {
             if (this.remoteURI.getQuery() != null) {
                 Map<String, String> map = 
PropertyUtil.parseQuery(this.remoteURI.getQuery());

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/bdf91953/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConnectionFactoryIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConnectionFactoryIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConnectionFactoryIntegrationTest.java
index d72d521..016f188 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConnectionFactoryIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConnectionFactoryIntegrationTest.java
@@ -97,6 +97,20 @@ public class ConnectionFactoryIntegrationTest extends 
QpidJmsTestCase {
     }
 
     @Test(timeout=20000)
+    public void testCreateAmqpConnectionWithUserInfoThrowsJMSEx() throws 
Exception {
+        try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
+            // DONT create a test fixture, we will drive everything directly.
+            String uri = "amqp://user:pass@127.0.0.1:" + 
testPeer.getServerPort();
+            try {
+                new JmsConnectionFactory(uri);
+                fail("Should not be able to create a factory with user info 
value set.");
+            } catch (Exception ex) {
+                LOG.debug("Caught expected exception on invalid message ID 
format: {}", ex);
+            }
+        }
+    }
+
+    @Test(timeout=20000)
     public void testSetInvalidMessageIDFormatOption() throws Exception {
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
             // DONT create a test fixture, we will drive everything directly.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to