Courier imapd Fehlermeldung: Error reading ACLs for : Invalid argument

#1
Hallo zusammen,

habe ein frisches Debian amd64 squeeze installiert und darauf ISPConfig 3.0.3 gesetzt. Als Mailprogramme werden Postfix und Courier verwendet.

Leider plagt mich Courier IMAP von Anfang an mit folgender Fehlermeldung, die sehr oft in den Logs auftaucht, vermutlich jedes Mal wenn sich jemand einloggt.

Code:
Dec  8 15:51:50 titan imapd: Error reading ACLs for : Invalid argument
Webmail und auch IMAP mit einem "echten" Mailclient ist aber kein Thema, es funktioniert alles.

Google war leider nicht sonderlich aussagekräftig was diesen Fehler anbelangt, scheint aber nach den Suchergebnissen etwas zu sein, was sehr oft in Verbindung mit ISPConfig vorkommt.

Würde mich freuen, wenn mir jemand einen Tipp geben könnte.

Danke und viele Grüße,
Roi
 

Till

Administrator
#2
Schau mal in die Datei courierimapsubscribed im maildir der Mailbox welche den Fehler erzeugt, wenn dort am anfang eine leerzeile steht, dann entferne mal die leerzeile und schau ob der Fehler immer noch auftritt.
 
#3
Schau mal in die Datei courierimapsubscribed im maildir der Mailbox welche den Fehler erzeugt, wenn dort am anfang eine leerzeile steht, dann entferne mal die leerzeile und schau ob der Fehler immer noch auftritt.
Danke für Deine Antwort. :)

Das scheint auf den ersten Blick geholfen zu haben! Es ist eine Leerzeile in dieser Datei, die ich entfernt habe. Seither keine Fehler!

Nun habe ich mir unsere ~200 Mailboxen angeschaut, da ist ueberall diese Datei mit ner Leerzeile ganz oben... :-(

Woher kommt dieser Effekt? ISPConfig bei der Anlage der Mailbox oder macht das ein anderes Programm? Wie schaut es aus, wenn die die Subscriptions ändere und die Datei neu geschrieben wird?

/EDIT: Hab ich gerade getestet mit Roundcube, die Leerzeile am Anfang tritt nicht wieder auf beim Ändern der Ordnersubscription.

Tja muss ich nun hergehen und alle courierimapsubscribed der ~200 Mailboxen von Hand ändern? Sieht wohl fast so aus, oder?

Ist das ein ISPConfig Bug?
 

Till

Administrator
#4
Das war ein ispconfig bug der in 3.0.3.1 behoben ist. Da aber keine bestehenden mailboxen automatisch geändert werden, müsstest Du entweder nach der Installation der 3.0.3.1 alle mailboxen einmal editieren oder aber Du ignorierst die Zeile im log. Mit der zeit werden ja alle mailboxen mal aktualisiert und der Fehler verschwindet dann.
 
#5
Ah verstehe. Wenn es ein Bug ist, der behoben wurde, bin ich froh. Allerdings sehe ich auf der Downloadseite nichts von 3.0.3.1, weshalb bei mir auch die 3.0.3 laeuft. Gibts die 3.0.3.1 schon?

Es ist übrigens so, dass bei Änderung der Subscription unten die weiteren Ordner angefügt werden, die Leerzeile oben aber immer stehen bleibt. Alle Mailboxen zu editieren wird also wohl unumgänglich sein.

Mir ist auch noch eine Datei namens subscriptions in jeder Mailbox aufgefallen. Inhalt:

Code:
Sent
Drafts
Trash
Junk
Also auch mit einer Leerzeile davor. Kommt das auch von ISPConfig? Für was wird die Datei verwendet und muss sie auch editiert werden?

Spannenderweise ändert sich nur courierimapsubscribed wenn man im Webmailer die Subscriptions ändert. subscriptions bleibt gleich. Hm...
 

Till

Administrator
#6
Ist zur zeit RC.

Also auch mit einer Leerzeile davor. Kommt das auch von ISPConfig?
ja.

Für was wird die Datei verwendet und muss sie auch editiert werden?
nein. Diese Datei ist für dovecot und der ignoriert sie richtigerweise. das eine Leerzeile kein Verzeichnis sein kann, hätten die courier Entwickler an sich auch mit berücksichtigen können.

Spannenderweise ändert sich nur courierimapsubscribed wenn man im Webmailer die Subscriptions ändert. subscriptions bleibt gleich. Hm...
ist ja auch klar, Du hast ja nur einen imap server zur gleichen Zeit installiert.
 
#7
Ah danke für die Infos. Dann warte ich mal auf ISPConfig 3.0.3.1. ;-) Die subscriptions lasse ich wie sie ist, da wir kein Dovecot verwenden.
 
#8
Fix für courier

Ein einfacher Fix für das Problem mit der Fehlermeldung "Error reading ACLs for : Invalid argument" ist mit grep die Kandidaten zu suchen und durch ex die Leerzeilen entfernen zu lassen:

Code:
#!/bin/bash
for name in $(grep -l -e '^$' /var/vmail/*/*/courierimapsubscribed) ; do
        echo "Bearbeite ${name}"
        ex -c '/^$/d' -c 'wq' ${name}
done
Einfach den Code kopieren und z.B. als /root/fixcourier.sh abspeichern und dann mit der Bash ausführen.
 

Werbung