Skip to main content

Problem:

  • Product Name: VisiBroker
  • Product Version: 7 and later
  • Product Component: Policy
  • Platform/OS: All supported platforms

In a number of cases, customer uses SetOverrideType.SET_OVERRIDE instead of SetOverrideType.ADD_OVERRIDE to add additional policy. Consequently, it results in unexpected behavior like NO_PERMISSION exception in VBJ and core dump in VBC.

An example is VisiSecure core dump at vbsec::CSIV2IORInterceptor::establish_components.

Resolution:

The following is extracted from Issue 3614: Policy Management in the ORB core (orb_revision).

If SET_OVERRIDE is supplied, the supplied policies completely replace all existing overrides associated with the object reference. If ADD_OVERRIDE is supplied, the supplied policies are added to the existing overrides associated with the object reference, except that if a supplied Policy object has the same PolicyType value as an existing override, the supplied Policy object replaces the existing override.

You should use ADD_OVERRIDE to add new overrides to the PolicyManager or to replace existing overrides.

SET_OVERRIDE should be used to discard the current set of overrides in the PolicyManager and to use the set as defined in the set_policy_overrides method call.

SET_OVERRIDE should be used with care as many policies have been set through properties during application startup. Using SET_OVERRIDE will cause the initial set of policies to be discarded, and possibly causing the ORB to fail as it is unable to find the policies which it requires.

 


#VisiBroker
#Policy
#SET_OVERRIDE
#NO_PERMISSION
#ADD_OVERRIDE
#Security