Re: Sieve Internal Error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <ml@xxxxxxxxxxx>
Reply-To: Info <info@xxxxxxxxxxxxxxxxxx>
To: Info <info@xxxxxxxxxxxxxxxxxx>
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 "xxxxx@xxxxxxxxxx";
> }

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 <XXXXXXXXXXXXXXXXXXXXXXXXXX@xxxxxxxxxxxxxxxxxxxxx>: Redirect (xxxxx@xxxxxxxxxx): 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




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]
  Powered by Linux