summaryrefslogtreecommitdiff
path: root/mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on-
diff options
context:
space:
mode:
Diffstat (limited to 'mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on-')
-rw-r--r--mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on-180
1 files changed, 0 insertions, 180 deletions
diff --git a/mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on- b/mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on-
deleted file mode 100644
index d2f2f6bf163b..000000000000
--- a/mail/dbmail/files/patch-0031-boundaries-fixups-ordering-of-parts-do-not-add-newline-on-
+++ /dev/null
@@ -1,180 +0,0 @@
-From 3fd6782988f01c2f56af19012e470ea16e800f51 Mon Sep 17 00:00:00 2001
-From: Michele Comitini <michele.comitini@gmail.com>
-Date: Tue, 1 Nov 2016 21:20:16 +0100
-Subject: [PATCH 31/33] boundaries fixups: ordering of parts, do not add
- newline on boundary if there's no part after previous header (#34)
-
-* Fix IMAP mailbox maintanence
-
-Update message's mailbox id in a separate explicit transaction to prevent
-SQLException: ORA-01453 error on the next db_begin_transaction() call
-(see db_mailbox_seq_update() next to 'UPDATE dbmail_messages SET mailbox_idnr'
-query).
-
-* add newline only if is_message
-
-* better fix for rfc822 multipart messages with boundary after header
-
-* fixed some race condition when closing boundaries, since key does not change. Needed ordering parts on depth DESC when key does not vary.
-
-* fixes ordering in insertion
----
- src/dm_message.c | 12 ++++---
- test/check_dbmail.h | 78 ++++++++++++++++++++++++++++++++++++++++++++-
- test/check_dbmail_message.c | 8 +++++
- 3 files changed, 93 insertions(+), 5 deletions(-)
-
-diff --git src/dm_message.c src/dm_message.c
-index 9d30d52..784c091 100644
---- src/dm_message.c
-+++ src/dm_message.c
-@@ -387,7 +387,7 @@ static DbmailMessage * _mime_retrieve(DbmailMessage *self)
- "FROM %smimeparts p "
- "JOIN %spartlists l ON p.id = l.part_id "
- "JOIN %sphysmessage ph ON ph.id = l.physmessage_id "
-- "WHERE l.physmessage_id = ? ORDER BY l.part_key,l.part_order ASC",
-+ "WHERE l.physmessage_id = ? ORDER BY l.part_key, l.part_order ASC, l.part_depth DESC",
- frag, p_string_str(n), DBPFX, DBPFX, DBPFX);
- db_stmt_set_u64(stmt, 1, self->id);
- r = db_stmt_query(stmt);
-@@ -454,10 +454,14 @@ static DbmailMessage * _mime_retrieve(DbmailMessage *self)
- if ((depth > 0) && (blist[depth-1][0]))
- strncpy(boundary, blist[depth-1], MAX_MIME_BLEN-1);
-
-- if (is_header && (!prev_header || prev_boundary || (prev_header && depth>0 && !prev_is_message))) {
-+ if (is_header)
-+ if (prev_header && depth>0 && !prev_is_message) {
-+ dprint("--%s\n", boundary);
-+ p_string_append_printf(m, "--%s\n", boundary);
-+ } else if (!prev_header || prev_boundary) {
- dprint("\n--%s\n", boundary);
- p_string_append_printf(m, "\n--%s\n", boundary);
-- }
-+ }
-
- p_string_append_printf(m, "%s", str);
- dprint("<part is_header=\"%d\" depth=\"%d\" key=\"%d\" order=\"%d\">\n%s\n</part>\n",
-@@ -558,7 +562,7 @@ static gboolean store_mime_multipart(GMimeObject *object, DbmailMessage *m, cons
- if (boundary) {
- n++;
- m->part_depth--;
-- m->part_order=n;
-+ m->part_order++;
- }
-
- if (g_mime_content_type_is_type(GMIME_CONTENT_TYPE(content_type), "multipart", "*") &&
-diff --git test/check_dbmail.h test/check_dbmail.h
-index 09c9958..439c8a1 100644
---- test/check_dbmail.h
-+++ test/check_dbmail.h
-@@ -1561,7 +1561,7 @@ char *multipart_message8 = "From: nobody@example.org\n"
- "bmdzLnhtbFBLAQItABQABgAIAAAAIQDv0+Pp+gEAAPsDAAAQAAAAAAAAAAAAAAAAALREAABkb2NQ\n"
- "cm9wcy9hcHAueG1sUEsFBgAAAAAPAA8A3AMAAORHAAAAAA==\n"
- "\n"
-- "--_004_AAD42BB12C540843AB5C952ADD4D978901830A1Bswi52mbx1orfloc_--\";\n";
-+ "--_004_AAD42BB12C540843AB5C952ADD4D978901830A1Bswi52mbx1orfloc_--\n";
-
- char *multipart_message9 = "From: a\n"
- "To: b\n"
-@@ -28440,3 +28440,79 @@ char *multipart_message_big = "From: \"Gennadiy Poryev\" <vecanoi@gmail.com>\n"
- "/g8HAAAAAwANNP0/pQ4DAA80/T+lDvA8\n"
- "\n"
- "------=_NextPart_000_0000_01CDFBC6.932A1F00--\n";
-+
-+char *multipart_message_submessage = "Content-Type: multipart/mixed; boundary=\"===============9147350442359610775==\"\n"
-+"MIME-Version: 1.0\n"
-+"To: test@test.it\n"
-+"From: test@test.it\n"
-+"\n"
-+"--===============9147350442359610775==\n"
-+"Content-Type: message/rfc822\n"
-+"MIME-Version: 1.0\n"
-+"\n"
-+"Content-Type: multipart/alternative;\n"
-+" boundary=\"===============1150329730008994878==\"\n"
-+"MIME-Version: 1.0\n"
-+"Subject: Link\n"
-+"From: my@email.com\n"
-+"To: your@email.com\n"
-+"\n"
-+"--===============1150329730008994878==\n"
-+"Content-Type: text/plain; charset=\"us-ascii\"\n"
-+"MIME-Version: 1.0\n"
-+"Content-Transfer-Encoding: 7bit\n"
-+"\n"
-+"Hi!\n"
-+"How are you?\n"
-+"Here is the link you wanted:\n"
-+"https://www.python.org\n"
-+"--===============1150329730008994878==\n"
-+"Content-Type: text/html; charset=\"us-ascii\"\n"
-+"MIME-Version: 1.0\n"
-+"Content-Transfer-Encoding: 7bit\n"
-+"\n"
-+"<html>\n"
-+" <head></head>\n"
-+" <body>\n"
-+" <p>Hi!<br>\n"
-+" How are you?<br>\n"
-+" Here is the <a href=\"https://www.python.org\">link</a> you wanted.\n"
-+" </p>\n"
-+" </body>\n"
-+"</html>\n"
-+"\n"
-+"--===============1150329730008994878==\n"
-+"Content-Type: multipart/mixed; boundary=\"===============0782181963306111896==\"\n"
-+"MIME-Version: 1.0\n"
-+"\n"
-+"--===============0782181963306111896==\n"
-+"Content-Type: text/plain; charset=\"us-ascii\"\n"
-+"MIME-Version: 1.0\n"
-+"Content-Transfer-Encoding: 7bit\n"
-+"\n"
-+"Text part3_1.\n"
-+"--===============0782181963306111896==\n"
-+"Content-Type: text/plain; charset=\"us-ascii\"\n"
-+"MIME-Version: 1.0\n"
-+"Content-Transfer-Encoding: 7bit\n"
-+"\n"
-+"Text part3_2.\n"
-+"--===============0782181963306111896==--\n"
-+"\n"
-+"\n"
-+"\n"
-+"\n"
-+"--===============1150329730008994878==--\n"
-+"\n"
-+"--===============9147350442359610775==\n"
-+"Content-Type: text/plain; charset=\"us-ascii\"\n"
-+"MIME-Version: 1.0\n"
-+"Content-Transfer-Encoding: 7bit\n"
-+"\n"
-+"This is a simple text attachment.\n"
-+"with some newlines at the end.\n"
-+"\n"
-+"\n"
-+"\n"
-+"--===============9147350442359610775==--\n"
-+"\n";
-diff --git test/check_dbmail_message.c test/check_dbmail_message.c
-index e36a2ea..f070257 100644
---- test/check_dbmail_message.c
-+++ test/check_dbmail_message.c
-@@ -431,6 +431,14 @@ START_TEST(test_dbmail_message_store)
- COMPARE(e,t);
- g_free(e);
- g_free(t);
-+ //-----------------------------------------
-+ m = message_init(multipart_message_submessage);
-+ e = dbmail_message_to_string(m);
-+ t = store_and_retrieve(m);
-+ COMPARE(e,t);
-+ COMPARE(multipart_message_submessage, t);
-+ g_free(e);
-+ g_free(t);
- }
- END_TEST
-
---
-2.10.1 (Apple Git-78)
-