Environment
Novell Identity Manager Driver- NDS Mirror Driver
Novell Identity Manager Driver- NDS Flat Driver
Novell Identity Manager Driver- NDS Dept Driver
Situation
During a merge operation on the eDirectory driver. The following Java exception appears.
An exception occurred:
com.novell.xml.dom.DOMExceptionImpl
at com.novell.xml.dom.NodeImpl.insertBefore(NodeImpl.java:174)
at com.novell.xml.dom.NodeImpl.appendChild(NodeImpl.java:381)
at com.novell.nds.dirxml.engine.Transformer.mergePassword(Transformer.java:1418)
at com.novell.nds.dirxml.engine.Transformer.createMergeDocuments(Transformer.java:1183)
at com.novell.nds.dirxml.engine.Publisher.processMerge(Publisher.java:1185)
at com.novell.nds.dirxml.engine.Publisher$AddProcessor.process(Publisher.java:745)
at com.novell.nds.dirxml.engine.Publisher.processEvent(Publisher.java:637)
at com.novell.nds.dirxml.engine.Publisher.processEvents(Publisher.java:542)
at com.novell.nds.dirxml.engine.Publisher.execute(Publisher.java:242)
at com.novell.nds.dirxml.driver.nds.PublicationShimImpl.publish(PublicationShimImpl.java:400)
at com.novell.nds.dirxml.driver.nds.PublicationShimImpl.start(PublicationShimImpl.java:312)
at com.novell.nds.dirxml.engine.Publisher.run(Publisher.java:388)
at java.lang.Thread.run(Thread.java:595)
at com.novell.xml.dom.NodeImpl.insertBefore(NodeImpl.java:174)
at com.novell.xml.dom.NodeImpl.appendChild(NodeImpl.java:381)
at com.novell.nds.dirxml.engine.Transformer.mergePassword(Transformer.java:1418)
at com.novell.nds.dirxml.engine.Transformer.createMergeDocuments(Transformer.java:1183)
at com.novell.nds.dirxml.engine.Publisher.processMerge(Publisher.java:1185)
at com.novell.nds.dirxml.engine.Publisher$AddProcessor.process(Publisher.java:745)
at com.novell.nds.dirxml.engine.Publisher.processEvent(Publisher.java:637)
at com.novell.nds.dirxml.engine.Publisher.processEvents(Publisher.java:542)
at com.novell.nds.dirxml.engine.Publisher.execute(Publisher.java:242)
at com.novell.nds.dirxml.driver.nds.PublicationShimImpl.publish(PublicationShimImpl.java:400)
at com.novell.nds.dirxml.driver.nds.PublicationShimImpl.start(PublicationShimImpl.java:312)
at com.novell.nds.dirxml.engine.Publisher.run(Publisher.java:388)
at java.lang.Thread.run(Thread.java:595)
Resolution
This has been entered in Bugzilla as Bug# 263003 and will be part of the next field patch for IDM 3.5. In the meantime the following policy can be used as a workaround to the issue.
Add this policy to the publisher event transformation on both eDirectory drivers
<rule>
<description>Revert to pre-IDM 3.5 behavior regarding merging of passwords in event transform</description>
<conditions><and>
<if-operation op="equal">add</if-operation>
<if-association op="associated"></if-association>
<if-password op="available"></if-password></and>
</conditions>
<actions>
<do-strip-xpath expression="password"></do-strip-xpath>
</actions>
</rule>
<rule>
<description>Revert to pre-IDM 3.5 behavior regarding merging of passwords in matching rule</description>
<conditions><and>
<if-dest-dn op="available"></if-dest-dn></and>
</conditions>
<actions>
<do-strip-xpath expression="password"></do-strip-xpath>
</actions>
</rule>
NOTE: Remove the rules after IDM 3.5 has been updated from the shipping version.
Add this policy to the publisher event transformation on both eDirectory drivers
<rule>
<description>Revert to pre-IDM 3.5 behavior regarding merging of passwords in event transform</description>
<conditions><and>
<if-operation op="equal">add</if-operation>
<if-association op="associated"></if-association>
<if-password op="available"></if-password></and>
</conditions>
<actions>
<do-strip-xpath expression="password"></do-strip-xpath>
</actions>
</rule>
<rule>
<description>Revert to pre-IDM 3.5 behavior regarding merging of passwords in matching rule</description>
<conditions><and>
<if-dest-dn op="available"></if-dest-dn></and>
</conditions>
<actions>
<do-strip-xpath expression="password"></do-strip-xpath>
</actions>
</rule>
NOTE: Remove the rules after IDM 3.5 has been updated from the shipping version.