ISPConfig-sieve und managesieve parallel

bundfeg

New Member
Hi ihr,
durch das Update auf 3.2.1 ist bei mir die sieve-Behandlung kaputt gegangen und vielleicht habt ihr eine Idee, wie ich das wieder gut ans Laufen kriege.

Hintergrund ist, wir haben Roundcube als Webmailer und nutzen da das managesieve-Plugin und die ISPConfig-Plugins parallel.
Bisher lag in jedem maildir ein Verzeichnis sieve, in dem mehrere Dateien (z. B. eben managesieve.sieve und ispconfig.sieve) liegen können.
Scharfgeschaltet wurden die durch einen Symlink maildir/.sieve, der auf eine der vorhandenen Dateien im sieve-Verzeichnis zeigt.
Der Vorteil war, dass man den Usern die Möglichkeit bieten könnte, entweder die abgespeckte, aber einfachere Variante mit dem ISPConfig-Plugin zu nutzen, oder eben die mächtige mit managesieve direkt.
Der Dovecot wusste, ich muss maildir/.sieve beachten, und je nach dem, mit welchem Plugin man zuletzt gespeichert hatte, war eben der eine oder andere Filter aktiv.

Jetzt durch das Update werden direkt im maildir mehrere ispconfig-Dateien angelegt und ich gehe davon aus, dass dovecot die maildir/ispconfig.sieve nutzen soll. Das schließt aber die Möglichkeit aus, den managesieve als Alternative zu nutzen.

Hab ich das richtig verstanden und habt ihr eine Idee, was ich daran ändern kann? Ich gehe davon aus, dass ich das alte Verhalten von ISPConfig nicht mit einem Schalter wiederbekommen kann, richtig?

Danke für jeden Tipp
Christoph
 

bundfeg

New Member
Falls noch jemand das Problem hat, ich hab es mit einem minütlichen Cron umgangen:

Bash:
folders=$(find /var/vmail/ -mindepth 3 -maxdepth 3 -type f -name ".ispconfig.sieve" | cut -d"/" -f-5)
while read -r folder; do
    if [ -f "$folder/.sieve" ]; then
        #        echo "$folder/.sieve existiert"
        # nur mit stat kriegt man das Alter eines Symlinks raus, was jünger ist, gewinnt
        if (( "$(stat --format=%Y $folder/.sieve)" < "$(stat --format=%Y $folder/.ispconfig.sieve)" )); then
            echo "$folder/.ispconfig.sieve ist neuer, ich kopiere also"
            rm -f $folder/.sieve.bak
            mv $folder/.sieve $folder/.sieve.bak
            cp -p $folder/.ispconfig.sieve $folder/.sieve
        fi
    else
        #echo "$folder/.sieve existiert nicht, ich kopiere auf jeden Fall"
        cp -p $folder/.ispconfig.sieve $folder/.sieve
    fi
done <<< "$folders"

Laufzeit ist bei mir ca 500 ms, das kann man also machen, toll wäre natürlich, wenn der sieve-Standard mit den Symlinks wieder umgesetzt würde.
 

Werbung

Top