From a9592909b590551d79aba9e1c68d4cd2f7316cf3 Mon Sep 17 00:00:00 2001 From: Gregory Tsipenyuk Date: Wed, 28 Jan 2015 19:37:22 +0000 Subject: [PATCH] fixed encr padding size, message flags on import --- email_parse.ml | 1 + imap_crypto.ml | 6 ++---- imaplet_irmin_build.ml | 5 +++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/email_parse.ml b/email_parse.ml index 695a9e0..b7d4798 100644 --- a/email_parse.ml +++ b/email_parse.ml @@ -137,6 +137,7 @@ let parse (message:Mailbox.Message.t) ~save_message ~save_attachment = add_boundary buffer ~boundary ~suffix:"\n" ; walk email boundary false map ) map elist >>= fun map -> + Buffer.add_string buffer "\n"; add_boundary buffer ~boundary ~suffix:"--\n" ; return map in diff --git a/imap_crypto.ml b/imap_crypto.ml index 001e9c4..c095deb 100644 --- a/imap_crypto.ml +++ b/imap_crypto.ml @@ -18,12 +18,10 @@ open Nocrypto let pad c_data padding = let len = Cstruct.len c_data in let m = Pervasives.(mod) len 32 in - (32-m, if m > 0 then - Cstruct.of_string (Bytes.cat (Cstruct.to_string c_data) (Bytes.sub (Cstruct.to_string padding) 0 (32-m))) + (32-m,Cstruct.of_string (Bytes.cat (Cstruct.to_string c_data) (Bytes.sub (Cstruct.to_string padding) 0 (32-m)))) else - c_data - ) + (0,c_data) let aes_encrypt ?(compress=false) data pub secrets = let open Nocrypto.Cipher_block in diff --git a/imaplet_irmin_build.ml b/imaplet_irmin_build.ml index 884e7fa..e38f446 100644 --- a/imaplet_irmin_build.ml +++ b/imaplet_irmin_build.ml @@ -139,10 +139,11 @@ let mailbox_of_gmail_label message = | "Starred" -> (label,inferred,(Flags_Keyword "Starred") :: flags) | "Sent" -> (label,(Some "Sent Messages"),Flags_Answered :: flags) | "Trash" -> (label,(Some "Deleted Messages"),Flags_Deleted :: flags) - | "Unread" -> (label,inferred,Flags_Recent :: flags) + | "Unread" -> + (label,inferred,Flags_Recent :: ((List.filter (fun f -> f <> Flags_Seen)) flags)) | "Draft" -> (label,(Some "Drafts"),Flags_Draft :: flags) | label -> ((Some label),inferred, flags) - ) (None,None,[]) labels + ) (None,None,[Flags_Seen]) labels in match label with | None ->