[JBoss JIRA] (DROOLS-1482) FEEL: external java function references not working for functions with variable number of parameters
by Edson Tirelli (JIRA)
Edson Tirelli created DROOLS-1482:
-------------------------------------
Summary: FEEL: external java function references not working for functions with variable number of parameters
Key: DROOLS-1482
URL: https://issues.jboss.org/browse/DROOLS-1482
Project: Drools
Issue Type: Feature Request
Components: dmn engine
Affects Versions: 7.0.0.Beta7
Reporter: Edson Tirelli
Assignee: Edson Tirelli
Fix For: 7.0.0.Final
External Java functions with variable number of parameters not working. E.g.:
{code}
{
string format : function( mask, value ) external {
java : {
class : "java.lang.String",
method signature : "format( java.lang.String, [Ljava.lang.Object; )"
}
},
format currency : function( amount ) {
string format( "$%,4.2f", amount )
},
result : format currency( 76499.3456 )
}
{code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (WFCORE-2549) Elytron, unable to configure Kerberos authentication
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-2549?page=com.atlassian.jira.plugi... ]
Brian Stansberry reassigned WFCORE-2549:
----------------------------------------
Assignee: Brian Stansberry (was: Darran Lofthouse)
> Elytron, unable to configure Kerberos authentication
> ----------------------------------------------------
>
> Key: WFCORE-2549
> URL: https://issues.jboss.org/browse/WFCORE-2549
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Reporter: Martin Choma
> Assignee: Brian Stansberry
> Priority: Blocker
>
> *User impact:* User can't configure kerberos authentication using Elytron
> *Workaround:* There is no workaround
> *Description:*
> If I try command which worked previously I get error
> {code}
> [standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"])
> {
> "outcome" => "failed",
> "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalArgumentException",
> "rolled-back" => true
> }
> {code}
> In server.log there is this stacktrace
> {code}
> 15:00:53,476 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("add") failed - address: ([
> ("subsystem" => "elytron"),
> ("kerberos-security-factory" => "a")
> ]): java.lang.IllegalArgumentException
> at org.jboss.dmr.ModelValue.asPropertyList(ModelValue.java:103)
> at org.jboss.dmr.ModelNode.asPropertyList(ModelNode.java:503)
> at org.wildfly.extension.elytron.KerberosSecurityFactoryDefinition$2.getValueSupplier(KerberosSecurityFactoryDefinition.java:168)
> at org.wildfly.extension.elytron.TrivialAddHandler.performRuntime(TrivialAddHandler.java:77)
> at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:151)
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
> at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
> at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
> at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1388)
> at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
> at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
> at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
> at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
> at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
> at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
> 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)
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> {code}
> Adding optional {{options}} attribute makes command work again
> {code}
> [standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"],options={a=b})
> {"outcome" => "success"}
> {code}
> But after reload, there is error in server log
> {code}
> 18:30:37,430 ERROR [org.jboss.as.controller] (Controller Boot Thread)
> OPVDX001: Validation error in standalone.xml -----------------------------------
> |
> | 365: </kerberos-security-factory>
> | 366: </credential-security-factories>
> | 367: <mappers>
> | ^^^^ 'mappers' isn't an allowed element here
> |
> | Elements allowed here are:
> | audit-logging policy
> | authentication-client providers
> | credential-security-factories sasl
> | credential-stores security-domains
> | dir-contexts security-properties
> | http security-realms
> | mappers tls
> |
> | 368: <constant-permission-mapper name="default-permission-mapper">
> | 369: <permission class-name="org.wildfly.security.auth.permission.LoginPermission"/>
> | 370: <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/>
> |
> | 'mappers' is allowed in elements:
> | - server > profile > {urn:wildfly:elytron:1.0}subsystem
> | "
> |
> | The primary underlying error message was:
> | > ParseError at [row,col]:[367,13]
> | > Message: WFLYCTL0198: Unexpected element
> | > '{urn:wildfly:elytron:1.0}mappers' encountered
> |
> |-------------------------------------------------------------------------------
> 18:30:37,430 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
> at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:143)
> at org.jboss.as.server.ServerService.boot(ServerService.java:376)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:337)
> at java.lang.Thread.run(Thread.java:745)
> 18:30:37,432 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
> {code}
> Attribute {{options}} is marked correctly optional in model.
> {code}
> "options" => {
> "type" => OBJECT,
> "description" => "The Krb5LoginModule additional options.",
> "expressions-allowed" => false,
> "required" => false,
> "nillable" => true,
> "value-type" => STRING,
> "access-type" => "read-write",
> "storage" => "configuration",
> "restart-required" => "no-services"
> },
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (WFLY-8392) Uninformative description of undertow subsystem configuration for a deployment
by ehsavoie Hugonnet (JIRA)
[ https://issues.jboss.org/browse/WFLY-8392?page=com.atlassian.jira.plugin.... ]
ehsavoie Hugonnet moved JBEAP-9640 to WFLY-8392:
------------------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-8392 (was: JBEAP-9640)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: Web (Undertow)
(was: Web (Undertow))
Affects Version/s: 10.1.0.Final
(was: 7.0.0.GA)
> Uninformative description of undertow subsystem configuration for a deployment
> ------------------------------------------------------------------------------
>
> Key: WFLY-8392
> URL: https://issues.jboss.org/browse/WFLY-8392
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Affects Versions: 10.1.0.Final
> Reporter: ehsavoie Hugonnet
> Assignee: ehsavoie Hugonnet
> Priority: Optional
>
> The description of undertow subsystem is: {{A deployment}}
> Steps to reproduce:
> # Deploy an application, e.g. the logging quickstart
> # Click Deployments -> deployment name -> View -> expand subsystem -> undertow
> Other subsystems have better description, for example logging subsystem:
> Information about the logging configuration for this deployment. Note that this may not be accurate if the deployment is using some other means of configuring a log manager such as logback. The resolved configuration is what loggers not covered by the deployments specific log manager would use.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (DROOLS-1481) Validate function signature at compile time and improve error message
by Edson Tirelli (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1481?page=com.atlassian.jira.plugi... ]
Edson Tirelli updated DROOLS-1481:
----------------------------------
Description:
Function signatures as of now are only validated in runtime. We can improve it to add static validation as well. For instance, in the expression:
{code}"$"+ (if Payment < 1000 then string(Payment) else (substring(string(Payment),1,1) + "," + substring(string(decimal(Payment,2),2)))){code}
In runtime I get:
{quote}Unable to find function 'string( class java.math.BigDecimal, class java.math.BigDecimal )'{quote}
Because of:
{code}...string(decimal(Payment,2),2)...{code}
Instead of (see the misplaced parenthesis):
{code}...string(decimal(Payment,2)),2...{code}
I think we can also improve the error message to say:
{quote}Unable to find function 'string( number, number )'{quote}
was:
Function signatures as of now are only validated in runtime. We can improve it to add static validation as well. For instance, in the expression:
"$"+ (if Payment < 1000 then string(Payment) else (substring(string(Payment),1,1) + "," +
substring(string(decimal(Payment,2),2))))
In runtime I get:
Unable to find function 'string( class java.math.BigDecimal, class java.math.BigDecimal )'
Because of:
...string(decimal(Payment,2),2)...
Instead of (see the misplaced parenthesis):
...string(decimal(Payment,2)),2...
I think we can also improve the error message to say:
Unable to find function 'string( number, number )'
> Validate function signature at compile time and improve error message
> ---------------------------------------------------------------------
>
> Key: DROOLS-1481
> URL: https://issues.jboss.org/browse/DROOLS-1481
> Project: Drools
> Issue Type: Feature Request
> Components: dmn engine
> Affects Versions: 7.0.0.Beta7
> Reporter: Edson Tirelli
> Assignee: Edson Tirelli
> Fix For: 7.0.0.Final
>
>
> Function signatures as of now are only validated in runtime. We can improve it to add static validation as well. For instance, in the expression:
> {code}"$"+ (if Payment < 1000 then string(Payment) else (substring(string(Payment),1,1) + "," + substring(string(decimal(Payment,2),2)))){code}
> In runtime I get:
> {quote}Unable to find function 'string( class java.math.BigDecimal, class java.math.BigDecimal )'{quote}
> Because of:
> {code}...string(decimal(Payment,2),2)...{code}
> Instead of (see the misplaced parenthesis):
> {code}...string(decimal(Payment,2)),2...{code}
> I think we can also improve the error message to say:
> {quote}Unable to find function 'string( number, number )'{quote}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (DROOLS-1481) Validate function signature at compile time and improve error message
by Edson Tirelli (JIRA)
Edson Tirelli created DROOLS-1481:
-------------------------------------
Summary: Validate function signature at compile time and improve error message
Key: DROOLS-1481
URL: https://issues.jboss.org/browse/DROOLS-1481
Project: Drools
Issue Type: Feature Request
Components: dmn engine
Affects Versions: 7.0.0.Beta7
Reporter: Edson Tirelli
Assignee: Edson Tirelli
Fix For: 7.0.0.Final
Function signatures as of now are only validated in runtime. We can improve it to add static validation as well. For instance, in the expression:
"$"+ (if Payment < 1000 then string(Payment) else (substring(string(Payment),1,1) + "," +
substring(string(decimal(Payment,2),2))))
In runtime I get:
Unable to find function 'string( class java.math.BigDecimal, class java.math.BigDecimal )'
Because of:
...string(decimal(Payment,2),2)...
Instead of (see the misplaced parenthesis):
...string(decimal(Payment,2)),2...
I think we can also improve the error message to say:
Unable to find function 'string( number, number )'
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (WFCORE-2549) Elytron, unable to configure Kerberos authentication
by Martin Choma (JIRA)
[ https://issues.jboss.org/browse/WFCORE-2549?page=com.atlassian.jira.plugi... ]
Martin Choma updated WFCORE-2549:
---------------------------------
Description:
*User impact:* User can't configure kerberos authentication using Elytron
*Workaround:* There is no workaround
*Description:*
If I try command which worked previously I get error
{code}
[standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"])
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalArgumentException",
"rolled-back" => true
}
{code}
In server.log there is this stacktrace
{code}
15:00:53,476 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "elytron"),
("kerberos-security-factory" => "a")
]): java.lang.IllegalArgumentException
at org.jboss.dmr.ModelValue.asPropertyList(ModelValue.java:103)
at org.jboss.dmr.ModelNode.asPropertyList(ModelNode.java:503)
at org.wildfly.extension.elytron.KerberosSecurityFactoryDefinition$2.getValueSupplier(KerberosSecurityFactoryDefinition.java:168)
at org.wildfly.extension.elytron.TrivialAddHandler.performRuntime(TrivialAddHandler.java:77)
at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:151)
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1388)
at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
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)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}
Adding optional {{options}} attribute makes command work again
{code}
[standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"],options={a=b})
{"outcome" => "success"}
{code}
But after reload, there is error in server log
{code}
18:30:37,430 ERROR [org.jboss.as.controller] (Controller Boot Thread)
OPVDX001: Validation error in standalone.xml -----------------------------------
|
| 365: </kerberos-security-factory>
| 366: </credential-security-factories>
| 367: <mappers>
| ^^^^ 'mappers' isn't an allowed element here
|
| Elements allowed here are:
| audit-logging policy
| authentication-client providers
| credential-security-factories sasl
| credential-stores security-domains
| dir-contexts security-properties
| http security-realms
| mappers tls
|
| 368: <constant-permission-mapper name="default-permission-mapper">
| 369: <permission class-name="org.wildfly.security.auth.permission.LoginPermission"/>
| 370: <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/>
|
| 'mappers' is allowed in elements:
| - server > profile > {urn:wildfly:elytron:1.0}subsystem
| "
|
| The primary underlying error message was:
| > ParseError at [row,col]:[367,13]
| > Message: WFLYCTL0198: Unexpected element
| > '{urn:wildfly:elytron:1.0}mappers' encountered
|
|-------------------------------------------------------------------------------
18:30:37,430 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:143)
at org.jboss.as.server.ServerService.boot(ServerService.java:376)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:337)
at java.lang.Thread.run(Thread.java:745)
18:30:37,432 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
{code}
Attribute {{options}} is marked correctly optional in model.
{code}
"options" => {
"type" => OBJECT,
"description" => "The Krb5LoginModule additional options.",
"expressions-allowed" => false,
"required" => false,
"nillable" => true,
"value-type" => STRING,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "no-services"
},
{code}
was:
*User impact:* User can't configure kerberos authentication
*Workaround:* There is no workaround
*Description:*
If I try command which worked previously I get error
{code}
[standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"])
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalArgumentException",
"rolled-back" => true
}
{code}
In server.log there is this stacktrace
{code}
15:00:53,476 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "elytron"),
("kerberos-security-factory" => "a")
]): java.lang.IllegalArgumentException
at org.jboss.dmr.ModelValue.asPropertyList(ModelValue.java:103)
at org.jboss.dmr.ModelNode.asPropertyList(ModelNode.java:503)
at org.wildfly.extension.elytron.KerberosSecurityFactoryDefinition$2.getValueSupplier(KerberosSecurityFactoryDefinition.java:168)
at org.wildfly.extension.elytron.TrivialAddHandler.performRuntime(TrivialAddHandler.java:77)
at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:151)
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1388)
at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
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)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}
Adding optional {{options}} attribute makes command work again
{code}
[standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"],options={a=b})
{"outcome" => "success"}
{code}
But after reload, there is error in server log
{code}
18:30:37,430 ERROR [org.jboss.as.controller] (Controller Boot Thread)
OPVDX001: Validation error in standalone.xml -----------------------------------
|
| 365: </kerberos-security-factory>
| 366: </credential-security-factories>
| 367: <mappers>
| ^^^^ 'mappers' isn't an allowed element here
|
| Elements allowed here are:
| audit-logging policy
| authentication-client providers
| credential-security-factories sasl
| credential-stores security-domains
| dir-contexts security-properties
| http security-realms
| mappers tls
|
| 368: <constant-permission-mapper name="default-permission-mapper">
| 369: <permission class-name="org.wildfly.security.auth.permission.LoginPermission"/>
| 370: <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/>
|
| 'mappers' is allowed in elements:
| - server > profile > {urn:wildfly:elytron:1.0}subsystem
| "
|
| The primary underlying error message was:
| > ParseError at [row,col]:[367,13]
| > Message: WFLYCTL0198: Unexpected element
| > '{urn:wildfly:elytron:1.0}mappers' encountered
|
|-------------------------------------------------------------------------------
18:30:37,430 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:143)
at org.jboss.as.server.ServerService.boot(ServerService.java:376)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:337)
at java.lang.Thread.run(Thread.java:745)
18:30:37,432 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
{code}
Attribute {{options}} is marked correctly optional in model.
{code}
"options" => {
"type" => OBJECT,
"description" => "The Krb5LoginModule additional options.",
"expressions-allowed" => false,
"required" => false,
"nillable" => true,
"value-type" => STRING,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "no-services"
},
{code}
> Elytron, unable to configure Kerberos authentication
> ----------------------------------------------------
>
> Key: WFCORE-2549
> URL: https://issues.jboss.org/browse/WFCORE-2549
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Reporter: Martin Choma
> Assignee: Darran Lofthouse
> Priority: Blocker
>
> *User impact:* User can't configure kerberos authentication using Elytron
> *Workaround:* There is no workaround
> *Description:*
> If I try command which worked previously I get error
> {code}
> [standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"])
> {
> "outcome" => "failed",
> "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalArgumentException",
> "rolled-back" => true
> }
> {code}
> In server.log there is this stacktrace
> {code}
> 15:00:53,476 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("add") failed - address: ([
> ("subsystem" => "elytron"),
> ("kerberos-security-factory" => "a")
> ]): java.lang.IllegalArgumentException
> at org.jboss.dmr.ModelValue.asPropertyList(ModelValue.java:103)
> at org.jboss.dmr.ModelNode.asPropertyList(ModelNode.java:503)
> at org.wildfly.extension.elytron.KerberosSecurityFactoryDefinition$2.getValueSupplier(KerberosSecurityFactoryDefinition.java:168)
> at org.wildfly.extension.elytron.TrivialAddHandler.performRuntime(TrivialAddHandler.java:77)
> at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:151)
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
> at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
> at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
> at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1388)
> at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
> at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
> at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
> at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
> at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
> at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
> at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
> 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)
> at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> {code}
> Adding optional {{options}} attribute makes command work again
> {code}
> [standalone@localhost:9990 /] /subsystem=elytron/kerberos-security-factory=a:add(principal=HTTP/localhost@JBOSS.ORG, path=/somewhere, mechanism-oids=["1.2.840.113554.1.2.2","1.3.6.1.5.5.2"],options={a=b})
> {"outcome" => "success"}
> {code}
> But after reload, there is error in server log
> {code}
> 18:30:37,430 ERROR [org.jboss.as.controller] (Controller Boot Thread)
> OPVDX001: Validation error in standalone.xml -----------------------------------
> |
> | 365: </kerberos-security-factory>
> | 366: </credential-security-factories>
> | 367: <mappers>
> | ^^^^ 'mappers' isn't an allowed element here
> |
> | Elements allowed here are:
> | audit-logging policy
> | authentication-client providers
> | credential-security-factories sasl
> | credential-stores security-domains
> | dir-contexts security-properties
> | http security-realms
> | mappers tls
> |
> | 368: <constant-permission-mapper name="default-permission-mapper">
> | 369: <permission class-name="org.wildfly.security.auth.permission.LoginPermission"/>
> | 370: <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/>
> |
> | 'mappers' is allowed in elements:
> | - server > profile > {urn:wildfly:elytron:1.0}subsystem
> | "
> |
> | The primary underlying error message was:
> | > ParseError at [row,col]:[367,13]
> | > Message: WFLYCTL0198: Unexpected element
> | > '{urn:wildfly:elytron:1.0}mappers' encountered
> |
> |-------------------------------------------------------------------------------
> 18:30:37,430 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
> at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:143)
> at org.jboss.as.server.ServerService.boot(ServerService.java:376)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:337)
> at java.lang.Thread.run(Thread.java:745)
> 18:30:37,432 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
> {code}
> Attribute {{options}} is marked correctly optional in model.
> {code}
> "options" => {
> "type" => OBJECT,
> "description" => "The Krb5LoginModule additional options.",
> "expressions-allowed" => false,
> "required" => false,
> "nillable" => true,
> "value-type" => STRING,
> "access-type" => "read-write",
> "storage" => "configuration",
> "restart-required" => "no-services"
> },
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month