PostDispatchHandler does not check whether rampart is engaged
-------------------------------------------------------------

                 Key: RAMPART-204
                 URL: https://issues.apache.org/jira/browse/RAMPART-204
             Project: Rampart
          Issue Type: Bug
          Components: rampart-core
    Affects Versions: 1.4
         Environment: Axis2 1.4.1/Rampart 1.4
            Reporter: Bob Jacoby
            Assignee: Ruchith Udayanga Fernando
         Attachments: PostDispatchVerificationHandler.patch

Axis2 appears to automatically register the Rampart handlers even if rampart is 
not explicitly engaged. This causes the handlers to run regardless of whether 
or not rampart is engaged. While I would consider this a bug in Axis2, there's 
a simple Rampart workaround that appears to be implemented in other rampart 
handlers.

All the other handlers (RampartReceiver, RampartSender, WSDoAllHandler) 
immediately check whether Rampart is engaged in the invoke method. If not, the 
method immediately returns. PostDispatchVerificationHandler does not perform 
this check, which causes the handler to throw an InvalidSecurity error if a 
policy is attached to the service, but the response is not signed. This is 
expected behavior if Rampart is engaged, but not when Rampart is not engaged.

The simple fix is to add the same check to the PostDispatchVerificationHandler 
invoke method as in the other methods. The attached patch does this.

Incidentally, as an FYI since this is an Axis2 issue I think, even though axis2 
registers the rampart handlers automatically, the rampart module is NOT marked 
as being engaged in the service client. So calling 
serviceClient.disengageModule to remove the rampart handlers will not remove 
the handlers. However, if you first explicitly engage rampart, and then call 
disengageModule the rampart handlers will be removed from the AxisConfiguration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to