[openchange/f18] Add patch for Gnome bug #682449 (WriteStream fails)
Milan Crha
mcrha at fedoraproject.org
Fri Oct 26 11:30:49 UTC 2012
commit 66720a014ade3603052c311d557436388e58da4c
Author: Milan Crha <mcrha at redhat.com>
Date: Fri Oct 26 13:30:41 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 2462c02..934aa23 100644
--- a/openchange.spec
+++ b/openchange.spec
@@ -19,7 +19,7 @@
Name: openchange
Version: 1.0
-Release: 11%{?dist}
+Release: 12%{?dist}
Group: Applications/System
Summary: Provides access to Microsoft Exchange servers using native protocols
License: GPLv3+ and Public Domain
@@ -74,6 +74,9 @@ Patch4: openchange-1.0-uninit-crash.patch
# http://tracker.openchange.org/issues/398
Patch5: openchange-1.0-symbol-clash.patch
+# https://bugzilla.gnome.org/show_bug.cgi?id=682449
+Patch6: openchange-1.0-writestream.patch
+
%description
OpenChange provides libraries to access Microsoft Exchange servers
using native protocols.
@@ -138,6 +141,7 @@ This package provides the server elements for OpenChange.
%patch3 -p1 -b .OC_RULE_ADD-fix
%patch4 -p1 -b .uninit-crash
%patch5 -p1 -b .symbol-clash
+%patch6 -p1 -b .writestream
%build
./autogen.sh
@@ -280,6 +284,9 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
+* Fri Oct 26 2012 Milan Crha <mcrha at redhat.com> - 1.0-12
+- Add patch for Gnome bug #682449 (WriteStream fails)
+
* Mon Aug 06 2012 Milan Crha <mcrha at redhat.com> - 1.0-11
- Add patch for Red Hat bug #845618 (incorrect symbol resolution)
More information about the scm-commits
mailing list