Hi, There seem to be several IDL issues which prevent me retrieving exceptions for recurring appointments. The first is a simple case of an enum being encoded as 4 bytes instead of the 2 as spec'd:
diff -C5 openchange-1.0-BORG-original/property.idl openchange-1.0-BORG/property.idl *** openchange-1.0-BORG-original/property.idl 2012-03-13 10:52:50.000000000 +0000 --- openchange-1.0-BORG/property.idl 2012-03-18 15:14:49.823027524 +0000 *************** *** 118,128 **** FirstDOW_Thursday = 0x4, FirstDOW_Friday = 0x5, FirstDOW_Saturday = 0x6 } FirstDOW; ! typedef [v1_enum] enum { ARO_SUBJECT = 0x0001, ARO_MEETINGTYPE = 0x0002, ARO_REMINDERDELTA = 0x0004, ARO_REMINDER = 0x0008, ARO_LOCATION = 0x0010, --- 118,128 ---- FirstDOW_Thursday = 0x4, FirstDOW_Friday = 0x5, FirstDOW_Saturday = 0x6 } FirstDOW; ! typedef [enum16bit] enum { ARO_SUBJECT = 0x0001, ARO_MEETINGTYPE = 0x0002, ARO_REMINDERDELTA = 0x0004, ARO_REMINDER = 0x0008, ARO_LOCATION = 0x0010, The second issue is to do with decoding Exception_Msg. The spec says there are 2 uint16s followed by an array of chars, and this seems to be what the idl says: typedef [public,flag(NDR_NOALIGN)] struct { uint16 msgLength; uint16 msgLength2; [size_is(msgLength)] uint8 msg[]; } Exception_Msg; but the emitted code looks ike this: _PUBLIC_ enum ndr_err_code ndr_pull_Exception_Msg(struct ndr_pull *ndr, int ndr_flags, struct Exception_Msg *r) { ... NDR_CHECK(ndr_pull_array_size(ndr, &r->msg)); NDR_CHECK(ndr_pull_align(ndr, 2)); NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->msgLength)); NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->msgLength2)); NDR_PULL_ALLOC_N(ndr, r->msg, ndr_get_array_size(ndr, &r->msg)); NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->msg, ndr_get_array_size(ndr, &r->msg))); The call to ndr_pull_array_size seems to consume 4 bytes, which are not in the stream, and so things go wrong. It is as if the size_is clause is somehow ignored. I've poked around the Samba pidl compiler, but I am not sure how to fix this. I'll file a bug once my tracker account issue is resolved, but any help would be appreciated. Thanks, Shaheed _______________________________________________ devel mailing list devel@lists.openchange.org http://mailman.openchange.org/listinfo/devel