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

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor 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

      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

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

              Created:
              Updated:
              Resolved: