]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Added MAIL_STORAGE_CLASS_FLAG_BINARY_DATA flag for classes.
authorTimo Sirainen <tss@iki.fi>
Wed, 12 Jun 2013 19:58:42 +0000 (22:58 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 12 Jun 2013 19:58:42 +0000 (22:58 +0300)
src/lib-storage/index/cydir/cydir-storage.c
src/lib-storage/index/dbox-multi/mdbox-storage.c
src/lib-storage/index/dbox-single/sdbox-storage.c
src/lib-storage/index/maildir/maildir-storage.c
src/lib-storage/index/raw/raw-storage.c
src/lib-storage/mail-storage-private.h

index 9e7b73b4135421409cb0d1346466827040434ea0..1338836960eb31e815076c2ef0774882f0fd54db 100644 (file)
@@ -110,7 +110,8 @@ static void cydir_notify_changes(struct mailbox *box)
 
 struct mail_storage cydir_storage = {
        .name = CYDIR_STORAGE_NAME,
-       .class_flags = MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG,
+       .class_flags = MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG |
+               MAIL_STORAGE_CLASS_FLAG_BINARY_DATA,
 
        .v = {
                NULL,
index bb81b66c6cb3d1322bf2914df3e7d2d49014a874..5e135263ddbfedd79759ed03e3a38830d4b979cb 100644 (file)
@@ -418,7 +418,8 @@ struct mail_storage mdbox_storage = {
        .name = MDBOX_STORAGE_NAME,
        .class_flags = MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT |
                MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_GUIDS |
-               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS,
+               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS |
+               MAIL_STORAGE_CLASS_FLAG_BINARY_DATA,
 
        .v = {
                 mdbox_get_setting_parser_info,
index 708a9732a508e27e15de8a820308050c958cd9b0..9ee0daa6f9502d9795ad1792a7cc8c4d13661758 100644 (file)
@@ -401,7 +401,8 @@ struct mail_storage sdbox_storage = {
        .name = SDBOX_STORAGE_NAME,
        .class_flags = MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG |
                MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_GUIDS |
-               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS,
+               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS |
+               MAIL_STORAGE_CLASS_FLAG_BINARY_DATA,
 
        .v = {
                 NULL,
index 1a076635e2439f3f6ed25677cc8d197b650018ca..afd84a87b5a34f446e98a4ff8665dde3a7e963a7 100644 (file)
@@ -658,7 +658,8 @@ struct mail_storage maildir_storage = {
        .name = MAILDIR_STORAGE_NAME,
        .class_flags = MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG |
                MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_GUIDS |
-               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS,
+               MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS |
+               MAIL_STORAGE_CLASS_FLAG_BINARY_DATA,
 
        .v = {
                 maildir_get_setting_parser_info,
index f5c1a9c7e95c3aaa6b0ebf26e6d95d761dd2a098..84c07749c1cde5496bff3ab655176f6b029ea3a4 100644 (file)
@@ -200,7 +200,8 @@ static void raw_notify_changes(struct mailbox *box ATTR_UNUSED)
 struct mail_storage raw_storage = {
        .name = RAW_STORAGE_NAME,
        .class_flags = MAIL_STORAGE_CLASS_FLAG_MAILBOX_IS_FILE |
-               MAIL_STORAGE_CLASS_FLAG_OPEN_STREAMS,
+               MAIL_STORAGE_CLASS_FLAG_OPEN_STREAMS |
+               MAIL_STORAGE_CLASS_FLAG_BINARY_DATA,
 
        .v = {
                NULL,
index 1c31c14cd7077d991318e6638a7ad200097c2900..08018b73be2ca0a566c3b2f018d3e00eb5dcc1de 100644 (file)
@@ -69,7 +69,10 @@ enum mail_storage_class_flags {
        MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_GUIDS = 0x40,
        /* mailbox_save_set_guid() works (always set
           mailbox_status.have_save_guids=TRUE) */
-       MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS    = 0x80
+       MAIL_STORAGE_CLASS_FLAG_HAVE_MAIL_SAVE_GUIDS    = 0x80,
+       /* message content can be unstructured binary data
+          (e.g. zlib plugin is allowed to compress/decompress mails) */
+       MAIL_STORAGE_CLASS_FLAG_BINARY_DATA     = 0x100
 };
 
 struct mail_binary_cache {