[JBoss JIRA] (ELY-283) Investigate Elytron and gssproxy interoperability
by Jan Kalina (JIRA)
[ https://issues.jboss.org/browse/ELY-283?page=com.atlassian.jira.plugin.sy... ]
Jan Kalina edited comment on ELY-283 at 12/7/17 10:38 AM:
----------------------------------------------------------
Currently it look gssproxy is providing credential correctly (with no error - major=0, minor=0 - by debug of gssproxy), but into java GSSContext arrive GSS_S_FAILURE - looks like raised somewhere on the way between gssproxy and JDK - have to investigate deeper...
{code}
[GSSLibStub_acquireCred]
[GSSLibStub_acquireCred] pName=140518513672464, usage=2
[GSSLibStub_acquireCred] pCred=0
[GSSLibStub_acquireCred] Status major/minor = d0000/-1696122173
c/r/s = 0/13/0
{code}
{code}
major = d0000 = 0 / 13 / 0
Calling Error = 0
Routine Error = 13 = GSS_S_FAILURE = Miscellaneous failure (see text)
Supplementary Status Bits = 0
minor = -1696122173 (signed dec) = 2598845123 (unsigned dec) = 9AE73AC3 (hex)
{code}
was (Author: honza889):
Currently it look gssproxy is providing credential correctly (with no error - major=0, minor=0 - by debug of gssproxy), but into java GSSContext arrive GSS_S_FAILURE - looks like raised somewhere on the way between gssproxy and JDK - have to investigate deeper...
{code}
[GSSLibStub_acquireCred]
[GSSLibStub_acquireCred] pName=140518513672464, usage=2
[GSSLibStub_acquireCred] pCred=0
[GSSLibStub_acquireCred] Status major/minor = d0000/69206038
c/r/s = 0/13/0
{code}
{code}
major = d0000 = 0 / 13 / 0
Calling Error = 0
Routine Error = 13 = GSS_S_FAILURE = Miscellaneous failure (see text)
Supplementary Status Bits = 0
minor = 69206038 (dec) = 04200016 (hex)
{code}
> Investigate Elytron and gssproxy interoperability
> -------------------------------------------------
>
> Key: ELY-283
> URL: https://issues.jboss.org/browse/ELY-283
> Project: WildFly Elytron
> Issue Type: Task
> Components: SASL
> Reporter: Peter Skopek
> Assignee: Jan Kalina
> Fix For: 2.0.0.Alpha1
>
>
> Investigate Elytron and gssproxy interoperability.
> https://fedorahosted.org/gss-proxy/
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (WFLY-9601) NullPointerException in build during checkstyle
by Tomaz Cerar (JIRA)
[ https://issues.jboss.org/browse/WFLY-9601?page=com.atlassian.jira.plugin.... ]
Tomaz Cerar moved JBEAP-13930 to WFLY-9601:
-------------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-9601 (was: JBEAP-13930)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: Build System
(was: Build System)
> NullPointerException in build during checkstyle
> -----------------------------------------------
>
> Key: WFLY-9601
> URL: https://issues.jboss.org/browse/WFLY-9601
> Project: WildFly
> Issue Type: Bug
> Components: Build System
> Environment: Customized :P
> Reporter: Tomaz Cerar
> Assignee: Tomaz Cerar
> Priority: Critical
>
> {code}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle (check-style) on project wildfly-naming: Execution check-style of goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle failed. NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle (check-style) on project wildfly-naming: Execution check-style of goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle failed.
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.maven.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:39)
> at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:122)
> at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:50)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution check-style of goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle failed.
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
> ... 27 more
> Caused by: java.lang.NullPointerException
> at com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder.isSuppressed(SuppressWarningsHolder.java:200)
> at com.puppycrawl.tools.checkstyle.filters.SuppressWarningsFilter.accept(SuppressWarningsFilter.java:38)
> at com.puppycrawl.tools.checkstyle.api.FilterSet.accept(FilterSet.java:88)
> at com.puppycrawl.tools.checkstyle.Checker.fireErrors(Checker.java:358)
> at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:276)
> at org.apache.maven.plugin.checkstyle.exec.DefaultCheckstyleExecutor.executeCheckstyle(DefaultCheckstyleExecutor.java:252)
> at org.apache.maven.plugin.checkstyle.AbstractCheckstyleReport.executeReport(AbstractCheckstyleReport.java:473)
> at org.apache.maven.plugin.checkstyle.CheckstyleReport.executeReport(CheckstyleReport.java:154)
> at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:255)
> at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:143)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
> ... 28 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (ELY-1460) External CS, PKCS11 can't be configured with externalPath
by Ilia Vassilev (JIRA)
[ https://issues.jboss.org/browse/ELY-1460?page=com.atlassian.jira.plugin.s... ]
Ilia Vassilev moved JBEAP-13929 to ELY-1460:
--------------------------------------------
Project: WildFly Elytron (was: JBoss Enterprise Application Platform)
Key: ELY-1460 (was: JBEAP-13929)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: KeyStores
(was: Security)
Affects Version/s: 1.2.0.Beta10
(was: 7.1.0.CR2)
> External CS, PKCS11 can't be configured with externalPath
> ----------------------------------------------------------
>
> Key: ELY-1460
> URL: https://issues.jboss.org/browse/ELY-1460
> Project: WildFly Elytron
> Issue Type: Bug
> Components: KeyStores
> Affects Versions: 1.2.0.Beta10
> Reporter: Ilia Vassilev
> Assignee: Ilia Vassilev
> Priority: Critical
>
> To specify external secret file location externalPath is intended. However in case of PKCS11 it can't be achieved.
> {code}
> 10:53:03,403 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service org.wildfly.security.credential-store.fips-credential-store: org.jboss.msc.service.StartException in service org.wildfly.security.credential-store.fips-credential-store: WFLYELY00004: Unable to start the service.
> at org.wildfly.extension.elytron.CredentialStoreService.start(CredentialStoreService.java:134)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.wildfly.security.credential.store.CredentialStoreException: ELY09514: Unable to initialize credential store
> at org.wildfly.security.credential.store.impl.KeyStoreCredentialStore.setupExternalStorage(KeyStoreCredentialStore.java:954)
> at org.wildfly.security.credential.store.impl.KeyStoreCredentialStore.load(KeyStoreCredentialStore.java:828)
> at org.wildfly.security.credential.store.impl.KeyStoreCredentialStore.initialize(KeyStoreCredentialStore.java:214)
> at org.wildfly.security.credential.store.CredentialStore.initialize(CredentialStore.java:159)
> at org.wildfly.extension.elytron.CredentialStoreService.start(CredentialStoreService.java:126)
> ... 5 more
> Caused by: java.nio.file.NoSuchFileException: /home/mchoma/workspace/git-repositories/tests-security/fips/fips-credential-store
> at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
> at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
> at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
> at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
> at java.nio.file.Files.newByteChannel(Files.java:361)
> at java.nio.file.Files.newByteChannel(Files.java:407)
> at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
> at java.nio.file.Files.newInputStream(Files.java:152)
> at org.wildfly.security.credential.store.impl.KeyStoreCredentialStore.setupExternalStorage(KeyStoreCredentialStore.java:943)
> ... 9 more
> 10:53:03,409 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("add") failed - address: ([
> ("subsystem" => "elytron"),
> ("credential-store" => "fips-credential-store")
> ]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.security.credential-store.fips-credential-store" => "WFLYELY00004: Unable to start the service.
> Caused by: org.wildfly.security.credential.store.CredentialStoreException: ELY09514: Unable to initialize credential store
> Caused by: java.nio.file.NoSuchFileException: /home/mchoma/workspace/git-repositories/tests-security/fips/fips-credential-store"}}
> {code}
> Problem seems to be in method
> {code:java|title=KeyStoreCredentialStore.java}
> private void setupExternalStorage(final String keyContainingKeyStoreType, final Path keyContainingKeyStoreLocation) throws CredentialStoreException {
> KeyStore keyContainingKeyStore = getKeyStoreInstance(keyContainingKeyStoreType);
> keyStore = getKeyStoreInstance("JCEKS");
> externalStorage = new ExternalStorage();
> try {
> final char[] storePassword = getStorePassword(protectionParameter);
> if (keyContainingKeyStoreLocation != null) {
> try (InputStream is = Files.newInputStream(keyContainingKeyStoreLocation)) {
> keyContainingKeyStore.load(is, storePassword);
> }
> } else {
> // keystore without file (e.g. PKCS11)
> synchronized (EmptyProvider.getInstance()) {
> keyContainingKeyStore.load(null, storePassword);
> }
> }
> externalStorage.init(cryptographicAlgorithm, encryptionKeyAlias, keyContainingKeyStore, storePassword, keyStore);
> } catch(IOException | GeneralSecurityException e) {
> throw log.cannotInitializeCredentialStore(e);
> }
> }
> {code}
> Although location is not specified in CLI command keyContainingKeyStoreLocation is not null. Because once location is not specified it becomes name of CS, in this case fips-credential-store (This default is in elytron subsystem).
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (WFCORE-3450) CLI - avoid required attributes to be hard to see when using tab completion
by Jean-Francois Denise (JIRA)
[ https://issues.jboss.org/browse/WFCORE-3450?page=com.atlassian.jira.plugi... ]
Jean-Francois Denise reassigned WFCORE-3450:
--------------------------------------------
Assignee: Jean-Francois Denise
> CLI - avoid required attributes to be hard to see when using tab completion
> ----------------------------------------------------------------------------
>
> Key: WFCORE-3450
> URL: https://issues.jboss.org/browse/WFCORE-3450
> Project: WildFly Core
> Issue Type: Feature Request
> Components: CLI
> Reporter: Miroslav Novak
> Assignee: Jean-Francois Denise
>
> This is follow up for WFCORE-2283 which marked required attributes by "*" when using tab completion. Still if there are many attributes, it's hard to see all required attributes, for example in:
> {code}
> [standalone@localhost:9990 /] /subsystem=messaging-activemq/server=default/cluster-connection=my-cluster:add(
> ! check-period connector-name* max-retry-interval notification-interval retry-interval-multiplier
> allow-direct-connections-only cluster-connection-address* discovery-group* message-load-balancing-type producer-window-size static-connectors*
> call-failover-timeout confirmation-window-size initial-connect-attempts min-large-message-size reconnect-attempts use-duplicate-detection
> call-timeout connection-ttl max-hops notification-attempts retry-interval
> {code}
> it's not clear at the first look how many required attributes there are.
> Suggestion is to group required attributes together and then provide list of other attributes, for example on the next line. Another options might be considered as well. For example to show required attributes when double pressing <tab>.
> Discussed on https://developer.jboss.org/wiki/CLI-BetterCompletionForArguments?et=watc...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (WFLY-6892) Access logging for EJBs
by Flavia Rainone (JIRA)
[ https://issues.jboss.org/browse/WFLY-6892?page=com.atlassian.jira.plugin.... ]
Flavia Rainone reassigned WFLY-6892:
------------------------------------
Assignee: Flavia Rainone
> Access logging for EJBs
> -----------------------
>
> Key: WFLY-6892
> URL: https://issues.jboss.org/browse/WFLY-6892
> Project: WildFly
> Issue Type: Feature Request
> Components: EJB
> Affects Versions: 10.0.0.Final
> Reporter: Brad Maxwell
> Assignee: Flavia Rainone
> Labels: affects_elytron
>
> Access logging for EJB requests similar to Web access logging would be very useful.
> Possibly something like:
> {code}
> [date-time] [host/IP of caller] [EJB Name] [EJB Method] [invocation id] Request Received ...
> [date-time] [host/IP of caller] [EJB Name] [EJB Method] invocation id] Starting Invocation ...
> [date-time] [host/IP of caller] [EJB Name] [EJB Method] invocation id] Finished Invocation ...
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (ELY-1459) Move byte and codepoint iterators to WildFly Common
by David Lloyd (JIRA)
[ https://issues.jboss.org/browse/ELY-1459?page=com.atlassian.jira.plugin.s... ]
David Lloyd reassigned ELY-1459:
--------------------------------
Assignee: David Lloyd
> Move byte and codepoint iterators to WildFly Common
> ---------------------------------------------------
>
> Key: ELY-1459
> URL: https://issues.jboss.org/browse/ELY-1459
> Project: WildFly Elytron
> Issue Type: Task
> Components: Utils
> Reporter: David Lloyd
> Assignee: David Lloyd
>
> This is the partner issue to WFCOM-25.
> There is a need or desire to open up the byte/code point iteration API, but the natural tension is that it is not really security related. At the same time, this kind of code is duplicated in a few other places. Moving these classes to WildFly Common would solve several problems at once.
> This issue should serve as a point of discussion for this idea.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months
[JBoss JIRA] (JBEE-183) NullPointerException happens at ELEvaluator.parseExpressionString() due to a concurrency issue
by Scott Marlow (JIRA)
[ https://issues.jboss.org/browse/JBEE-183?page=com.atlassian.jira.plugin.s... ]
Scott Marlow commented on JBEE-183:
-----------------------------------
Might it be that org.apache.taglibs.standard.lang.jstl.ELEvaluator.parseExpressionString is the victim of 'mBypassCache' being false initially (so we skip call to 'createExpressionStringMap') but later being true (likely from activity on different thread) at the time that we reach the subsequent use of (null) createExpressionStringMap.
Could we preallocate the sCachedExpressionStrings?
> NullPointerException happens at ELEvaluator.parseExpressionString() due to a concurrency issue
> ----------------------------------------------------------------------------------------------
>
> Key: JBEE-183
> URL: https://issues.jboss.org/browse/JBEE-183
> Project: JBoss JavaEE Spec APIs
> Issue Type: Bug
> Components: jboss-jstl-api
> Environment: - JBoss EAP 7.0.8
> - jboss-jstl-api_1.2_spec-1.1.3.Final
> Reporter: Masafumi Miura
> Assignee: Tomas Hofman
> Attachments: byteman-script.btm, example.zip
>
>
> The following NullPointerException happens at ELEvaluator.parseExpressionString() due to a concurrency issue.
> Once this NPE happens, you will see same NPE every time when accessing the failed JSP. (If development="true" is configured in <jsp-config>, recompile can happen in the next access, so NPE can disappear after successful compilation in the next access.)
> {code}
> ERROR [io.undertow.request] (default task-4) UT005023: Exception handling request to /dsl/g/clsys/cl/nop-constind/CNC001.jsp: org.apache.jasper.JasperException: JBWEB004001: Unable to compile class for JSP
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:667) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:402) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:346) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final-redhat-1.jar:1.0.0.Final-redhat-1]
> ...(snip)...
> ...
> Caused by: java.lang.NullPointerException
> at org.apache.taglibs.standard.lang.jstl.ELEvaluator.parseExpressionString(ELEvaluator.java:276) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.lang.jstl.Evaluator.validate(Evaluator.java:71) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.validate(ExpressionEvaluatorManager.java:131) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.tlv.el.ValidationUtil.validateExpression(ValidationUtil.java:26) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.tlv.el.JstlELCoreTLV.validateExpression(JstlELCoreTLV.java:26) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.tlv.JstlCoreTLV$Handler.startElement(JstlCoreTLV.java:158) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:498)
> at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:180)
> at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:275)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
> at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
> at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
> at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
> at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:158) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:97) [jboss-jstl-api_1.2_spec-1.1.3.Final-redhat-1.jar:1.1.3.Final-redhat-1]
> at org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:552) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1856) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1825) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:218) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652) [jastow-2.0.0.Final-redhat-1.jar:2.0.0.Final-redhat-1]
> ... 61 more
> {code}
> - https://github.com/jboss/jboss-jstl-api_spec/blob/jboss-jstl-api_1.2_spec...
> {code}
> 252 public Object parseExpressionString(String pExpressionString)
> 253 throws ELException {
> 254 // See if it's an empty String
> 255 if (pExpressionString.length() == 0) {
> 256 return "";
> 257 }
> 258
> 259 if (!(mBypassCache) && (sCachedExpressionStrings == null)) {
> 260 createExpressionStringMap();
> 261 }
> 262
> 263 // See if it's in the cache
> 264 Object ret =
> 265 mBypassCache ?
> 266 null :
> 267 sCachedExpressionStrings.get(pExpressionString);
> 268
> 269 if (ret == null) {
> 270 // Parse the expression
> 271 Reader r = new StringReader(pExpressionString);
> 272 ELParser parser = new ELParser(r);
> 273 try {
> 274 ret = parser.ExpressionString();
> 275 if (!mBypassCache) {
> 276 sCachedExpressionStrings.put(pExpressionString, ret); // <- NPE occurred at here
> 277 }
> 278 }
> 279 catch (ParseException exc) {
> 280 throw new ELException
> 281 (formatParseException(pExpressionString,
> 282 exc));
> 283 }
> 284 catch (TokenMgrError exc) {
> 285 // Note - this should never be reached, since the parser is
> 286 // constructed to tokenize any input (illegal inputs get
> 287 // parsed to <BADLY_ESCAPED_STRING_LITERAL> or
> 288 // <ILLEGAL_CHARACTER>
> 289 throw new ELException(exc.getMessage());
> 290 }
> 291 }
> 292 return ret;
> 293 }
> {code}
> - https://github.com/jboss/jboss-jstl-api_spec/blob/jboss-jstl-api_1.2_spec...
> {code}
> ~~~
> 51 /**
> 52 * The singleton instance of the evaluator *
> 53 */
> 54 static ELEvaluator sEvaluator =
> 55 new ELEvaluator
> 56 (new JSTLVariableResolver());
> :
> 62 /**
> 63 * Translation time validation of an attribute value. This method
> 64 * will return a null String if the attribute value is valid;
> 65 * otherwise an error message.
> 66 */
> 67 public String validate(String pAttributeName,
> 68 String pAttributeValue) {
> 69 try {
> 70 sEvaluator.setBypassCache(true); // <-- mBypassCache is set to true before invoking parseExpressionString()
> 71 sEvaluator.parseExpressionString(pAttributeValue);
> 72 sEvaluator.setBypassCache(false);
> 73 return null;
> 74 }
> 75 catch (ELException exc) {
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 7 months