Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package maildir-utils for openSUSE:Factory checked in at 2023-06-23 21:52:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/maildir-utils (Old) and /work/SRC/openSUSE:Factory/.maildir-utils.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maildir-utils" Fri Jun 23 21:52:50 2023 rev:44 rq:1094747 version:1.10.4 Changes: -------- --- /work/SRC/openSUSE:Factory/maildir-utils/maildir-utils.changes 2023-04-24 22:31:36.195649737 +0200 +++ /work/SRC/openSUSE:Factory/.maildir-utils.new.15902/maildir-utils.changes 2023-06-23 21:52:51.610702808 +0200 @@ -1,0 +2,12 @@ +Fri Jun 23 05:57:53 UTC 2023 - Michael Vetter <[email protected]> + +- Update to 1.10.4: + * contact/display-name: quote "names" with '@' + * gmime-test: fix leak + * mu4e: run mu4e-view-rendered-hook non-read-only (#2500) + * mu4e: don't error out in mu4e-view-quit (#2487) + * mu4e: add mu4e-fetch-field + * message: remove control characters from subject (#2477) + * meson.build: avoid clang build warning + +------------------------------------------------------------------- Old: ---- mu-1.10.3.tar.xz New: ---- mu-1.10.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ maildir-utils.spec ++++++ --- /var/tmp/diff_new_pack.cOSTFa/_old 2023-06-23 21:52:52.282706659 +0200 +++ /var/tmp/diff_new_pack.cOSTFa/_new 2023-06-23 21:52:52.286706682 +0200 @@ -17,7 +17,7 @@ Name: maildir-utils -Version: 1.10.3 +Version: 1.10.4 Release: 0 Summary: Maildir indexer and searcher License: GPL-3.0-or-later ++++++ mu-1.10.3.tar.xz -> mu-1.10.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/lib/message/mu-contact.cc new/mu-1.10.4/lib/message/mu-contact.cc --- old/mu-1.10.3/lib/message/mu-contact.cc 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/lib/message/mu-contact.cc 2023-06-22 22:43:38.000000000 +0200 @@ -1,5 +1,5 @@ /* -** Copyright (C) 2022 Dirk-Jan C. Binnema <[email protected]> +** Copyright (C) 2022-2023 Dirk-Jan C. Binnema <[email protected]> ** ** This program is free software; you can redistribute it and/or modify it ** under the terms of the GNU General Public License as published by the @@ -32,9 +32,9 @@ std::string Contact::display_name() const { - auto needs_quoting= [](const std::string& n) { + const auto needs_quoting= [](const std::string& n) { for (auto& c: n) - if (c == ',' || c == '"') + if (c == ',' || c == '"' || c == '@') return true; return false; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/lib/message/mu-message.cc new/mu-1.10.4/lib/message/mu-message.cc --- old/mu-1.10.3/lib/message/mu-message.cc 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/lib/message/mu-message.cc 2023-06-22 22:43:38.000000000 +0200 @@ -700,7 +700,7 @@ case Field::Id::Size: /* already */ break; case Field::Id::Subject: - doc.add(field.id, mime_msg.subject()); + doc.add(field.id, mime_msg.subject().map(remove_ctrl)); break; case Field::Id::Tags: if (auto&& tags{extract_tags(mime_msg)}; !tags.empty()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/lib/message/test-mu-message.cc new/mu-1.10.4/lib/message/test-mu-message.cc --- old/mu-1.10.3/lib/message/test-mu-message.cc 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/lib/message/test-mu-message.cc 2023-06-22 22:43:38.000000000 +0200 @@ -1046,6 +1046,28 @@ assert_equal(Message::sanitize_maildir("/foo/bar/cuux/"), "/foo/bar/cuux"); } +static void +test_message_subject_with_newline() +{ +constexpr const auto txt = +R"(To: [email protected] +Subject: =?utf-8?q?Le_poids_=C3=A9conomique_de_la_chasse_:_=0A=0Ala_dette_cach?= =?utf-8?q?=C3=A9e_de_la_chasse_!?= +Date: Mon, 24 Apr 2023 07:32:43 +0000 + +Hello! +)"; + g_test_bug("2477"); + + const auto msg{Message::make_from_text(txt, "/foo/cur/m123:2,S")}; + assert_valid_result(msg); + + assert_equal(msg->subject(), // newlines are filtered-out + "Le poids économique de la chasse : la dette cachée de la chasse !"); + assert_equal(msg->header("Subject").value_or(""), + "Le poids économique de la chasse : \n\nla dette cachée de la chasse !"); +} + + int main(int argc, char* argv[]) { @@ -1071,6 +1093,8 @@ test_message_outlook_body); g_test_add_func("/message/message/message-id", test_message_message_id); + g_test_add_func("/message/message/subject-with-newline", + test_message_subject_with_newline); g_test_add_func("/message/message/fail", test_message_fail); g_test_add_func("/message/message/sanitize-maildir", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/meson.build new/mu-1.10.4/meson.build --- old/mu-1.10.3/meson.build 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/meson.build 2023-06-22 22:43:38.000000000 +0200 @@ -17,7 +17,7 @@ ################################################################################ # project setup project('mu', ['c', 'cpp'], - version: '1.10.3', + version: '1.10.4', meson_version: '>= 0.56.0', license: 'GPL-3.0-or-later', default_options : [ @@ -47,6 +47,7 @@ # compilers / flags # extra_flags = [ + '-Wc11-extensions', # for clang '-Wno-unused-parameter', '-Wno-cast-function-type', '-Wformat-security', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/mu/tests/gmime-test.c new/mu-1.10.4/mu/tests/gmime-test.c --- old/mu-1.10.3/mu/tests/gmime-test.c 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/mu/tests/gmime-test.c 2023-06-22 22:43:38.000000000 +0200 @@ -1,5 +1,5 @@ /* -** Copyright (C) 2011-2021 Dirk-Jan C. Binnema <[email protected]> +** Copyright (C) 2011-2023 Dirk-Jan C. Binnema <[email protected]> ** ** This program is free software; you can redistribute it and/or modify it ** under the terms of the GNU General Public License as published by the @@ -58,8 +58,12 @@ refs_len = g_mime_references_length(mime_refs); for (rv = NULL, i = 0; i < refs_len; ++i) { const char* msgid; + char *tmp; + msgid = g_mime_references_get_message_id(mime_refs, i); + tmp = rv; rv = g_strdup_printf("%s%s%s", rv ? rv : "", rv ? "," : "", msgid); + g_free(tmp); } g_mime_references_free(mime_refs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/mu4e/mu4e-message.el new/mu-1.10.4/mu4e/mu4e-message.el --- old/mu-1.10.3/mu4e/mu4e-message.el 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/mu4e/mu4e-message.el 2023-06-22 22:43:38.000000000 +0200 @@ -222,6 +222,11 @@ ;; add basic `quit-window' bindings (view-mode 1))))) +(defun mu4e-fetch-field (msg hdr) + "Find the value for an arbitrary header field HDR from MSG." + (with-temp-buffer + (insert-file-contents (plist-get msg :path)) + (message-fetch-field hdr))) ;;; (provide 'mu4e-message) ;;; mu4e-message.el ends here diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.10.3/mu4e/mu4e-view.el new/mu-1.10.4/mu4e/mu4e-view.el --- old/mu-1.10.3/mu4e/mu4e-view.el 2023-04-15 22:20:37.000000000 +0200 +++ new/mu-1.10.4/mu4e/mu4e-view.el 2023-06-22 22:43:38.000000000 +0200 @@ -654,7 +654,8 @@ (mu4e-error "Cannot get a message view")) (select-window mu4e~headers-view-win))) (with-current-buffer gnus-article-buffer - (run-hooks 'mu4e-view-rendered-hook))) + (let ((inhibit-read-only t)) + (run-hooks 'mu4e-view-rendered-hook)))) (defun mu4e-view-message-text (msg) "Return the pristine MSG as a string." @@ -868,7 +869,8 @@ "Quit the mu4e-view buffer." (interactive) (if (memq mu4e-split-view '(horizontal vertical)) - (kill-buffer-and-window) + (ignore-errors ;; try, don't error out. + (kill-buffer-and-window)) ;; single-window case (when mu4e-linked-headers-buffer ;; re-use mu4e-view-detach? (with-current-buffer mu4e-linked-headers-buffer
