[openchange/f17] Add patch for Gnome bug #682449 (WriteStream fails)

Milan Crha mcrha at fedoraproject.org
Fri Oct 26 11:27:46 UTC 2012


commit cd73433dd203efcb2bf74ffe912446c706650f11
Author: Milan Crha <mcrha at redhat.com>
Date:   Fri Oct 26 13:27:28 2012 +0200

    Add patch for Gnome bug #682449 (WriteStream fails)

 openchange-1.0-writestream.patch |  190 ++++++++++++++++++++++++++++++++++++++
 openchange.spec                  |    9 ++-
 2 files changed, 198 insertions(+), 1 deletions(-)
---
diff --git a/openchange-1.0-writestream.patch b/openchange-1.0-writestream.patch
new file mode 100644
index 0000000..5805f53
--- /dev/null
+++ b/openchange-1.0-writestream.patch
@@ -0,0 +1,190 @@
+diff -up openchange-1.0-BORG/exchange.idl.writestream openchange-1.0-BORG/exchange.idl
+--- openchange-1.0-BORG/exchange.idl.writestream	2012-10-26 13:25:38.153881262 +0200
++++ openchange-1.0-BORG/exchange.idl	2012-10-26 13:25:51.700111059 +0200
+@@ -1039,7 +1039,7 @@ System Attendant Private Interface
+ 		[case(ActionType_OP_COPY)]		MoveCopy_Action			CopyAction;
+ 		[case(ActionType_OP_REPLY)]		ReplyOOF_Action			ReplyAction;
+ 		[case(ActionType_OP_OOF_REPLY)]		ReplyOOF_Action			ReplyOOFAction;
+-		[case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING)] DATA_BLOB	DeferAction;
++		[case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB	DeferAction;
+ 		[case(ActionType_OP_BOUNCE)]		BounceCode			BounceCode;
+ 		[case(ActionType_OP_TAG)]		mapi_SPropValue_wrap	       	PropValue;
+ 		[case(ActionType_OP_FORWARD)]		ForwardDelegate_Action		ForwardAction;
+@@ -1057,7 +1057,7 @@ System Attendant Private Interface
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+ 		uint16					ActionLength;
+-		[subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING)] ActionBlockData ActionBlockData;
++		[subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING|NDR_NOALIGN)] ActionBlockData ActionBlockData;
+ 	} ActionBlock;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -1095,7 +1095,7 @@ System Attendant Private Interface
+ 
+ 	typedef [public,flag(NDR_NOALIGN)] struct {
+ 		uint16					cValues;
+-		[flag(NDR_REMAINING)]mapi_SPropValue	lpProps[cValues];
++		[flag(NDR_REMAINING|NDR_NOALIGN)]mapi_SPropValue	lpProps[cValues];
+ 	} mapi_SPropValue_array;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -1281,7 +1281,7 @@ System Attendant Private Interface
+ // TODO: figure out if "layout" can go
+ 		uint8									layout;
+ // TODO: convert this to a proper structure - see if we already have one.
+-		[flag(NDR_REMAINING)] DATA_BLOB						prop_values;
++		[flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB						prop_values;
+ 	} RecipientRow;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -1356,7 +1356,7 @@ System Attendant Private Interface
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+ 		uint8		layout;
+-		[flag(NDR_REMAINING)] DATA_BLOB prop_data;
++		[flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB prop_data;
+ 	} GetProps_repl;
+ 
+ 	/*************************/
+@@ -1455,7 +1455,7 @@ System Attendant Private Interface
+ 	typedef [flag(NDR_NOALIGN)]struct {
+ 		uint32		idx;
+ 		ulRecipClass	RecipClass;		
+-		[subcontext(2),flag(NDR_REMAINING)] RecipientRow RecipientRow;
++		[subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] RecipientRow RecipientRow;
+ 	} ModifyRecipientRow;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -1532,7 +1532,7 @@ System Attendant Private Interface
+ 		uint8				handle_idx;
+ 		MSGFLAG_READ			flags;
+ 	        /* TEMP HACK for editing notes without crashing Outlook:
+-		   [flag(NDR_REMAINING)] DATA_BLOB	clientdata; */
++		   [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB	clientdata; */
+ 	} SetMessageReadFlag_req;
+ 
+ 	typedef [nodiscriminant, flag(NDR_NOALIGN)] union {
+@@ -1782,7 +1782,7 @@ System Attendant Private Interface
+ 	typedef [nopush,nopull,flag(NDR_NOALIGN)] struct {
+ 		uint8		Origin;
+ 		uint16		RowCount;
+-		[flag(NDR_REMAINING)]DATA_BLOB	RowData;
++		[flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB	RowData;
+ 	} QueryRows_repl;
+ 
+ 	/**************************/
+@@ -2394,13 +2394,13 @@ System Attendant Private Interface
+ 	} ReadStream_req;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+-		[subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
++		[subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
+ 	} ReadStream_repl;
+ 
+ 	/*************************/
+ 	/* EcDoRpc Function 0x2d */
+ 	typedef [flag(NDR_NOALIGN)] struct {
+-		[subcontext(2), flag(NDR_REMAINING)] DATA_BLOB	data;
++		[subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB	data;
+ 	} WriteStream_req;
+ 
+ 
+@@ -2900,7 +2900,7 @@ System Attendant Private Interface
+ 		uint16		TotalStepCount;
+ 		uint8		Reserved;
+ 		uint16		TransferBufferSize;
+-		[subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
++		[subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
+ 	} FastTransferSourceGetBuffer_repl;
+ 
+ 	/**************************/
+@@ -2982,7 +2982,7 @@ System Attendant Private Interface
+ 	/* EcDoRpc Function 0x54  */
+ 	typedef [flag(NDR_NOALIGN)] struct {
+ 		uint16		TransferBufferSize;
+-		[subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
++		[subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
+ 	} FastTransferDestinationPutBuffer_req;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -3075,7 +3075,7 @@ System Attendant Private Interface
+ 	typedef [flag(NDR_NOALIGN)] struct {
+ 		uint32		ExpandedRowCount;
+ 		uint16		RowCount;
+-		[flag(NDR_REMAINING)]DATA_BLOB  RowData;
++		[flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB  RowData;
+ 	} ExpandRow_repl;
+ 
+ 	/*************************/
+@@ -3184,7 +3184,7 @@ System Attendant Private Interface
+ 	typedef [flag(NDR_NOALIGN)] struct {
+ 		boolean8	HasFinished;
+ 		uint16		DataSize;
+-		[subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
++		[subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
+ 	} ReadPerUserInformation_repl;
+ 
+ 	/*************************/
+@@ -3194,7 +3194,7 @@ System Attendant Private Interface
+ 		boolean8	HasFinished;
+ 		uint32		DataOffset;
+ 		uint16		DataSize;
+-		[subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
++		[subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
+ 		GUID		ReplGuid;	/* Note: ReplGuid gets only included under specific circumstances */
+ 	} WritePerUserInformation_req;
+ 
+@@ -3364,7 +3364,7 @@ System Attendant Private Interface
+ 		SendOptions				SendOptions;
+ 		SynchronizationFlag			SynchronizationFlag;
+ 		uint16					RestrictionSize;
+- 		[subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING)] DATA_BLOB	RestrictionData;
++ 		[subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB	RestrictionData;
+ 		SynchronizationExtraFlags		SynchronizationExtraFlags;
+ 		mapi_SPropTagArray			PropertyTags;
+ 	} SyncConfigure_req;
+@@ -3542,7 +3542,7 @@ System Attendant Private Interface
+ 	} MessageReadState;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+-		[subcontext(2),flag(NDR_REMAINING)] DATA_BLOB MessageReadStates;
++		[subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB MessageReadStates;
+ 	} SyncImportReadStateChanges_req;
+ 
+ 	typedef [flag(NDR_NOALIGN)] struct {
+@@ -3617,7 +3617,7 @@ System Attendant Private Interface
+ 	/*************************/
+ 	/* EcDoRpc Function 0x90 */
+ 	typedef [flag(NDR_NOALIGN)] struct {
+-		[subcontext(2), flag(NDR_REMAINING)] DATA_BLOB	data;
++		[subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB	data;
+ 	} WriteAndCommitStream_req;
+ 
+ 
+@@ -4462,7 +4462,7 @@ System Attendant Private Interface
+ 		uint32		MajorVersion;
+ 		uint32		MinorVersion;
+ 		uint32		BuildNumber;
+-		[subcontext(0), subcontext_size(132), flag(NDR_NOALIGN|NDR_REMAINING)] DATA_BLOB Reserved_1;
++		[subcontext(0), subcontext_size(132), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Reserved_1;
+ 		uint16		ServicePackMajor;
+ 		uint16		ServicePackMinor;
+ 		uint32		Reserved_2;
+@@ -4567,7 +4567,7 @@ System Attendant Private Interface
+ 		[out]				uint16					rgwServerVersion[3],
+ 		[out]				uint16					rgwBestVersion[3],
+ 		[in,out]			uint32					*pulTimeStamp,
+-		[in,subcontext(4),flag(NDR_NOALIGN|NDR_REMAINING)] mapi2k7_AuxInfo	*rgbAuxIn,
++		[in,subcontext(4),flag(NDR_REMAINING|NDR_NOALIGN)] mapi2k7_AuxInfo	*rgbAuxIn,
+ 		[in]				uint32					cbAuxIn,
+ 		[out, length_is(*pcbAuxOut), size_is(*pcbAuxOut)] mapi2k7_AuxInfo	*rgbAuxOut,
+ 		[in,out][range(0,0x1008)]	uint32					*pcbAuxOut
+@@ -4588,7 +4588,7 @@ System Attendant Private Interface
+ 
+ 	typedef [public,nopull] struct {
+ 		RPC_HEADER_EXT							header;
+-		[subcontext(0),flag(NDR_NOALIGN|NDR_REMAINING)] mapi_response	*mapi_response;
++		[subcontext(0),flag(NDR_REMAINING|NDR_NOALIGN)] mapi_response	*mapi_response;
+ 	} mapi2k7_response;
+ 
+ 	[public,noprint] MAPISTATUS EcDoRpcExt2(
diff --git a/openchange.spec b/openchange.spec
index e30064a..279fc8f 100644
--- a/openchange.spec
+++ b/openchange.spec
@@ -18,7 +18,7 @@
 
 Name: openchange
 Version: 1.0
-Release: 9%{?dist}
+Release: 10%{?dist}
 Group: Applications/System
 Summary: Provides access to Microsoft Exchange servers using native protocols
 License: GPLv3+ and Public Domain
@@ -66,6 +66,9 @@ Patch2: openchange-1.0-uninit-crash.patch
 # http://tracker.openchange.org/issues/398
 Patch3: openchange-1.0-symbol-clash.patch
 
+# https://bugzilla.gnome.org/show_bug.cgi?id=682449
+Patch4: openchange-1.0-writestream.patch
+
 %description
 OpenChange provides libraries to access Microsoft Exchange servers
 using native protocols.
@@ -128,6 +131,7 @@ This package provides the server elements for OpenChange.
 %patch1 -p1 -b .generate-xml-doc
 %patch2 -p1 -b .uninit-crash
 %patch3 -p1 -b .symbol-clash
+%patch4 -p1 -b .writestream
 
 %build
 %configure \
@@ -267,6 +271,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Fri Oct 26 2012 Milan Crha <mcrha at redhat.com> - 1.0-10
+- Add patch for Gnome bug #682449 (WriteStream fails)
+
 * Mon Aug 06 2012 Milan Crha <mcrha at redhat.com> - 1.0-9
 - Add patch for Red Hat bug #845618 (incorrect symbol resolution)
 


More information about the scm-commits mailing list