-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Please unblock package openchange

The latest version in unstable (1:1.0-3) fixes Debian bug 692727, which
renders the package unusable for sending email when used with newer
versions of Samba 4.

Debdiff for 1:1.0-3 since 1:1.0-2, which is currently in wheezy:

diff -Nru openchange-1.0/debian/changelog openchange-1.0/debian/changelog
- --- openchange-1.0/debian/changelog   2012-04-12 03:46:23.000000000 +0200
+++ openchange-1.0/debian/changelog     2012-11-08 16:05:18.000000000 +0100
@@ -1,3 +1,9 @@
+openchange (1:1.0-3) unstable; urgency=medium
+
+  * Add 04_ndr_noalign: Fix handling of non-small emails. Closes: #692727
+
+ -- Jelmer Vernooij <jel...@debian.org>  Thu, 08 Nov 2012 15:47:54 +0100
+
 openchange (1:1.0-2) unstable; urgency=low
 
   * Remove unnecessary links.
diff -Nru openchange-1.0/debian/patches/04_ndr_noalign 
openchange-1.0/debian/patches/04_ndr_noalign
- --- openchange-1.0/debian/patches/04_ndr_noalign      1970-01-01 
01:00:00.000000000 +0100
+++ openchange-1.0/debian/patches/04_ndr_noalign        2012-11-08 
15:54:56.000000000 +0100
@@ -0,0 +1,196 @@
+Description: Force use of NDR_NOALIGN, fixes support for non-small emails.
+Author: Milan Crha
+Bug-Debian: http://bugs.debian.org/692727
+Status: submitted upstream
+
+Index: exchange.idl
+===================================================================
+--- old/exchange.idl   (revision 4004)
++++ new/exchange.idl   (working copy)
+@@ -1039,7 +1039,7 @@
+               [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 @@
+ 
+       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 @@
+ 
+       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 @@
+ // 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 @@
+ 
+       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 @@
+       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 @@
+               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 @@
+       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 @@
+       } 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 @@
+               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 @@
+       /* 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 @@
+       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 @@
+       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 @@
+               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 @@
+               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 @@
+       } 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 @@
+       /*************************/
+       /* 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 @@
+               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 @@
+               [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 @@
+ 
+       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 -Nru openchange-1.0/debian/patches/series 
openchange-1.0/debian/patches/series
- --- openchange-1.0/debian/patches/series      2012-04-12 03:13:45.000000000 
+0200
+++ openchange-1.0/debian/patches/series        2012-11-08 15:53:53.000000000 
+0100
@@ -1,3 +1,4 @@
 01_symlinks
 02_mapiproxy_dl
 03_no_popt
+04_ndr_noalign

unblock openchange/1:1.0-3

- -- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.5-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJQnHYTAAoJEACAbyvXKaRXsuEQAIRCvBM1TBIhk11FvdOzlmMT
v7qpHOkjcI3DBcABf9pEuYmCrZWkyyHfsMbaD7OnasqTQ0VuP+Edxj1W0scgoRCQ
cyOjulrn9HFgO7AD1LbkYSUY3ujioA/1hJVo2lECb0lQNAJTSt1YkD6k4mrY/HeZ
5XCBINXORVS5DMllJ7WIihSHfK55/qASupcH+rXt+YrR2QhcABYE0t8cqCqVw+2a
37CZo+NktTVF3bM1UIAHq5xZx8oAiZWqqLpJH5shWoCaRNQaKgS5JK/MfEXpNgIQ
+I0nMd83T0LjJk6OkhaLFvmqZPzx/mi24gT3CYhXzpeRT+aeUTQe7klVe7/a05MF
Vwq8bxHKgvMoBrlEDKC0T5gK9/Wz+QTHhGcS9MIogzFQLnIgfzbfMM1eo9DfUtiw
sJBcRDrcLfitOo2WOUB0BEmYSKFrGt7860PuP7XY/b5qGcnnYsSbEujtSbZEVNRp
X7u7AciQpSE7+cvR02B8GJVHKESkZKNUJSr0XzIUjMVJ9AduMmbAVfYNSZ0UxFtB
vv0j4h1cBtSeIr3iPQ/uMa+MbIOuddHl30agUkhO45/t4uogWCbKvBTICKlzSW/Q
as8+2sj9WMe4usa3BM/qA5lqM8YnadezGqwQB7z7RuoS/WXhVoG7nn8Hlb/OWLLW
kkcLJdD8emECVkMyUSZ/
=Qyue
-----END PGP SIGNATURE-----

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1073991

Title:
  Cannot send emails: The reported error was "Could not send message:
  WriteStream: MAPI error MAPI_E_CALL_FAILED (0x80004005) occurred".

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openchange/+bug/1073991/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to