[ 
https://issues.apache.org/jira/browse/QPIDJMS-374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16421948#comment-16421948
 ] 

ASF GitHub Bot commented on QPIDJMS-374:
----------------------------------------

Github user mibo commented on the issue:

    https://github.com/apache/qpid-jms/pull/17
  
    I agree that using `PropertyUtil.parseQuery(remoteURI)` would be better 
(which then does the `PropertyUtil.parseQuery(uri.getRawQuery())` call after a 
[null 
check](https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java#L189)).
    I will change it and add the currently missing (JUnit) tests.
    But I think we can agree that using 
`PropertyUtil.parseQuery(remoteURI.getQuery())` is a bug.
    
    Btw. I oriented the fix by the 
[TransportFactory](https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportFactory.java#L51).


> Double encoded query parameters
> -------------------------------
>
>                 Key: QPIDJMS-374
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-374
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.31.0
>            Reporter: Michael Bolz
>            Priority: Major
>
> When query parameters are parsed in 
> [TransportFactory|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportFactory.java#L51]
>  and 
> [AmqpProviderFactory|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java#L41]
>  and than further processed via 
> [PropertyUtil#replaceQuery|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java#L64]
>  the values gets double encoded.
> See also Javadoc of 
> [PropertyUtil#replaceQuery|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java#L64]:
> {quote}
> The string values in the Map will be URL Encoded by this method which means 
> that if an
> already encoded value is passed it will be double encoded resulting in 
> corrupt values
> in the newly created URI.
> {quote}
> For a fix I created a [pull 
> request|https://github.com/apache/qpid-jms/pull/17].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to