Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-6731

Issue with RAW() function for passwords with Ampersand for master endpoint in apache camel

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • fuse-7.0
    • jboss-fuse-6.2.1
    • Camel
    • None
    • % %
    • Hide

      It appears that the cause is somewhere around:
      io.fabric8.camel.MasterComponent#createEndpoint - which recreates the URI for the child/wrapped component from the parsed paramters
      Which is invoked by:
      org.apache.camel.impl.DefaultComponent#createEndpoint(java.lang.String)
      After it has parsed the URI parameters and resolved the escaped RAW parameter values using:
      org.apache.camel.util.URISupport#resolveRawParameterValues

      This means that when the child component parses the URI it will fail if the (no longer escaped) value contains problematic characters (such as an ampersand)

      The workaround we are currently using is to double escape anything in a master component URI, e.g.

      master://mname:sftp://myhost/inbox?password=RAW(RAW(beforeAmpersand&afterAmpersand))&username=jdoe
      Show
      It appears that the cause is somewhere around: io.fabric8.camel.MasterComponent#createEndpoint - which recreates the URI for the child/wrapped component from the parsed paramters Which is invoked by: org.apache.camel.impl.DefaultComponent#createEndpoint(java.lang.String) After it has parsed the URI parameters and resolved the escaped RAW parameter values using: org.apache.camel.util.URISupport#resolveRawParameterValues This means that when the child component parses the URI it will fail if the (no longer escaped) value contains problematic characters (such as an ampersand) The workaround we are currently using is to double escape anything in a master component URI, e.g. master: //mname:sftp://myhost/inbox?password=RAW(RAW(beforeAmpersand&afterAmpersand))&username=jdoe

    Description

      Using the master endpoint in Apache Camel, for a password including a RAW escaped value containing an ampersand character:

      [master://mname:sftp://myhost/inbox?password=RAW(beforeAmpersand&afterAmpersand)&username=jdoe]

      Results in the org.apache.camel.ResolveEndpointFailedException

      Attachments

        Issue Links

          Activity

            People

              pantinor@redhat.com Paolo Antinori
              rhn-support-rakulkar Rajani Kulkarni (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: