The attached patch sounds to fix the problem both on x86_32 and x86_64.
(Yeah schooms was able to reproduce the problem on his 32 bits machine).

Brad, let me know if it also fixes the problem for you before I apply on
trunk.

Cheers,
Julien.

On Wed, 2008-03-26 at 15:57 +0100, Julien Kerihuel wrote:
> Brad,
> 
> I've been looking at this issue with particular attention today, trying
> to figure out possible reason why this would fail. I've rebuild from
> scratch on 3 different platforms (+ 1 with a ubuntu distribution built
> from scratch on x86 platform) and still unable to reproduce the problem.
> 
> Finally, I had the opportunity to extensively test libocpf with schooms.
> He is running a x86_64 plaform with 32 bits OS and encounters the same
> issues that you described (same flex&bison versions). We've been running
> different tests/patches and finally have the following output:
> 
> http://openchange.pastebin.com/mac324b4
> 
> Errors are relative to OLEGUID and OLEGUID use is relevant to OOM,
> MNID_ID and MNID_STRING which may explains why known properties are set
> properly while everything somewhat related to named properties fails.
> 
> It sounds like calls to GUID_from_string returns
> NT_STATUS_INVALID_PARAMETER. My guess may be completely irrelevant, but
> could this problem be related so sscanf? 
> 
> What may me think this can be irrelevant is that we already use
> GUID_from_string in libmapi/mapi_nameid.c and never encounter such
> problems. Furthermore I'm not even sure you are compiling openchange on
> x86_64 platform.
> 
> If someone with the latest openchange trunk revision and a x86_32
> platform could run the following test (using rev373 or later) from
> openchange source directory and post the output on the list, this would
> really be worthwhile:
> 
> $ openchangeclient --ocpf-syntax
> --ocpf-file=libocpf/examples/sample_appointment.ocpf
> 
> Note: this test doesn't either require to have a profile configured or a
> valid connection to an exchange server.
> 
> Cheers,
> Julien.
> 
> On Tue, 2008-03-25 at 15:35 +1100, Brad Hards wrote:
> > I'm trying to get the OCPF examples working on SBS2003 SP2, and I am seeing 
> > some debugging output for both examples.
> > 
> > $ 
> > openchangeclient --ocpf-syntax 
> > --ocpf-file=libocpf/examples/sample_appointment.ocpf 
> > --ocpf-file=libocpf/examples/common_OLEGUID.ocpf
> > libocpf/examples/common_OLEGUID.ocpf:22: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:23: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:24: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:25: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:26: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:27: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:28: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:29: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:26: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:27: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:28: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:48: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:50: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:51: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:52: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:53: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:55: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:58: Unknown MNID_ID
> > libocpf/examples/sample_appointment.ocpf:60: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:66: Unknown MNID_STRING
> > 
> > TYPE:
> > =====
> >         * IPM.Appointment
> > 
> > FOLDER:
> > =======
> >         * 0x9
> > 
> > OLEGUID:
> > ========
> > 
> > VARIABLE:
> > =========
> >         wrong
> >         private
> >         keywords
> >         reminder
> >         end_date
> >         start_date
> >         subject
> > 
> > PROPERTIES:
> > ===========
> >         0x00360003 = PR_SENSITIVITY
> >         0x00610040 = PR_END_DATE
> >         0x00600040 = PR_START_DATE
> >         0x1000001e = PR_BODY
> >         0x0e1d001e = PR_NORMALIZED_SUBJECT
> >         0x0070001e = PR_CONVERSATION_TOPIC
> > 
> > NAMED PROPERTIES:
> > =================
> > 
> >         OOM:
> >         ----
> > 
> >         MNID_ID:
> >         --------
> >                 * 0x8501
> > 
> >         MNID_STRING:
> >         ------------
> >     OCPF Syntax              : MAPI_E_SUCCESS (0x0)
> > 
> > 
> > $ 
> > openchangeclient --ocpf-syntax 
> > --ocpf-file=libocpf/examples/sample_task.ocpf 
> > --ocpf-file=libocpf/examples/common_OLEGUID.ocpf
> > libocpf/examples/common_OLEGUID.ocpf:22: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:23: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:24: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:25: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:26: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:27: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:28: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:29: OLEGUID invalid
> > libocpf/examples/sample_task.ocpf:25: OLEGUID invalid
> > libocpf/examples/sample_task.ocpf:26: OLEGUID invalid
> > libocpf/examples/sample_task.ocpf:27: OLEGUID invalid
> > libocpf/examples/sample_task.ocpf:45: Unknown OOM
> > libocpf/examples/sample_task.ocpf:46: Unknown OOM
> > libocpf/examples/sample_task.ocpf:47: Unknown OOM
> > libocpf/examples/sample_task.ocpf:48: Unknown OOM
> > libocpf/examples/sample_task.ocpf:49: Unknown OOM
> > libocpf/examples/sample_task.ocpf:50: Unknown MNID_STRING
> > 
> > TYPE:
> > =====
> >         * IPM.Task
> > 
> > FOLDER:
> > =======
> >         * 0xd
> > 
> > OLEGUID:
> > ========
> > 
> > VARIABLE:
> > =========
> >         task_status
> >         importance
> >         end_date
> >         start_date
> >         body
> >         subject
> > 
> > PROPERTIES:
> > ===========
> >         0x00360003 = PR_SENSITIVITY
> >         0x00170003 = PR_IMPORTANCE
> >         0x1000001e = PR_BODY
> >         0x0e1d001e = PR_NORMALIZED_SUBJECT
> >         0x0070001e = PR_CONVERSATION_TOPIC
> > 
> > NAMED PROPERTIES:
> > =================
> > 
> >         OOM:
> >         ----
> > 
> >         MNID_ID:
> >         --------
> > 
> >         MNID_STRING:
> >         ------------
> >     OCPF Syntax              : MAPI_E_SUCCESS (0x0)
> > 
> > Is this expected? 
> > 
> > When I actually try to send them, the task example appears to work, but the 
> > appointment example fails:
> > openchangeclient --ocpf-sender 
> > --ocpf-file=libocpf/examples/sample_appointment.ocpf 
> > --ocpf-file=libocpf/examples/common_OLEGUID.ocpf
> > libocpf/examples/common_OLEGUID.ocpf:22: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:23: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:24: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:25: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:26: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:27: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:28: OLEGUID invalid
> > libocpf/examples/common_OLEGUID.ocpf:29: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:26: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:27: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:28: OLEGUID invalid
> > libocpf/examples/sample_appointment.ocpf:48: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:50: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:51: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:52: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:53: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:55: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:58: Unknown MNID_ID
> > libocpf/examples/sample_appointment.ocpf:60: Unknown OOM
> > libocpf/examples/sample_appointment.ocpf:66: Unknown MNID_STRING
> >     OCPF Sender              : MAPI_E_INVALID_PARAMETER (0x80070057)
> > 
> > Any suggestions?
> > 
> > Brad
> > _______________________________________________
> > devel mailing list
> > [email protected]
> > http://mailman.openchange.org/listinfo/devel
> _______________________________________________
> devel mailing list
> [email protected]
> http://mailman.openchange.org/listinfo/devel
-- 
Julien Kerihuel
[EMAIL PROTECTED]
OpenChange Project Manager

GPG Fingerprint: 0B55 783D A781 6329 108A  B609 7EF6 FE11 A35F 1F79

Index: libocpf/ocpf.y
===================================================================
--- libocpf/ocpf.y	(revision 373)
+++ libocpf/ocpf.y	(working copy)
@@ -144,7 +144,13 @@
 OLEGUID		: 
 		kw_OLEGUID IDENTIFIER STRING
 		{ 
-			ocpf_oleguid_add($2, $3);
+			char *name;
+			char *guid;
+			
+			name = talloc_strdup(ocpf->mem_ctx, $2);
+			oleguid = talloc_strdup(ocpf->mem_ctx, $3);
+
+			ocpf_oleguid_add(name, guid);
 		}
 		;
 

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel

Reply via email to