Hello Andrea,
There is no Sieve-related change between 3.4.8 and 3.4.9, but FreeBSD might
apply some changes to the source code.
You can insert a different syslog message on all the lines just before
producing SIEVE_INTERNAL_ERROR:
$ git grep -n SIEVE_INTERNAL_ERROR
sieve/message.c:128: return SIEVE_INTERNAL_ERROR;
sieve/message.c:175: if (!i->fileinto) return SIEVE_INTERNAL_ERROR;
sieve/message.c:208: ret = SIEVE_INTERNAL_ERROR;
sieve/message.c:308: ret = SIEVE_INTERNAL_ERROR;
sieve/script.c:490: case SIEVE_INTERNAL_ERROR: return "Internal Error";
⇐ here not
sieve/script.c:752: return SIEVE_INTERNAL_ERROR;
sieve/script.c:771: return SIEVE_INTERNAL_ERROR;
sieve/script.c:787: return SIEVE_INTERNAL_ERROR;
sieve/script.c:803: return SIEVE_INTERNAL_ERROR;
sieve/script.c:818: return SIEVE_INTERNAL_ERROR;
sieve/script.c:848: return SIEVE_INTERNAL_ERROR;
sieve/script.c:887: ret = SIEVE_INTERNAL_ERROR;
sieve/sieve_err.et:56:ec SIEVE_INTERNAL_ERROR, ⇐ here not
as demonstrated below. Then recompile, install and check where exactly does
the internal error come from (based on the concrete syslog message)
diff --git a/sieve/script.c b/sieve/script.c
index 477591b94..37ffeb9a5 100644
--- a/sieve/script.c
+++ b/sieve/script.c
@@ -814,8 +814,10 @@ static int do_action_list(sieve_interp_t *interp,
"Kept\n");
break;
case ACTION_REDIRECT:
- if (!interp->redirect)
+ if (!interp->redirect) {
+ syslog(LOG_CRIT, "A");
return SIEVE_INTERNAL_ERROR;
+ }
ret = interp->redirect(&a->u.red,
interp->interp_context,
script_context,
Greetings
Дилян
-----Original Message-----
From: Andrea Venturoli <[email protected]>
Reply-To: Info <[email protected]>
To: Info <[email protected]>
Subject: Sieve Internal Error
Date: 22/10/24 11:40:55
Hello.
Last week I upgraded a FreeBSD 13.3 server to 14.1 and, at the same
time, Cyrus IMAP 3.4.8 to 3.4.9.
Since then Sieve scripts have stopped working.
As an example, an user has a very simple script:
> # rule:[Inoltra]
> if true
> {
> redirect "[email protected]";
> }
This was created through RoundCube and I deleted and recreated it
without trouble.
However, it does nothing and in the logs I find:
> lmtpunix[66514]: sieve runtime error for xxxxxx id
> <[email protected]>: Redirect
> ([email protected]): Internal Error
I have no idea how to solve or even debug this.
Any hint?
bye & Thanks
av.
------------------------------------------
Cyrus: Info
Permalink:
https://cyrus.topicbox.com/groups/info/T0ce14ced55a4536e-Mbe80f2da59066eae4b2fd19d
Delivery options: https://cyrus.topicbox.com/groups/info/subscription