token-map errors out with StringIndexOutOfBoundsException after patching to 4.5.3

  • 7017415
  • 28-Mar-2016
  • 29-Mar-2016

Environment


NetIQ Identity Manager 4.5.3

Situation

On versions prior to 4.5.3, if an empty variable is passed in to a token-map verb, it results on an empty token. 

Since 4.5.3, when an empty variable is passed in, the operation errors out and reports the following:
An exception occurred: java.lang.StringIndexOutOfBoundsException: String index out of range: -1

When this happens, the processing of the event gets interrupted and the event is lost.

Resolution

The issue has been reported to engineering and a new version of dirxml.jar is available internally. The fix will be publicly released with the IDM 4.5.4 patch.

If a fix is required before patch 4.5.4 is released, please contact Novell Technical Services.

Additional Information

This is the full error displayed in trace:

[01/13/16 15:43:19.601]:SAP-User-JCO3 ST:
DirXML Log Event -------------------
     Driver:   \TREE\acme\services\DirXML-DriverSet\SAP-User-JCO3
     Channel:  Subscriber
     Object:   \TREE\acme\cz\usr\abcz9999
     Status:   Error
     Message:  Code(-9010) An exception occurred: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1967)
        at com.novell.nds.dirxml.engine.rules.Arg.evaluate(Arg.java:520)
        at com.novell.nds.dirxml.engine.rules.TokenMap.expand(TokenMap.java:109)
        at com.novell.nds.dirxml.engine.rules.Arg.evaluate(Arg.java:464)
        at com.novell.nds.dirxml.engine.rules.DoSetLocalVariable.apply(DoSetLocalVariable.java:100)