File 0001-Print-errors-during-sieve-script-parsing.patch of Package cyrus-imapd-3

From 0812b21a1697face5e49b73c9820d4c072735da1 Mon Sep 17 00:00:00 2001
From: Christian Mollekopf <mollekopf@apheleia-it.ch>
Date: Wed, 15 Mar 2023 15:27:12 +0100
Subject: [PATCH 1/2] Print errors during sieve script parsing

The one in mailbox.c stopped replication in it's tracks (from cyrus 2.5
to 3.6), with a rather unhelpful "append_fromstage() failed: System I/O error" message.
---
 imap/mailbox.c  | 3 +++
 imap/sieve_db.c | 3 +++
 2 files changed, 6 insertions(+)
 mode change 100644 => 100755 imap/mailbox.c
 mode change 100644 => 100755 imap/sieve_db.c

diff --git a/imap/mailbox.c b/imap/mailbox.c
old mode 100644
new mode 100755
index 434afc11a..73ed22b38
--- a/imap/mailbox.c
+++ b/imap/mailbox.c
@@ -4087,6 +4087,9 @@ static int mailbox_update_sieve(struct mailbox *mailbox,
         char *errors = NULL;
 
         r = sievedir_put_script(mailbox->sievedir, name, content, &errors);
+        if (errors) {
+            syslog(LOG_ERR, "Error during sievedir_put_script for %s %s", mailbox_name(mailbox), errors);
+        }
 
         if (!r && isactive) {
             r = sievedir_activate_script(mailbox->sievedir, name);
diff --git a/imap/sieve_db.c b/imap/sieve_db.c
old mode 100644
new mode 100755
index 6088b8425..ea3653874
--- a/imap/sieve_db.c
+++ b/imap/sieve_db.c
@@ -1052,6 +1052,9 @@ EXPORTED int sieve_script_rebuild(const char *userid,
     /* Update bytecode */
     char *errors = NULL;
     r = sievedir_put_script(sievedir, script, content, &errors);
+    if (errors) {
+        syslog(LOG_ERR, "Error during sievedir_put_script for %s %s", userid, errors);
+    }
     free(errors);
 
   done:
-- 
2.39.2