openXchange6: Did not specify legal script data length
Sporadisch tritt das auf der openXchange6-Installation auf: die User wollen im Webfrontend einen neuen Mailfilter einrichten und erhalten die folgende Fehlermeldung:
Error while communicating with the sieve server: Error for user spillerm: "Did not specify legal script data length" (MAIL_FILTER-0015,1476884817-5260)
Wie ich inzwischen herausfinden konnte passiert dies in erster Linie dann, wenn ein User seine Vacation-Nachricht auf „inaktiv“ setzt; im sieve-Script bleibt diese dann (auskommentiert) stehen, und das Filter-File wird neu generiert. Jedoch verhunzt der OX da offenbar etwas; die Script-Datei wird vergleichsweise groß (> 20KB) und ist mit binärem Kram aufgefüllt. Wie man das verhindern kann weiß ich leider aktuell nicht, aber zumindest wie man es behebt: Im ersten Schritt nachschauen, wo die sieve-Dateien abgelegt werden; definiert wird das über den Eintrag sievedir: in der /etc/imapd.conf, bei mir heißt der Pfad /data/spool/sieve. Gehen wir also davon aus, dass der User spillerm oben genanntes Problem mit seinen Mailfiltern hat, so bewegst du dich nach /data/spool/sieve/s/spillerm. Hier liegen einige Files:
lrwxrwxrwx 1 cyrus mail 2008-11-25 12:28 defaultbc -> Open-Xchange.bc
-rw------- 1 cyrus mail 2009-02-02 11:09 Open-Xchange.bc
-rw------- 1 cyrus mail 2009-02-02 11:09 Open-Xchange.script
Bearbeiten wirst Du hier lediglich die Datei Open-Xchange.script! defaultbc ist ein Symlink auf Open-Xchange.bc, und Open-Xchange.bc wiederum wird aus Open-Xchange.script generiert. Als User cyrus bearbeitest du nun also die Datei Open-Xchange.script und löschst die fehlerhaften Einträge – in meinem Fall musste ich die auskommentierte Vacation-Nachricht komplett löschen. Arbeite ggf. sinnvollerweise auf einer Kopie der Datei für den Fall, dass dir ein Fehler unterläuft; nachdem du sie gespeichert hast, musst du sie nach Open-Xchange.bc übersetzen, das passiert mit dem Befehl sievec; auf meinem Debian-System findet sich dieses Kommando in /usr/lib/cyrus/bin, so dass der vollständige Aufruf aussieht wie folgt:
$ /usr/lib/cyrus/bin/sievec \
/data/spool/sieve/s/spillerm/Open-Xchange.script \
/data/spool/sieve/s/spillerm/Open-Xchange.bc
Und das war’s dann auch schon – der betreffende User sollte sich unbedingt im Webinterface ab- und erneut anmelden, ehe er seine Filter erneut bearbeitet.
Hinterlasse einen Kommentar
Ich freue mich über jeden Kommentar, es sei denn, er ist blöd.
Deshalb sind die Kommentare auf dieser Seite auch generell moderiert.