Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-31055

Fix handling of & character in encrypted properties

    Details

    • Release Notes Summary:
      Decrypted conf properties containing xml special characters are now allowed
    • Backlog priority:
      1,000
    • Sprint:
      nxplatform #64, nxplatform #65
    • Story Points:
      3

      Description

      Since NXP-28880, the encrypted passwords are decrypted at runtime. But unless previously the special character & is not escaped, which causes errors during the startup.

      Steps to reproduce:

      1. for test purpose only, copy the attached file to templates/common/config/default-ldap-users-directory-bundle.xml.nxftl
      2. add these 2 properties to nuxeo.conf
        nuxeo.ldap.binddn=cn=Manager,dc=nuxeo
        nuxeo.ldap.url=ldap://localhost:389
        
      3. encrypt the LDAP bind password
        bin/nuxeoctl config nuxeo.ldap.bindpassword "Y1&eg*7cW%xL%5&%" -encrypt
      4. start Nuxeo
      5. observe this error
        ERROR [OSGiRuntimeService] Error deploying config default-ldap-users-directory-bundle.xml (Could not resolve registration from file:/nuxeo/appl/nuxeo2021/nxserver/config/default-ldap-users-directory-bundle.xml (org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 26; The entity name must immediately follow the '&' in the entity reference.))
        java.io.IOException: Could not resolve registration from file:/nuxeo/appl/nuxeo2021/nxserver/config/default-ldap-users-directory-bundle.xml (org.xml.sax.SAXParseException; lineNumber: 38; columnNumber: 26; The entity name must immediately follow the '&' in the entity reference.)
                at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:233) ~[nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:135) ~[nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:129) ~[nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.osgi.OSGiRuntimeService.loadConfig(OSGiRuntimeService.java:325) [nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.AbstractRuntimeService.start(AbstractRuntimeService.java:137) [nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.api.Framework.initialize(Framework.java:131) [nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.runtime.osgi.OSGiRuntimeActivator.start(OSGiRuntimeActivator.java:84) [nuxeo-runtime-2021.16.7.jar:?]
                at org.nuxeo.osgi.BundleImpl.start(BundleImpl.java:292) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.BundleRegistry.doRegister(BundleRegistry.java:177) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.BundleRegistry.register(BundleRegistry.java:125) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.BundleRegistry.install(BundleRegistry.java:98) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.OSGiAdapter.install(OSGiAdapter.java:180) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.application.loader.FrameworkLoader.install(FrameworkLoader.java:256) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.application.loader.FrameworkLoader.doStart(FrameworkLoader.java:221) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.osgi.application.loader.FrameworkLoader.start(FrameworkLoader.java:125) [nuxeo-runtime-osgi-2021.8.6.jar:?]
                at org.nuxeo.runtime.deployment.NuxeoStarter.start(NuxeoStarter.java:124) [nuxeo-runtime-deploy-2021.2.52.jar:?]
                at org.nuxeo.runtime.deployment.NuxeoStarter.contextInitialized(NuxeoStarter.java:93) [nuxeo-runtime-deploy-2021.2.52.jar:?]
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690) [catalina-9.0.58.jar:9.0.58]
                at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) [catalina-9.0.58.jar:9.0.58]
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        

      Expected behavior: Nuxeo starts correctly and the provided password is used to establish the connection

      Workaround is to manually escape the & characters when encrypting the property

      bin/nuxeoctl config nuxeo.ldap.bindpassword "Y1&eg*7cW%xL%5&%" -encrypt
      

        Attachments

          Activity

          Hide
          grenard Guillaume Renard added a comment - - edited

          According to my understanding, this is not a regression of NXP-28880, the problem existed beforehand, with a 2021.13:

          • encrypt a sensitive variable:
            ./nuxeoctl config some.sensitive.property "some&Value" --encrypt -q
            
          • add it to a nxftl template like the ../templates/s3binaries/nxserver/config/s3-config.xml.nxftl one
            <property name="awsid">${some.sensitive.property}</property>
            
          • start the server and see:
            fox@fox-XPS-13-9380:/opt/nuxeo-server-tomcat-2021.13.8/bin$ ./nuxeoctl console
            Nuxeo home:          /opt/nuxeo-server-tomcat-2021.13.8
            Nuxeo configuration: /opt/nuxeo-server-tomcat-2021.13.8/bin/nuxeo.conf
            Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/common-base
            Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/common
            Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/default
            Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/aws
            Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/s3binaries
            No current configuration, generating files...
            FreeMarker variables: ignored 'java.version.date' conflicting with 'java.version'
            Configuration files generated.
            Server started with process ID: 51992
            Go to http://localhost:8080/nuxeo
            2022-06-15 17:29:29 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [428] milliseconds
            2022-06-15 17:29:29,548 main ERROR Rewrite contains an invalid element or attribute "MaskSensitiveData"
            2022-06-15 17:29:29,563 main ERROR Rewrite contains an invalid element or attribute "MaskSensitiveData"
            # Running Nuxeo Preprocessor ...
            Preprocessing: /opt/nuxeo-server-tomcat-2021.13.8/nxserver
            Done.
            # Preprocessing done.
            2022-06-15T17:29:31,097 INFO  [FrameworkLoader] 
            ======================================================================
            = Starting Nuxeo Framework
            ======================================================================
              * Distribution Version = 2021.13.8
              * Distribution Date = 202112160248
              * Server home = /opt/nuxeo-server-tomcat-2021.13.8
              * Runtime home = /opt/nuxeo-server-tomcat-2021.13.8/nxserver
              * Data Directory = /opt/nuxeo-server-tomcat-2021.13.8/nxserver/data
              * Log Directory = /opt/nuxeo-server-tomcat-2021.13.8/log
              * Configuration Directory = /opt/nuxeo-server-tomcat-2021.13.8/nxserver/config
              * Temp Directory = /opt/nuxeo-server-tomcat-2021.13.8/tmp
            ======================================================================
            [Fatal Error] :10:40: The reference to entity "Value" must end with the ';' delimiter.
            2022-06-15T17:29:31,278 ERROR [OSGiRuntimeService] Error deploying config s3-config.xml (Could not resolve registration from file:/opt/nuxeo-server-tomcat-2021.13.8/nxserver/config/s3-config.xml (org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter.))
            java.io.IOException: Could not resolve registration from file:/opt/nuxeo-server-tomcat-2021.13.8/nxserver/config/s3-config.xml (org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter.)
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:233) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:135) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:129) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.osgi.OSGiRuntimeService.loadConfig(OSGiRuntimeService.java:325) [nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.AbstractRuntimeService.start(AbstractRuntimeService.java:137) [nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.api.Framework.initialize(Framework.java:131) [nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.osgi.OSGiRuntimeActivator.start(OSGiRuntimeActivator.java:84) [nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.osgi.BundleImpl.start(BundleImpl.java:292) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.BundleRegistry.doRegister(BundleRegistry.java:177) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.BundleRegistry.register(BundleRegistry.java:125) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.BundleRegistry.install(BundleRegistry.java:98) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.OSGiAdapter.install(OSGiAdapter.java:180) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.application.loader.FrameworkLoader.install(FrameworkLoader.java:256) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.application.loader.FrameworkLoader.doStart(FrameworkLoader.java:221) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.osgi.application.loader.FrameworkLoader.start(FrameworkLoader.java:125) [nuxeo-runtime-osgi-2021.13.8.jar:?]
            	at org.nuxeo.runtime.deployment.NuxeoStarter.start(NuxeoStarter.java:124) [nuxeo-runtime-deploy-2021.13.8.jar:?]
            	at org.nuxeo.runtime.deployment.NuxeoStarter.contextInitialized(NuxeoStarter.java:93) [nuxeo-runtime-deploy-2021.13.8.jar:?]
            	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) [catalina.jar:9.0.56]
            	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
            	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
            	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.56]
            	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?]
            	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina.jar:9.0.56]
            	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
            	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.56]
            	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) [?:?]
            	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56]
            	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina.jar:9.0.56]
            	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56]
            	at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.56]
            	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
            	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
            	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
            	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
            	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap.jar:9.0.56]
            	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap.jar:9.0.56]
            Caused by: java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter.
            	at org.nuxeo.common.xmap.XMap.loadAll(XMap.java:338) ~[nuxeo-common-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.ComponentDescriptorReader.read(ComponentDescriptorReader.java:74) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:242) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:230) ~[nuxeo-runtime-2021.13.8.jar:?]
            	... 57 more
            Caused by: org.xml.sax.SAXParseException: The reference to entity "Value" must end with the ';' delimiter.
            	at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl-2.12.0-nx1.jar:?]
            	at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl-2.12.0-nx1.jar:?]
            	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122) ~[?:?]
            	at org.nuxeo.common.xmap.XMap.loadAll(XMap.java:335) ~[nuxeo-common-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.ComponentDescriptorReader.read(ComponentDescriptorReader.java:74) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:242) ~[nuxeo-runtime-2021.13.8.jar:?]
            	at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:230) ~[nuxeo-runtime-2021.13.8.jar:?]
            	... 57 more
            
          Show
          grenard Guillaume Renard added a comment - - edited According to my understanding, this is not a regression of NXP-28880, the problem existed beforehand, with a 2021.13: encrypt a sensitive variable: ./nuxeoctl config some.sensitive.property "some&Value" --encrypt -q add it to a nxftl template like the ../templates/s3binaries/nxserver/config/s3-config.xml.nxftl one <property name= "awsid" >${some.sensitive.property}</property> start the server and see: fox@fox-XPS-13-9380:/opt/nuxeo-server-tomcat-2021.13.8/bin$ ./nuxeoctl console Nuxeo home: /opt/nuxeo-server-tomcat-2021.13.8 Nuxeo configuration: /opt/nuxeo-server-tomcat-2021.13.8/bin/nuxeo.conf Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/common-base Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/common Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/ default Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/aws Include template: /opt/nuxeo-server-tomcat-2021.13.8/templates/s3binaries No current configuration, generating files... FreeMarker variables: ignored 'java.version.date' conflicting with 'java.version' Configuration files generated. Server started with process ID: 51992 Go to http: //localhost:8080/nuxeo 2022-06-15 17:29:29 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [428] milliseconds 2022-06-15 17:29:29,548 main ERROR Rewrite contains an invalid element or attribute "MaskSensitiveData" 2022-06-15 17:29:29,563 main ERROR Rewrite contains an invalid element or attribute "MaskSensitiveData" # Running Nuxeo Preprocessor ... Preprocessing: /opt/nuxeo-server-tomcat-2021.13.8/nxserver Done. # Preprocessing done. 2022-06-15T17:29:31,097 INFO [FrameworkLoader] ====================================================================== = Starting Nuxeo Framework ====================================================================== * Distribution Version = 2021.13.8 * Distribution Date = 202112160248 * Server home = /opt/nuxeo-server-tomcat-2021.13.8 * Runtime home = /opt/nuxeo-server-tomcat-2021.13.8/nxserver * Data Directory = /opt/nuxeo-server-tomcat-2021.13.8/nxserver/data * Log Directory = /opt/nuxeo-server-tomcat-2021.13.8/log * Configuration Directory = /opt/nuxeo-server-tomcat-2021.13.8/nxserver/config * Temp Directory = /opt/nuxeo-server-tomcat-2021.13.8/tmp ====================================================================== [Fatal Error] :10:40: The reference to entity "Value" must end with the ';' delimiter. 2022-06-15T17:29:31,278 ERROR [OSGiRuntimeService] Error deploying config s3-config.xml (Could not resolve registration from file:/opt/nuxeo-server-tomcat-2021.13.8/nxserver/config/s3-config.xml (org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter.)) java.io.IOException: Could not resolve registration from file:/opt/nuxeo-server-tomcat-2021.13.8/nxserver/config/s3-config.xml (org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter.) at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:233) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:135) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.deploy(DefaultRuntimeContext.java:129) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.osgi.OSGiRuntimeService.loadConfig(OSGiRuntimeService.java:325) [nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.AbstractRuntimeService.start(AbstractRuntimeService.java:137) [nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.api.Framework.initialize(Framework.java:131) [nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.osgi.OSGiRuntimeActivator.start(OSGiRuntimeActivator.java:84) [nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.osgi.BundleImpl.start(BundleImpl.java:292) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.BundleRegistry.doRegister(BundleRegistry.java:177) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.BundleRegistry.register(BundleRegistry.java:125) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.BundleRegistry.install(BundleRegistry.java:98) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.OSGiAdapter.install(OSGiAdapter.java:180) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.application.loader.FrameworkLoader.install(FrameworkLoader.java:256) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.application.loader.FrameworkLoader.doStart(FrameworkLoader.java:221) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.osgi.application.loader.FrameworkLoader.start(FrameworkLoader.java:125) [nuxeo-runtime-osgi-2021.13.8.jar:?] at org.nuxeo.runtime.deployment.NuxeoStarter.start(NuxeoStarter.java:124) [nuxeo-runtime-deploy-2021.13.8.jar:?] at org.nuxeo.runtime.deployment.NuxeoStarter.contextInitialized(NuxeoStarter.java:93) [nuxeo-runtime-deploy-2021.13.8.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:9.0.56] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina.jar:9.0.56] at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690) [catalina.jar:9.0.56] at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) [catalina.jar:9.0.56] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.56] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?] at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583) [catalina.jar:9.0.56] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473) [catalina.jar:9.0.56] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina.jar:9.0.56] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.56] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina.jar:9.0.56] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina.jar:9.0.56] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.56] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) [?:?] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina.jar:9.0.56] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.56] at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.56] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap.jar:9.0.56] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap.jar:9.0.56] Caused by: java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 40; The reference to entity "Value" must end with the ';' delimiter. at org.nuxeo.common.xmap.XMap.loadAll(XMap.java:338) ~[nuxeo-common-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.ComponentDescriptorReader.read(ComponentDescriptorReader.java:74) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:242) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:230) ~[nuxeo-runtime-2021.13.8.jar:?] ... 57 more Caused by: org.xml.sax.SAXParseException: The reference to entity "Value" must end with the ';' delimiter. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl-2.12.0-nx1.jar:?] at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl-2.12.0-nx1.jar:?] at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122) ~[?:?] at org.nuxeo.common.xmap.XMap.loadAll(XMap.java:335) ~[nuxeo-common-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.ComponentDescriptorReader.read(ComponentDescriptorReader.java:74) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:242) ~[nuxeo-runtime-2021.13.8.jar:?] at org.nuxeo.runtime.model.impl.DefaultRuntimeContext.createRegistrationInfo(DefaultRuntimeContext.java:230) ~[nuxeo-runtime-2021.13.8.jar:?] ... 57 more
          Hide
          grenard Guillaume Renard added a comment -

          Ok so, we should test with a template containing

          <#escape x as x?xml>
          </#escape>
          
          Show
          grenard Guillaume Renard added a comment - Ok so, we should test with a template containing <#escape x as x?xml> </#escape>
          Hide
          hudson Jenkins added a comment -

          SUCCESS: Integrated in nuxeo » lts » nuxeo » 2021 #374
          NXP-31055: escape xml for resolved conf vars in xml descriptors (guirenard: a7606d1043ce1380993cbf7a8aed1cb85a25813d)

          Show
          hudson Jenkins added a comment - SUCCESS: Integrated in nuxeo » lts » nuxeo » 2021 #374 NXP-31055 : escape xml for resolved conf vars in xml descriptors (guirenard: a7606d1043ce1380993cbf7a8aed1cb85a25813d )

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: