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