[ 
https://issues.apache.org/jira/browse/RAMPART-204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bob Jacoby updated RAMPART-204:
-------------------------------

    Attachment: PostDispatchVerificationHandler.patch

Patch to PostDispatchVerification handler to check if rampart is engaged, and 
immediately return if not.

> 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