I sync photos from a notes DB to edir, which come in as base64 string values. All I should need to do is change @type="string" to @type="octet" on the value nodes to have IDM correctly store them in edir. This works fine in an input transform when I sync test accounts through a migrate command from imanager. When the docs come from ndsrep over the publisher, all values are truncated at the first line break, though:

[02/04/10 01:36:55.596]RV_MPMA_ALL :Remote Interface Driver: Received.
[02/04/10 01:36:55.597]RV_MPMA_ALL :
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product build="20090520_001502" instance="DRV_MPMA_ALL" version="3.5.4">Identity Manager Driver for Lotus Notes</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify class-name="Maske_MA" event-id="5F1FF7499824AE1FC1256B3500736E69 - 1265243815386">
<association state="associated">5F1FF7499824AE1FC1256B3500736E6 9</association>
...
<modify-attr attr-name="jpeg_base64">
<remove-all-values/>
<add-value>
<value>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU</value>
</add-value>
</modify-attr>
...

whereas a trace snipplet from a sync looks like this:

[02/04/10 10:27:17.056]RV_MPMA_ALL :Remote Interface Driver: Received.
[02/04/10 10:27:17.056]RV_MPMA_ALL :
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product build="20090520_001502" instance="DRV_MPMA_ALL" version="3.5.4">Identity Manager Driver for Lotus Notes</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="Maske_MA" event-id="0">
<association>5F1FF7499824AE1FC1256B3500736E69</association>
...
<attr attr-name="jpeg_base64">
<value type="string">/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU
FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKC goKCgoKCj/wAARCACFAGcDASIA
AhEBAxEB/8QAHQAAAgMBAQEBAQAAAAAAAAAABQYABAcIAwIBCf/EADoQAAIBAwIEAwUHAwQCAwAA
AAECAwAEEQUhBhIxQQcTUSJhcYGRCBQyobHB8FJi0SNC4fEWcj NDgv/EABoBAAIDAQEAAAAAAAAA
AAAAAAMEAAIFBgH/xAAnEQACAgICAgICAQUAAAAAAAAAAQIDESEEMRIiMkFRsSMzcZ Gh8P/aAAwD
AQACEQMRAD8AxuSMZ9221VpYskqcjtkds0WliwpI3A6ZqjN7GO 2D2phMswPcowblCkKANqrIWJYE
dfdvnP60TmUZGPXf6VNO057q6CRAZJAzgAUVSSWyuNljStNnvp iscbNljjA+FPNjwza23KZYvNmx
kBvwiiPDumW9haqEHPI2zOV3Y+g9BTLb2BltJWI5YzspH51m38 h9IdooT2xZnu7fTAFLRJjYAAUP
fiM83NDMMd/SlDj7iEWmovaaTHkjPNO4zn/1/wA0t6PfXktw0d60nksMEqMFScAH5Ghxi5LyYduK
l4RNp0vV0vW+73MYjm7MuwO3eicXDMGoyctxZW9xlAmJIwTjOf 3rK9G1uSJF5rZkniYYIzgr3/Wu
h/DbXdO1O2jNwAkwAXfvnFeeTgySrTXRh/H/AIWPYWUmoabC8YX8cLEnG+7b77enpWSywGCRknDK
RnbHev6BmOw1C4ns5o45o2BDE79ex+tcV+KOkNpnEV5EyFBG/IF7AAnH5YrR417n6yELq1HaEpsZ
9npUr5qUbyyANbuIwck0KuwRn596OTA7gjJ99C7hMttufpQEwz BnISc9jnv1ph0a28tkUHlkY9f6
RQ20iMkoycKm5Johazjmbl2LHHwHUn44oV1mNILTXnbHu2cLHE wGx2XPZfX5mmPXboWPDb8mDyoF
C+rHb+fOlDSpTdSIFIHMw5QPQdKN3Ktqd7bWik+Sr+Yw9w2Gfz NZlj2adMMg/hDga3una8vrdXnk
3yRTq/AemSW/IsCKeoPJvTLokKwxqFGB0owoBOMGqOTYxpaSEODw/wBMjjPNDlyDk14pwjHp03Pa
5Vcg4G3TetIWFTvgkVVv7deQkA7CqtsikuhItdQmsNX8vIUSsC T3pT8ceFJNcuY721hDyS8gcL1J
AI/cfQU18VQ8ixTpkPG3wolpiJrtqIZnXnTZT3/53xTPHtcXkT5VSfRxbqFhc2E7x3MTKUYqTjbI
OP2qVoHjHw5NoOpsoTEJcqSo69wT9albKXmvJGO1h4DVzjmbri hshywIGdgN+9ELg+2wB7mqjIHk
5Ngc9aCgqRTvJjaWyhMB5T+Vflg+0aAjzHPLjPTJqhfzfe9a5V YckOenrjFe+ihfvzSs2eXCImMk
d/zpWbzsehDCSNG0MciYQhWVM/DJwKL6HczRTmSGzlmVjjnUZ9kdKD6N5i6Q4XL3Vw/Kn6fuaYW4
VvpbWFUupU5F6RMVy3qcdfhST2x2MXFaG/SOKLBrj7tL5lvcD/ZKhWmy3lRmyNx0rL4tB+4cP2iT
kiJ4P0nJydzXtZgtcKqnlLbc2ccvvrwpn8M1ifjzRo5+Xy5ZvK PN0PMpUfmarP4sJT/Ujn8llZTY
....

Looks like a bug in ndsrep to me, anyone else seeing this? Perry, would you mind to test and file a bug if necessary?

Btw. can be worked around easily this way:

<rule>
<description>Reformat jpegPhoto</description>
<comment xml:space="preserve">Convert String -> Octet String. Add/Modifies only come with the first line of the B64 -> re-read from source (queries return full multi-line text, bug in ndsrep?)</comment>
<conditions>
<and>
<if-op-attr name="jpeg_base64" op="changing"/>
</and>
</conditions>
<actions>
<do-if>
<arg-conditions>
<and>
<if-operation mode="regex" op="equal">add|modify</if-operation>
</and>
</arg-conditions>
<arg-actions>
<do-strip-op-attr name="jpeg_base64"/>
<do-if>
<arg-conditions>
<and>
<if-operation mode="case" op="equal">modify</if-operation>
</and>
</arg-conditions>
<arg-actions>
<do-set-dest-attr-value name="jpeg_base64">
<arg-value type="octet">
<token-src-attr name="jpeg_base64"/>
</arg-value>
</do-set-dest-attr-value>
</arg-actions>
<arg-actions>
<do-add-dest-attr-value name="jpeg_base64">
<arg-value type="octet">
<token-src-attr name="jpeg_base64"/>
</arg-value>
</do-add-dest-attr-value>
</arg-actions>
</do-if>
</arg-actions>
<arg-actions>
<do-reformat-op-attr name="jpeg_base64">
<arg-value type="octet">
<token-local-variable name="current-value"/>
</arg-value>
</do-reformat-op-attr>
</arg-actions>
</do-if>
</actions>
</rule>

Cheers, Lothar