[JBoss JIRA] (WFWIP-294) JWT is rejected if signature matching public key is not first in JWK set
by Jan Kasik (Jira)
Jan Kasik created WFWIP-294:
-------------------------------
Summary: JWT is rejected if signature matching public key is not first in JWK set
Key: WFWIP-294
URL: https://issues.redhat.com/browse/WFWIP-294
Project: WildFly WIP
Issue Type: Bug
Reporter: Jan Kasik
Assignee: Kabir Khan
Attachments: jwks.json, jwt.base64
When public key on remote server is configured to be JWK set, the JWT which has correctly configured key ID to aim on matching public key from the set is rejected if matching public key is not on first position in the set array.
Attached is "flawed" key set with "blue-key" placed on first position in array.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (WFLY-12947) EL should coerce String to Integer in equals operation
by Ricardo Martin Camarero (Jira)
[ https://issues.redhat.com/browse/WFLY-12947?page=com.atlassian.jira.plugi... ]
Ricardo Martin Camarero moved JBEAP-18439 to WFLY-12947:
--------------------------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-12947 (was: JBEAP-18439)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: EE
(was: EE)
Affects Version/s: 18.0.1.Final
(was: 7.2.5.GA)
QE Test Coverage: (was: +)
> EL should coerce String to Integer in equals operation
> ------------------------------------------------------
>
> Key: WFLY-12947
> URL: https://issues.redhat.com/browse/WFLY-12947
> Project: WildFly
> Issue Type: Bug
> Components: EE
> Affects Versions: 18.0.1.Final
> Reporter: Ricardo Martin Camarero
> Assignee: Ricardo Martin Camarero
> Priority: Major
>
> EAP 7's EL equals operations work differently from EAP 6 one.
> For example: put the following JSP in your web application (e.g. example.war)
> {code:java|title=test.jsp}
> <% request.setAttribute("testAttr", "01"); %>
> ${testAttr == 1}</br>
> ${param['foo'] == 1}<br>
> ${1 == param['foo']}<br>
> ${1 == (0+param['foo'])}<br>
> {code}
> Then, access the above JSP with curl command:
> {code}
> $ curl http://localhost:8080/example/test.jsp?foo=01
> {code}
> - Expected result (EAP 6's behavior):
> {code}
> true<br>
> true<br>
> true<br>
> true<br>
> {code}
> - Actual result (EAP 7's behavior):
> {code}
> false<br>
> false<br>
> false<br>
> true<br>
> {code}
> In the section 1.9.2 of [EL 3.0 Specification|https://download.oracle.com/otndocs/jcp/el-3_0-fr-eval-spec...], the ==,!= operators have the following step:
> {code}
> ■If A==B, apply operator
> ■ If A is null or B is null return false for == or eq, true for != or ne.
> ■ If A or B is BigDecimal, coerce both A and B to BigDecimal and then:
> ■ If operator is == or eq, return A.equals(B)
> ■ If operator is != or ne, return !A.equals(B)
> ■ If A or B is Float or Double coerce both A and B to Double, apply operator
> ■ If A or B is BigInteger, coerce both A and B to BigInteger and then:
> ■ If operator is == or eq, return A.equals(B)
> ■ If operator is != or ne, return !A.equals(B)
> ■ If A or B is Byte, Short, Character, Integer, or Long coerce both A and B to Long, apply operator
> ■ If A or B is Boolean coerce both A and B to Boolean, apply operator
> ■ If A or B is an enum, coerce both A and B to enum, apply operator
> ■ If A or B is String coerce both A and B to String, compare lexically
> ■ Otherwise if an error occurs while calling A.equals(B), error
> ■ Otherwise, apply operator to result of A.equals(B)
> {code}
> Note that the step "If A or B is Byte, Short, Character, Integer, or Long coerce both A and B to Long, apply operator" should happen earlier than the step coercion to String. So, it appears that EAP 7's behavior violates the spec.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (DROOLS-4909) Infinite recursion in drools after version change from v7.20 to v7.21
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-4909?page=com.atlassian.jira.plug... ]
Mario Fusco commented on DROOLS-4909:
-------------------------------------
Before 7.20 when the property reactivity analysis couldn't figure out which was the property interested by a given constraint it simply skipped it. This resulted in missing firings, so when this happens now it takes the safest possible choice and just disable the reactivity for the whole pattern. That said I admit that yours is an edge case and Drools should behave in exactly the same way for '$card == card' and 'card == $card'. I'll try to fix this in one of the next minor releases.
> Infinite recursion in drools after version change from v7.20 to v7.21
> ---------------------------------------------------------------------
>
> Key: DROOLS-4909
> URL: https://issues.redhat.com/browse/DROOLS-4909
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.21.0.Final, 7.22.0.Final, 7.23.0.Final, 7.25.0.Final, 7.31.0.Final
> Environment: Both Mac and Windows
> Reporter: Crosson David
> Assignee: Mario Fusco
> Priority: Major
> Attachments: Screen Shot 2019-07-10 at 3.53.10 PM.png, Screen Shot 2019-07-10 at 5.56.32 PM.png, Screen Shot 2019-07-10 at 5.59.28 PM.png, error.png, pojo.png, static.png, static_error.png, toto.drl
>
>
> https://issues.redhat.com/browse/DROOLS-4288
> The problem is not fully solved, I got a forever loop on my KB since 7.21.0.Final, I tried with 7.25.0.Final but without success, and the issue is still here with 7.31.0.Final. Will go back to release 7.20.0.Final
> (the only fix I can apply is to add no-loop clause to my rules although it shouldn't be necessary).
> I can't share the affected KB, and unfortunately I was unable to reproduce the issue loop on a smaller example
> The affected rule looks like :
> {{rule "reset metric to max score when no more issues are present"
> //no-loop // TODO - no-loop TO BE REMOVED AS IT SHOULDN'T BE NECESSARY
> when
> Something($id:identity, $origin:origin)
> not Issue($id == identity, $origin == origin, category!="metrics")
> $scoring: Scoring(name == "performance", $id == identity, $origin == origin)
> then
> modify($scoring)
> { setValue(100.0); }
> end}}
> ----
> from https://issues.redhat.com/browse/DROOLS-4288 :
> When there is a version change in drools-compiler from `7.20.0.Final` to `7.21.0.Final` some rules are looping recursively.
> *Code in github:*
> [The working version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.20]
> [The recursively looping version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21]
> [The change between working and looping version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *More details*
> When I fire a rule whose `then` part modifies a fact that is already checked in the `when` part:
> {code:java}
> rule "rule 1.1"
> when
> $sampleDomain: SampleDomain(instanceVariable2 == "Value of instance variable")
> then
> System.out.println("Rule 1.1 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it doesn't loop recursively.
> But when I call another rule which call a static function from another class:
> {code:java}
> rule "rule 1.2"
> when
> $sampleDomain: SampleDomain(CoreUtils.anotherFunction())
> then
> System.out.println("Rule 1.2 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it loops recursively.
> The class with static function is
> {code:java}
> import com.drool_issue.domain.SampleDomain;
> public class CoreUtils {
>
> public static boolean anotherFunction() {
> System.out.println("anotherFunction() inside CoreUtils");
> return true;
> }
>
> public static boolean anotherFunction(SampleDomain sampleDomain) {
> System.out.println("anotherFunction(SampleDomain sampleDomain) inside CoreUtils");
> return true;
> }
> }
> {code}
> My domain file is:
> {code:java}
> public class SampleDomain {
> private int instanceVariable1;
> private String instanceVariable2;
> private int instanceVariable3;
>
>
> public int getInstanceVariable1() {
> return instanceVariable1;
> }
> public void setInstanceVariable1(int instanceVariable1) {
> this.instanceVariable1 = instanceVariable1;
> }
> public String getInstanceVariable2() {
> return instanceVariable2;
> }
> public void setInstanceVariable2(String instanceVariable2) {
> this.instanceVariable2 = instanceVariable2;
> }
> public int getInstanceVariable3() {
> return instanceVariable3;
> }
> public void setInstanceVariable3(int instanceVariable3) {
> this.instanceVariable3 = instanceVariable3;
> }
>
>
> }
> {code}
> This is only caused after version change from `7.20.0.Final` to `7.21.0.Final`. Any guess on what the problem might be?
> When I further looked into the problem I saw this too.
> When we add two functions into the `SampleDomain` class ie
> {code:java}
> public boolean anotherFunction() {
> return true;
> }
>
> public boolean anotherFunction(SampleDomain sampleDomain) {
> return true;
> }
> {code}
> and use this in the rule like:
> {code:java}
> rule "rule 1.4"
> when
> $sampleDomain: SampleDomain(anotherFunction())
> then
> System.out.println("Rule 1.4 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> and
> {code:java}
> rule "rule 1.5"
> when
> $sampleDomain: SampleDomain(anotherFunction($sampleDomain))
> then
> System.out.println("Rule 1.5 fired");
> modify($sampleDomain){
> setInstanceVariable3(4)
> }
> end
> {code}
> these also loops recursively.
> *Code in github:*
> [The recursive looping when using non static methods|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7....]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> Also when any of the static method is made non static then method from the domain class is called even though the static method is specified in the rule.
> *Code portions to be noted here are:*
> [Rule where static method is called.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [Another rule which also call the static method.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [The static access modifier removed from the functions which where previously static.|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *Code in github:*
> [Weird behaviour when removing static modifier for the functions.|https://github.com/padippist/DroolsIssueReporting/tree/issue_v...]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *All this are caused in versions after `7.20.0.Final`, ie `7.21.0.Final`, `7.22.0.Final` and `7.23.0.Final`*
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (WFLY-12941) Microprofile count metrics does not increase in wildfly17
by alireza alallah (Jira)
[ https://issues.redhat.com/browse/WFLY-12941?page=com.atlassian.jira.plugi... ]
alireza alallah updated WFLY-12941:
-----------------------------------
Description:
for example
@Path("/")
public class RESTEndpoints {
@GET
@Path("/hello")
@Counted(name"total_count",absolute = true)
public String hello(@DefaultValue("my friend!") @QueryParam("name") String name) {
return "Hello "+name;
}
}
Now in http://localhost:9990/metrics *total_count* metric does not increase after invoke endpoint.
was:Count metrics in wildfly17 does not increase
> Microprofile count metrics does not increase in wildfly17
> ----------------------------------------------------------
>
> Key: WFLY-12941
> URL: https://issues.redhat.com/browse/WFLY-12941
> Project: WildFly
> Issue Type: Bug
> Reporter: alireza alallah
> Assignee: Brian Stansberry
> Priority: Major
>
> for example
> @Path("/")
> public class RESTEndpoints {
>
> @GET
> @Path("/hello")
> @Counted(name"total_count",absolute = true)
> public String hello(@DefaultValue("my friend!") @QueryParam("name") String name) {
> return "Hello "+name;
>
> }
>
> }
> Now in http://localhost:9990/metrics *total_count* metric does not increase after invoke endpoint.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (WFLY-12941) , Count metrics in wildfly17 does not increase
by alireza alallah (Jira)
[ https://issues.redhat.com/browse/WFLY-12941?page=com.atlassian.jira.plugi... ]
alireza alallah commented on WFLY-12941:
----------------------------------------
oh sorry, you are right, :)
I am taking about eclipse microprofile specifications impl in wildfly17 , @Counted() does not increase during invoke Endpoint and this application metrics always zero in wildfly 17, also we have another jee server such as thorntail for that @counted works but for wildfly does not work.
> ,Count metrics in wildfly17 does not increase
> ---------------------------------------------
>
> Key: WFLY-12941
> URL: https://issues.redhat.com/browse/WFLY-12941
> Project: WildFly
> Issue Type: Bug
> Reporter: alireza alallah
> Assignee: Brian Stansberry
> Priority: Major
>
> Count metrics in wildfly17 does not increase
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (DROOLS-4912) DMN Data type editor - inline add action button.
by Elizabeth Clayton (Jira)
[ https://issues.redhat.com/browse/DROOLS-4912?page=com.atlassian.jira.plug... ]
Elizabeth Clayton updated DROOLS-4912:
--------------------------------------
Description:
Change the behavior and tooltip for the inline add icon-button (+). Currently it converts the type to Structure before adding a row below. Instead, we want it to add another row without converting the type.
Acceptance criteria:
*Tooltip: "Add row below (Ctrl + B)"
Behavior - Clicking the (+) inline add button:
* from a type defined as Structure, will add a field row below.
* from a Field row (within a Structure), will add another field row below.
* from a Simple type, such as "Person(string)", will add another row of the same type below.
was:
Change the behavior and tooltip for the inline add icon-button (+). Currently it converts the type to Structure before adding a row below. Instead, we want it to add another row without converting the type.
Acceptance criteria:
*Tooltip: "Add row below (Ctrl + B)"
Behavior - Clicking the (+) inline add button:
* from a type defined as Structure, will add a field row below.
* from a Field row (within a Structure), will add a field row below.
* from a Simple type, such as "Person(string)", will add another row of the same type below.
> DMN Data type editor - inline add action button.
> -------------------------------------------------
>
> Key: DROOLS-4912
> URL: https://issues.redhat.com/browse/DROOLS-4912
> Project: Drools
> Issue Type: Bug
> Components: DMN Editor
> Reporter: Elizabeth Clayton
> Assignee: Guilherme Gomes
> Priority: Minor
> Labels: UX, drools-tools
> Attachments: Screen Shot 2020-01-08 at 7.06.20 PM.png
>
>
> Change the behavior and tooltip for the inline add icon-button (+). Currently it converts the type to Structure before adding a row below. Instead, we want it to add another row without converting the type.
> Acceptance criteria:
> *Tooltip: "Add row below (Ctrl + B)"
> Behavior - Clicking the (+) inline add button:
> * from a type defined as Structure, will add a field row below.
> * from a Field row (within a Structure), will add another field row below.
> * from a Simple type, such as "Person(string)", will add another row of the same type below.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months