Uploaded image for project: 'Apache Knox'
  1. Apache Knox
  2. KNOX-2804

HadoopXmlResource parser should handle unescaped XML entries

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.6.0
    • 2.0.0
    • Server
    • None

    Description

      Based on end-user feedback: they specified the following LDAP realm property

      authentication.param.main.ldapRealm.userSearchFilter=(&(&(objectclass=person)(sAMAccountName={0}))(|(memberOf=CN=SecXX-ali-bda-users,OU=ManagedGroups,OU=Groups,OU=XX,OU=dm,DC=dm,DC=int)(memberOf=CN=SecXX-ali-bda-rls-serviceuser,OU=ManagedGroups,OU=Groups,OU=XX,OU=dm,DC=dm,DC=int))) 

      in their application and this resulted in an error in Knox:

      2022-09-09 11:27:53,199  ERROR digester3.Digester (Digester.java:parse(1652)) - An error occurred while parsing XML from '(already loaded from stream)', see nested exceptions
      org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239) ~[?:1.8.0_282]
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) ~[?:1.8.0_282]
      	at org.apache.commons.digester3.Digester.parse(Digester.java:1642) [commons-digester3-3.2.jar:3.2]
      	at org.apache.commons.digester3.Digester.parse(Digester.java:1701) [commons-digester3-3.2.jar:3.2]
      	at org.apache.knox.gateway.util.TopologyUtils.parse(TopologyUtils.java:50) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.services.topology.impl.DefaultTopologyService.parse(DefaultTopologyService.java:154) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.topology.simple.SimpleDescriptorHandler.shouldPersistGeneratedTopology(SimpleDescriptorHandler.java:669) [gateway-topology-simple-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.topology.simple.SimpleDescriptorHandler.generateTopology(SimpleDescriptorHandler.java:614) [gateway-topology-simple-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.topology.simple.SimpleDescriptorHandler.handle(SimpleDescriptorHandler.java:193) [gateway-topology-simple-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.topology.simple.SimpleDescriptorHandler.handle(SimpleDescriptorHandler.java:96) [gateway-topology-simple-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.services.topology.monitor.DescriptorsMonitor.onFileChange(DescriptorsMonitor.java:97) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.services.topology.impl.DefaultTopologyService.triggerDescriptorDiscovery(DefaultTopologyService.java:566) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.services.topology.impl.DefaultTopologyService.startMonitor(DefaultTopologyService.java:561) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.GatewayServer.start(GatewayServer.java:698) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.GatewayServer.startGateway(GatewayServer.java:360) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at org.apache.knox.gateway.GatewayServer.main(GatewayServer.java:176) [gateway-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_282]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_282]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_282]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_282]
      	at org.apache.knox.gateway.launcher.Invoker.invokeMainMethod(Invoker.java:68) [gateway.jar:?]
      	at org.apache.knox.gateway.launcher.Invoker.invoke(Invoker.java:39) [gateway.jar:?]
      	at org.apache.knox.gateway.launcher.Command.run(Command.java:99) [gateway.jar:?]
      	at org.apache.knox.gateway.launcher.Launcher.run(Launcher.java:75) [gateway.jar:?]
      	at org.apache.knox.gateway.launcher.Launcher.main(Launcher.java:52) [gateway.jar:?]
      2022-09-09 11:27:53,199  ERROR topology.simple (SimpleDescriptorHandler.java:shouldPersistGeneratedTopology(674)) - Error comparing the generated XXX topology with the existing version: org.xml.sax.SAXParseException; lineNumber: 31; columnNumber: 26; The entity name must immediately follow the '&' in the entity reference. 

      Attachments

        Issue Links

          Activity

            People

              smolnar Sandor Molnar
              smolnar Sandor Molnar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h