Hi dochelp team,
I working on Openchage MAPI RPC mapi implementation at the moment,
and occasionally I get an incomplete "x500 DN" in ModifyRecipientRow commit
from RopModifyRecients.
Please see [1] for ndrdump I have for messages with truncated x500 DN.
In such cases, I get following string for x500 DN:
* 'Anization/ou=First Administrative Group/cn=Recipients/cn=a'*
And what I am expecting is something like:
/o=First Organization/ou=First Administrative Group/cn=Recipients/cn=a
Digging a bit in documentation, I have found this - [MS-OXCDATA —
v20140130], 2.8.3.2 -> AddressPrefixUsed:
*AddressPrefixUsed* (optional) (1 byte): Unsigned integer. This field MUST
be present when
the Type field of the RecipientFlags field is set to X500DN (0x1) and MUST
NOT be present
otherwise. *This value specifies the amount of the Address Prefix is used
for this X500 DN.*
So it seems it is not a bug in Outlook but rather expected behavior.
My question/s:
1) What is "Address Prefix"? Is it some kind of prefix map we are referring
in such messages?
2) How to use the "AddressPrefixUse" to re-construct the full x500 DN for
the recipient?
Oh, and just one more thing to note - as I said, this happens on a random
basis.
Should I recreate the Outlook profile, then Outlook starts to send me full
x500 DNs.
Best regards,
Kamen Mazdrashki
Refs:
[1]
mapi_ModifyRecipients: struct
ModifyRecipients_req
prop_count : 0x0010 (16)
properties: ARRAY(16)
properties :
PidTagObjectType (0xFFE0003)
properties :
PidTagDisplayType (0x39000003)
properties :
PidTagAddressBookDisplayNamePrintable (0x39FF001F)
properties :
PidTagSmtpAddress (0x39FE001F)
properties :
PidTagSendInternetEncoding (0x3A710003)
properties :
UNKNOWN_ENUM_VALUE (0x5FDE0003)
properties :
PidTagRecipientOrder (0x5FDF0003)
properties :
UNKNOWN_ENUM_VALUE (0x5FEB0003)
properties :
UNKNOWN_ENUM_VALUE (0x5FEF0003)
properties :
UNKNOWN_ENUM_VALUE (0x5FF20003)
properties :
UNKNOWN_ENUM_VALUE (0x5FF50003)
properties :
PidTagRecipientDisplayName (0x5FF6001F)
properties :
PidTagRecipientEntryId (0x5FF70102)
properties :
PidTagRecipientFlags (0x5FFD0003)
properties :
PidTagRecipientTrackStatus (0x5FFF0003)
properties :
UNKNOWN_ENUM_VALUE (0x6001001F)
cValues : 0x0001 (1)
RecipientRow: ARRAY(1)
RecipientRow: struct
ModifyRecipientRow
idx :
0x00000000 (0)
RecipClass :
MAPI_TO (0x1)
RecipientRow: struct RecipientRow
RecipientFlags :
0x07d1 (2001)
AddressPrefixUsed :
union recipient_AddressPrefixUsed(case 1)
*prefix_size :
0x0c (12)*
DisplayType :
union recipient_DisplayType(case 1)
display_type :
SINGLE_RECIPIENT (0x0)
X500DN :
union recipient_X500DN(case 1)
* recipient_x500name :
'Anization/ou=First Administrative Group/cn=Recipients/cn=a'*
EntryId :
union recipient_EntryId(case 0)
SearchKey :
union recipient_SearchKey(case 0)
AddressType :
union recipient_AddressType(case 1)
EmailAddress :
union recipient_EmailAddress(case 512)
DisplayName :
union recipient_DisplayName(case 528)
lpszW : 'a
a'
SimpleDisplayName :
union recipient_SimpleDisplayName(case 1536)
lpszW : 'a
a'
TransmittableDisplayName :
union recipient_TransmittableDisplayName(case 512)
prop_count :
0x0010 (16)
layout :
0x00 (0)
prop_values :
DATA_BLOB length=235
_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel