[PATCH] dovecot - sehr instabil

Guten Morgen DHU,

da haben wir uns wohl missverstanden. Ich hatte mich an den Leitfaden aus #38, Nr. 5 gehalten

> 5. Mit folgendem Aufruf von einer Telnet Verbindung von Fritz aus:
/etc/init.d/rc.dovecot load >> dazu bekomme ich als Ausgabe -sh: /etc/init.d/rc.dovecot: not found

führe ich
find . -name rc.dovecot via VMWare Ubuntu aus >>

jarvis@ubuntu:~/freetz-devel1$ find . -name rc.dovecot

./packages/target-mips_gcc-4.8.5_uClibc-0.9.33.2-nptl/dovecot-2.2.19/root/etc/init.d/rc.dovecot
./build/modified/external/etc/init.d/rc.dovecot
./make/dovecot/files/root/etc/init.d/rc.dovecot

sind scheinbar alle (wichtigen) Dateien im Build vorhanden.
Da ich grundsätzlich alles zur Ausführung als External auf einen USB Stick packe, werde ich einfach mal versuchen, Dovecot vom Externalpackage auszunehmen; obwohl XMail läuft auch schon seit Jahren vom External ohne irgendwelche Zicken.

Kann man Anhänge als PM hier im Forum verschicken ? Sonst sei doch bitte so nett, dass du mir den dev_tools_toolchain_v8.patch als PM schickst.
Vielen Dank & ein schönes Wochenende !
 
... und es hat geklappt !
Hat keine 3 Minuten gedauert, dass neue Image zu bauen, bereits direkt nach dem Flashen erschien Dovecot in der Paketeliste und als WebIF.

Da Dovecot jetzt allerdings nicht mehr auf dem USB Stick sondern im Flash-Speicher der FB liegt, ist es dort überhaupt dauerhaft editierbar ? Soweit ich weiß, handelt es sich dort doch um einen "read-only" Speicher, also spätestens nach einem Neustart sind ohnehin die ganzen Einstellungen weg.

Jetzt hadere ich auch noch ein wenig mit den Einstellungen. Gibt es hierzu eine Anleitung ?
Offenkundig fehlt die dovecot.conf, die ich auf der Box auch nicht finden kann. Kann ich als Startparameter die von XMail übernehmen ?

Nachtrag : der Fehler bisher scheint also darin gelegen zu haben, dass Dovecot als Paket via External nicht ausführbar gewesen ist.

Bei dem Build im Flash der FritzBox erhalte ich nach Update des dazugehörigen Externals (Dovecot nicht im External) folgende Fehlermeldung :

Creating dovecot configuration ... /usr/bin/doveconf: can't load library 'libubacktrace.so.0'
ed: bad line range for substitute
ed: no file name specified
/usr/bin/doveconf: can't load library 'libubacktrace.so.0'
change imap port to 10143 failed
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

die Konfiguration wird im Flash erstellt und entsprechend für den XMail-Gebrauch angepasst, aber dazu muss doveconf laufen!
Eigentlich sollte dovecot auch vom external laufen, ich nehme an Du hast eventuell nicht das external upgedatet und Du muss eventuell auch dovecot als External Service angeben,
wenn Du es von extern laufen lassen willst.

Desweiteren ist diese libubacktrace.so.0 auch Teil der dev-tools, also finde
find . -name libubacktrace.so*
oder binde sie auch als internen Teil ein.
Falls libubacktrace.so.0 Bestandteil des Images ist, dann führe folgenden Befehl auf der Fritz!Box aus:
ldd /usr/bin/doveconf

Du musst vor dem Neubauen noch ein make dovecot-dirclean ausführen,
da ansonsten dovecot noch gegen die falsche libubacktrace.so.0 gelinkt ist, aber durch die dev-tools nur libubacktrace.so.1 bereitgestellt wird.

Ich weiß nicht warum freetz libubacktrace.so.0, eine im AVM-Image enthaltene Bibliothek, herausnimmt, aber trotzdem während des Bauens dagegen gelinkt werden kann. Dies ist wohl eine Eigenheit von Freetz.

Gruß
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

ich habe unter https://github.com/dirk-dhu/freetz.git
den dovecot_v10 und dev-tools_toolchain_v8 Patch bereitgestellt, da es momentan hier und unter Freetz schwer ist, irgenwelche Patches abzulegen.

Man kann dann ähnlich zu svn einen kompleten Freetz Stand mit folgendem Befehl runterziehen:
git clone https://github.com/dirk-dhu/freetz.git freetz-devel

Ach übrigens der dovecot_v10.patch hat keine Abhängigkeit mehr zu libubacktrace.so.

Gruß
 
Hallo DHU,

vielen Dank für deine Mühe !
Der Build hat einwandfrei geklappt, leider sind die Probleme beim Alten geblieben :
- sobald ich Dovecot im Build externalisiere, erscheint es auf der Freetz Seite / Programm Pakete nicht mehr
- baue ich Dovecot nicht als External-Paket, ist es auf der Freetz-Seite vorhanden und einstellbar.

Meine größte Sorge ist, dass durch Dovecot die IMAP Arbeits- und EMailordner schnell zu groß werden und die FritzBox überläuft. Lassen sich die Dovecot-Pfade so legen, dass IMAP Ordner über USB Speicher laufen, sodass der Flashspeicher der Box schön schlank und schmal bleibt ?

Die Frage bleibt für mich nach wie vor :

>> wenn Dovecot nicht vom External aus, sondern der Box selber läuft, kann es dann überhaupt dauerhaft konfiguriert werden ("read-only System") ?
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

dovecot benutzt, wenn es für xmail konfiguriert ist, das Mail Verzeichnis von xmail mit. Es ist so konfiguriert, das es nur eine IMAP Schnittstelle zu dem XMAIL Verzeichnis bietet.
D.h. ob Du die Binaries von dovecot als External bzw. intern benutzt hat nichts mit dem zu tun, wo die Mails liegen. Das mit den extern schaue ich mir noch mal an, eigentlich sollte es funkionieren.

Gruß
 
Hallo Klaus Dieter,

für das Problem mit dovecot als External muss Du folgende Datei make/dovecot/external.services mit folgendem Inhalt anlegen:

[ "$EXTERNAL_FREETZ_PACKAGE_DOVECOT" == "y" ] && EXTERNAL_SERVICES+=" dovecot"

Oder Du holst Dir das ganze von Github entweder als Patch oder alles.
git clone https://github.com/dirk-dhu/freetz.git freetz-devel

Läuft den dovecot von intern bei Dir?

Gruß
 
Hallo DHU,

ich bin momentan beruflich und privat sehr eingespannt, sodass mir Abends der Kopf fürs Denken fehlt; Dovecot läuft von intern bei mir noch nicht, ich hab die Einstellungen in den .config - Dateien von Dovecot noch nicht richtig durchschaut. Wenn ich richtig verstanden habe, benötigt Dovecot zunächst unbedingt ein Admin-Konto mit Log-in, da sonst gar nichts läuft. Gibt es zu den Dovecot - Configeinstellungen irgendwo eine verständliche Anleitung ?
Ich finde http://wiki.dovecot.org/QuickConfiguration als Laie besonders für die Einrichtungsreihenfolge recht schwer verständlich.

Den Build nach Download von git clone https://github.com/dirk-dhu/freetz.git freetz-devel hatte ich zuletzt durchgeführt, war auch alles super, nur leider ohne Dovecot vom External aus.
Werde als nächstes mal versuchen die Datei unter make/dovecot/external.services mit einzubauen.

Viele Grüße !


Nachtrag : >> mit der Datei unter make/dovecot/external.services ... hat es schon mal geklappt ! Dovecot läuft jetzt vom external aus und bietet im der Paketeliste ein WebIF zum Einstellen. Jetzt fehlen mir noch die konkreten Einstellungen der .config - Dateien
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

also wenn du github benutzt, dann kanst Du auch mit git pull -f die Sachen updaten.

Wie bereits gesagt ist dovecot für xmail vorkonfiguriert und sollte, so wie es ist, funktionieren. Ein spezieller User ist nicht notwenig,
da auf das Filesystem direkt zugegriffen wird.
Ich nehme an Du hast schon das XMAIL Passwort zu Dovecot konvertiert.
Desweitern könntest Du folgende Einträge aus der Dovecot Konfiguration überprüfen:
mail_gid = 501
mail_location = maildir:/mod/etc/xmail/domains/%d/%n/Maildir
mail_uid = 501

Die Ids sollten dem xmail User und der xmail Gruppe entsprechen und der Pfad sollte zu Deinen Mails führen.

Zum Debuggen kannst Du folgende Logging Optionen in die Konfiguration eintragen, natürlich solltest Du vorher dovecot mit syslog gebaut haben und das syslog CGI in die Konfiguration aufnehmen:
auth_verbose=yes
auth_debug_passwords=yes
mail_debug=yesverbose_ssl=yes
auth_verbose_passwords=no|plain|sha1



Viel Erfolg!
 
Zuletzt bearbeitet:
Hallo DHU,

die dovecot.conf läßt sich nicht dauerhaft editieren, die Einträge mail_gid und mail_uid stehen nach Übernehmen immer wieder auf "1002".
Als Fehlermeldung erscheint,

BusyBox v1.24.1 (2016-01-24 05:08:16 PST) multi-call binary.
Usage: mkdir [OPTIONS] DIRECTORY...
Create DIRECTORY

-m MODE Mode
-p No error if exists; make parent directories as neededed:

no substitutions found
for "uid=501"ed: no substitutions found
for "gid=501"Starting

Dovecot IMAP server ... done.

mit der ich nichts anfangen kann.
Hat Dovecot hier keine Schreibrechte, um ein entsprechendes Verzeichnis / Dateien anlegen zu können ?
 
Zuletzt bearbeitet:
Ok, ich habe falsch editiert, nämlich über das WebIF von Dovecot selber. Dort hat er keine Veränderungen gespeichert.
Über die Rudi-Shell dann allerdings doch.

Die ids für XMail lauten bei mir auf "1002"; diese habe ich dann sowohl bei
- mail_uid als auch bei mail_gid wieder eingetragen und auch unter args = uid=1002 gid=1002 home=/mod/etc/xmail/domains/%d/%n/Maildir driver = static.

Ist die mail_location nicht, wo XMail individuell eigentlich liegt ? Bei mir ist das /var/media/ftp/KINGSTON/XMail;
der entsprechende Pfad dann : mail_location = maildir:/var/media/ftp/KINGSTON/domains/%d/%n/Maildir ?

Beim Start, bzw. Übernehmen der Einstellungen meldet Dovecot dann

BusyBox v1.24.1 (2016-01-24 05:08:16 PST) multi-call binary.

Usage: mkdir [OPTIONS] DIRECTORY... Create DIRECTORY
-m MODE Mode
-p No error if exists;
make parent directories as needed
doveconf: Fatal: Error in configuration file /mod/etc/dovecot/dovecot.conf line 24: Expecting '{'
ed: bad line range for substituteed: no file name specified
doveconf: Fatal: Error in configuration file /mod/etc/dovecot/dovecot.conf line 24: Expecting '{'change imap port to 10143 failed
Starting Dovecot IMAP server ...

Anhang anzeigen dovecot.conf.doc

"line 24" bringt mich hier total durcheinander. Was will Dovecot von mir ?
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

die Fehler die Du bekommst sind daher, dass die Konfiguration ferhlerhaft ist und zwar fehlen in der betreffenden Zeile die Quotes:
mailbox "Sent Messages" {
daher kommen die Fehlermeldungen, weil doveconf die versucht zu parsen.

Wenn xmail läuft und Du unter /mod/etc/xmail nachschaust wirst Du sehen, dass dort Deine XMAIL Dateien auch zu finden sind.
Port, UID und GID wurden auch erfolgreich durch das Start-Script geändert, wie Du wahrscheinlich erahnst.
Eigentlich brauchst Du an den Default-Einstellungen ohne Grund nichts ändern.

Das mit dem mkdir ist merkwürdig, scheinbar fehlt dort eine Busybox Einstellung in make menuconfig.
Schalte dort developer tools an.
Oder die Fehlermeldung kommt daher, dass Du ein Verzeichnis eingetragen hast, welches ein Bindezeichen enthält.

Wenn es wieder läuft, dann kopiere die Debug Option und poste den Output.

Gruß
 
Hallo DHU,

in make menuconfig, schalte dort developer tools an >> läuft schon
oder du hast ein Verzeichnis eingetragen, welches ein Bindezeichen enthält >> kein Bindezeichen

Ich habe die aktuellen Pfade zurückgesetzt auf
mail_location = maildir:/mod/etc/xmail/domains/%d/%n/Maildir
Trotzdem bleibt die Meldung beim Dovecot Start bei

usyBox v1.24.1 (2016-01-24 05:08:16 PST) multi-call binary.

Usage: mkdir [OPTIONS] DIRECTORY...

Create DIRECTORY

-m MODE Mode
-p No error if exists; make parent directories as needed
doveconf: Fatal: Error in configuration file /mod/etc/dovecot/dovecot.conf line 24: Expecting '{'
ed: bad line range for substitute
ed: no file name specified
doveconf: Fatal: Error in configuration file /mod/etc/dovecot/dovecot.conf line 24: Expecting '{'
change imap port to 10143 failed
Starting Dovecot IMAP server ...


Ist dieser Bereich unter /var/mod/etc/dovecot/dovecot.conf überhaupt beschreibbar ?






 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

hast Du auch die Anführungszeichen von Zeile 24 wiederhergestellt, siehe folgende Zeile
mailbox "Sent Messages" {
Die Datei /var/mod/etc/dovecot/dovecot.conf ist ein Link ins beschreibbare Flash /tmp/flash/dovecot/dovecot.conf

Irgendein mkdir Befehl funktioniert nicht, dies kann man nur mit Debug-Ausgaben herausfinden.
Kopiere /etc/init.d/rc.dovecot nach /var/InternerSpeicher/KINGSTON und editiere dort die erste Zeile und füge ein -x an, es sollte dann wie folgt aussehen
#!/bin/sh -x
und dann führe die Datei wie folgt aus und poste den Output
/var/InternerSpeicher/KINGSTON/rc.dovecot start

Gruß

 
Zuletzt bearbeitet:
mailbox "Sent Messages" { >> über RudiShell nimmt er " nicht an und löscht diese direkt wieder raus. Nur ' wird gespeichert.

' ist aber doch ganz sicher nicht gleich " ?


>> gilt auch für extern unter Ubuntu bearbeiten und via USB Stick nach /mod/etc/dovecot kopieren,
sowie mit RudiShell hochladen

spätestens nach dem Speichern sind die Anführungszeichen wieder weg
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

lösche die Datei /tmp/flash/dovecot/dovecot.conf und führe modsave flash aus, sie wird beim nächsten reboot wieder angelegt, aber eigentlich kannst Du diese Datei auch direkt editieren mit folgenden Link:
http://192.168.178.1:81/cgi-bin/file/dovecot/conf

Falls dies alles nichts hilft und Du es direkter magst, dann richte Dir einen Telnet und/oder dropbear (ssh) Zugang ein.
Dann fehlt Dir nur noch das mc package und dann kannst Du einigermaßen direkt arbeiten ohne die Limitationen der Rudi-Shell.

Gruß
 
Zuletzt bearbeitet:
Danke für Deine Tipps !

Da ich diverse Probleme beim Editieren mit der RudiShell hatte, wie editierst du eigentlich ?
Habe die Aufgabe aus # 54 nur mit vi lösen können, alle anderen Änderungen wurden nicht gespeichert



Anhang anzeigen rc.dovecot-start.doc
 
Hallo Klaus Dieter,

eigentlich läuft dovecot, bis auf die Fehlermeldung, die Du auch ignorieren kannst.
Nun muss Du Dich nur noch mit Outlook oder einem anderem E-Mail Programm mit dovecot verbinden
und gegebenenfalls syslog Nachrichten auswerten.

Falls Du die Fehlermeldung weg haben willst, dann wende folgendem Patch an:
Code:
diff --git a/make/dovecot/files/root/etc/init.d/rc.dovecot b/make/dovecot/files/root/etc/init.d/rc.dovecot
index a80ad7e..f32df28 100755
--- a/make/dovecot/files/root/etc/init.d/rc.dovecot
+++ b/make/dovecot/files/root/etc/init.d/rc.dovecot
@@ -52,7 +52,7 @@ configure() {
                chown root:dovecot /var/run/$DAEMON
        fi

-       if [ ! -d "$DOVECOT_CONFIGLOCATION" ]; then
+       if [ -n "$DOVECOT_CONFIGLOCATION" ] && [ ! -d "$DOVECOT_CONFIGLOCATION" ]; then
                mkdir -p $DOVECOT_CONFIGLOCATION
        fi

Gruß
 
Hallo DHU,

wenn in Freetz gestartet, kommt die Fehlermeldung und anschließend steht Dovecot wieder auf gestoppt, bzw "stopped".
Läuft es trotzdem im Hintergrund ?

Kannst du mir bitte einen Tipp wegen des Patches geben - muss der vor dem make menuconfig in den Build rein ?

Und ich hab unter Outlook noch Probleme mit dem Ordnerpfad der IMAP Einstellungen, ist der automatisch
>> maildir:/mod/etc/xmail/domains/%d/%n/Maildir ?

Als Anmeldeinfo braucht Outlook doch sicher den Dovecot Login, also Nutzer "admin", nur welches Passwort ist in Dovecot vorgegeben. Ich finde da keins und auch keine Möglichkeit, eins zu vergeben
 
Zuletzt bearbeitet:
Hallo Klaus Dieter,

dovecot hat sich mit einen Fehler nach dem Start beendet, dazu solltest Du das syslog auf Fehlermeldungen analysieren.

Der angebene patch muss in eine Datei kopiert werden und mit
patch < PATCH_DATEI
aus dem freetz Wurzel-Verzeichnis angewendet werden.
Oder du führst die Änderung in rc.dovecot in der Nähe der Zeile 52 manuell, durch den Unterschied in der Zeile von - nach + gekennzeichnet, aus.

Das Packet mc (Midnight Commander) enthält eine einfachen Editor, der gut zu bedienen ist.

Der Benutzer mit dem Du Dich in Outlook anmeldent würdest, ist der gleiche wie in XMail, da Du mit dem Update Passwort Script, die Benutzer aus Xmail nach dovecot-Benutzer mit dem gleichen Passwörtern übernimmst.

Viel Erfolg
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.