Everything posted by rseffner
-
rspamadm configdump vs. Realität
Es ist wieder dieser Teil: # Email: @ptz-prototypen.de frx_0ba31014ba51a9fa2916fb3dd646fde8Z_rcpt { id = "frx_0ba31014ba51a9fa2916fb3dd646fde8Z_rcpt"; priority = low; rcpt = "@ptz-prototypen.de"; apply { actions { "add header" = 7; rewrite_subject = 7; reject = 14; } } } frx_0ba31014ba51a9fa2916fb3dd646fde8Z_from { id = "frx_0ba31014ba51a9fa2916fb3dd646fde8Z_from"; priority = low; from = "@ptz-prototypen.de"; apply { actions { "add header" = 7; rewrite_subject = 7; reject = 14; } } } Das "Z" da anzuhängen wirkt (nun? hatte ich mich zu früh gefreut) nicht mehr.
-
rspamadm configdump vs. Realität
Das hat auch nicht (lange) geholfen. Der Fehler ist wieder da, nur finde ich diesmal die Stelle in der config nicht so schnell ;-( Der LUA-code, der die settings liest, stolpert irgendwo über "...string expected, got table...".
-
rspamadm configdump vs. Realität
Ich habe lib/Froxlor/Cron/Mail/Rspamd.php ab Zeile 173 wie folgt angepasst (ein "Z" eingefügt) und erstmal Ruhe: $this->frx_settings_file .= 'frx_' . $email_id . 'Z_' . $type . ' {' . "\n"; $this->frx_settings_file .= '<->id = "frx_' . $email_id . 'Z_' . $type . '";' . "\n"; Bugreport bei rspamd ist auch eröffnet. Erstaunlich, dass das in anderen Versionen zu funktionieren scheint.
-
rspamadm configdump vs. Realität
Die Ziffern allein können das Problem nicht sein, denn die ganzen anderen "frx_" Bezeichner und ID haben auch Ziffern und funktionieren. Ich vermute eher, dass da LUA oder rspamd-code intern eine De-/Codierung/Interpretation erfolgt, die zu Zeichen führt, die in der weiteren Verarbeitung auf eine Tabelle hindeuten. Vielleicht sollte der "Zufall" nicht ganz so HEX (vielleicht einfach zwangsweise in den Mittelteil ein Zeichen >f einstreuen 😉 aussehen. Vermutlich ein Fall für den rspamd Entwickler, aber ich brauche auch mit Froxlor erstmal eine Lösung, bis sich der Entwickler bewegt. Machst Du ein Ticket bei rspamd auf oder soll ich (später)?
-
rspamadm configdump vs. Realität
Es ist der Bezeichner! frx_0ba31014ba51a9fa2916fb3dd646fde8_rcpt { id = "frx_0ba31014ba51a9fa2916fb3dd646fde8_rcpt"; Ändere ich den zu "frx_test_rcpt" ist der Fehler weg. Wer weiß was LUA da in den String interpretiert, den es ja dann offenbar für eine Tabelle hält. Ich habe 754kB mit ca. 1.500 Mailadressen und nur dieser eine Bezeichner macht die Probleme.
-
rspamadm configdump vs. Realität
Der Fehler liegt (unter anderem?) hier: frx_0ba31014ba51a9fa2916fb3dd646fde8_rcpt { id = "frx_0ba31014ba51a9fa2916fb3dd646fde8_rcpt"; priority = low; rcpt = "@ptz-prototypen.de"; apply { actions { "add header" = 7; rewrite_subject = 7; reject = 14; } } } Das einzig Verständliche in der Fehlermeldung ist für mich "(string expected, got table)". Ein Formatierungsfehler vermutlich - nur kann ich den nicht sehen. rspamd 3.9.1 aus dem deb vom rspamd repo.
-
rspamadm configdump vs. Realität
Ja ich meine das rspamd web UI. Ich habe eine Spur: 2024-09-12 12:31:43 #1809170(main) <ergubd>; cfg; rspamd_lua_run_config_post_init: cannot run config post init script: /usr/share/rspamd/lualib/lua_settings.lua:174: bad argument #1 to 'update' (string expected, got table); trace: [1]:{[C]:-1 - update [C]}; [2]:{/usr/share/rspamd/lualib/lua_settings.lua:174 - numeric_settings_id [Lua]}; [3]:{/usr/share/rspamd/lualib/lua_settings.lua:236 - register_settings_id [Lua]}; [4]:{/usr/share/rspamd/plugins/settings.lua:1152 - process_setting_elt [Lua]}; [5]:{/usr/share/rspamd/plugins/settings.lua:1215 - fun [Lua]}; [6]:{/usr/share/rspamd/lualib/fun.lua:34 - call_if_not_empty [Lua]}; [7]:{/usr/share/rspamd/lualib/fun.lua:192 - for_each [Lua]}; [8]:{/usr/share/rspamd/plugins/settings.lua:1207 - process_settings_table [Lua]}; [9]:{/usr/share/rspamd/plugins/settings.lua:1429 - <unknown> [Lua]};; priority = 100 Ich baue gerade die froxlor_settings.conf Stück für Stück zusammen und kann dann hoffentlich einen Hinweis liefern.
-
rspamadm configdump vs. Realität
Hallo, ich habe an Mailadressen individuelle scores für rewrite und reject eingestellt. Ein 'rspamadm configdump' bestätigt, dass die Einstellung den weg in die geladene rsmapd-Instanz gefunden hat. Schaue ich allerdings ins UI sehe ich noch immer in der Spalte "score" hinte dem "/" den default von "14". Entsprechend werden die Mails auch nicht so behandelt, wie von mir durch individuelle Einstellungen gewünscht. Was kann ich falsch gemacht haben? Gruß, Ronny
-
dis/enable der Spamsettings pro E-Mail-Adresse löscht ggf. andere values
Hallo, wenn man in den E-Mail-Adress-Einstellungen gleichzeitig Werte in den editierbaren Feldern (z.B. reject score) anpasst und dann einen der "Umschalter" (z.B. für SPAM-Schutz oder Greylisting) betätigt, wird durch das Neuladen der Seite der geänderte Wert wieder zurückgesetzt. Vielleicht lässt sich das zukünfig besser lösen. Gruß, Ronny
-
Jungfreuliche Installation...
Ist doch offensichtlich. Der Installer läuft mit einem VHost der PHP 8.3 hat und dem PHP8.2 fehlen die genannten Module. Da nützt es auch nix, wenn Du deren 8.eer Geschwister installierst. Und warum erwähnst Du dann noch die gnadenlos veraltete (kein Support mehr) 5.6? Du willst Serveradmin sein, dann übernimm Verantwortung und recherchiere, lies Meldungen genau und denke nach. Der Post war echt unnötig.
-
goaccess ist wohl wieder gesprächiger geworden
Ich konnte es eingrenzen auf Logfiles mit 0 Byte Größe. Bei diesen kommt die eingangs zitierte Formatfehler-Meldung. Logfiles Größe 0 gab es aber auch bisher schon. Ich glaube noch immer, dass sich das Verhalten von goaccess da geändert hat.
-
goaccess ist wohl wieder gesprächiger geworden
Gestern wurde für debian goacces 1.9 ausgerollt und nun gibts vom traffic-cron ==1286357== Formatfehler - Prüfen Sie das Log-/Datums-/Zeitformat ==1286389== Meldungen. Vermutlich muss ich code wieder der goaccess-Aufruf angepasst werden.
-
DKIM-Filer / opendkim
@d00p hat Dir meinen Artikel verlinkt, wenn Du qualifizierte Fragen hast ... bei mir läuft das noch so (oder ähnlich) und ich kann sicher antworten.
-
unerwartetes Feedback vom cron (traffic-task)
Der unerwünschte Output ist weg.
-
unerwartetes Feedback vom cron (traffic-task)
Seit zwei, drei Tagen gibts Mail vom cron (traffic-task) in der Form: [SETTING UP STORAGE -] {0} @ {0/s} [SETTING UP STORAGE -] {0} @ {0/s} [SETTING UP STORAGE -] {0} @ {0/s} [SETTING UP STORAGE -] {0} @ {0/s} [SETTING UP STORAGE -] {0} @ {0/s} [SETTING UP STORAGE -] {0} @ {0/s} [PARSING -] {11,268} @ {0/s} Wo kommt das her, wie stelle ich das ab? Der Task dazu: /usr/bin/nice -n 5 /usr/bin/php -q /var/www/html/froxlor/bin/froxlor-cli froxlor:cron 'traffic' -q 1> /dev/null
-
Ändern der PHP-Konfiguration für den Froxlor-VHost nicht möglich
Beim Verstehen kann ich im Moment auch nicht helfen, aber bestätigen, dass die Anpassungen auch für mich funktionieren.
-
Ändern der PHP-Konfiguration für den Froxlor-VHost nicht möglich
Ich habe FCGID aktiviert, falls das eine Rolle spielt. Das Ändern der PHP-Konfiguration unter System -> Einstellungen -> Froxlor VirtualHoste Einstellungen führt leider nur zu: error.not in option Was habe ich falsch gemacht?
-
Sortierung nach Domains in PHP-Konfigurationen kaputt?
Drücke ich einen der Sortierpfeile neben "In Verwendung für Domain(s) unter den PHP-Konfigurationen, erhalte ich folgenden Fehler: 500 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'domains' in 'order clause' Ist das eine SYSCP-Leiche oder ein aktueller Bug? An der Stelle würde ich mir sogar Sortierung "in zwei Ebenen" wünschen: primär nach Kurzbeschreibung und innerhalb dieser Trefferblöcke dann nach Domain.
-
Fehler im Umgang mit CAA
Ich konnte das nicht nochmal reproduzieren. Also: kein Fehler.
-
Fehler im Umgang mit CAA
Ich habe eine DOMAIN.TLD für die ich SSL mit LE aktiviere, aber auch einen manuellen CAA setze. Multiple CAA ist laut RFC erlaubt. Im Froxlor DNS-Editor unter DNS-Zone sehe ich dann beide CAA, meinen und den automagisch generierten für LE (weil ich das in den Settings von Froxlor so wünschte). In der physischen Zone unter /etc/bind dann allerdings fehlt der LE-CAA - Froxlor schreibt den gar nicht. Füge ich nun noch einen manuellen CAA für LE der Zone hinzu, zeigt der Editor dann 3 CAA (2 davon LE) und in der Zone landet je einer (LE und meiner; so wie ich das eigentlich erreichen will). Ich vermute hier einen kleinen Logikbug. [UPDATE] Inzwischen stehen im Zonefile doch 2 LE CAA Einträge - ich bin sicher das war gerade nicht so, LE hatte sich ja auch beschwert, das die CAA nicht zuließ, ein Zertifikat auszustellen.
-
froxlor-cli froxlorcron 'tasks' wirft "no such file or directory" bei "checking froxlor file permissions"
Danke fürs genau Hingucken. Das war unnötiger Lärm, den ich dadurch gemacht habe, sorry.
-
froxlor-cli froxlorcron 'tasks' wirft "no such file or directory" bei "checking froxlor file permissions"
Das Entfernen von "-q" am php ändert nix an der Ausgabe. Ich habe direkt über "FileDir::safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($_mypath));" in der Funktion validateOwnership der MasterCron.php mal folgendes hinzugefügt: $output->writeln('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($_mypath)); Die Ausgabe ist nun: root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # /usr/bin/php /var/www/html/froxlor/bin/froxlor-cli -vvv froxlor:cron 'tasks' Checking froxlor file permissions... chown -R froxlorlocal:froxlorlocal '/var/www/html/froxlor/' sh: 0: getcwd() failed: No such file or directory OK Running "tasks" job root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # chown -R froxlorlocal:froxlorlocal '/var/www/html/froxlor/' root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # Der aufzurufende Befehl funktioniert also grundsätzlich.
-
froxlor-cli froxlorcron 'tasks' wirft "no such file or directory" bei "checking froxlor file permissions"
Hallo, wie kann ich der Ursache für folgendes Verhalten auf den Grund gehen, wenn potenziertes "verbose" nichts hilft? root@froxlor /var/www/php-fcgi-scripts/ckt/tools.***.de # /usr/bin/php -q /var/www/html/froxlor/bin/froxlor-cli -vvv froxlor:cron 'tasks' Checking froxlor file permissions...sh: 0: getcwd() failed: No such file or directory OK Running "tasks" job
-
authentifizierten Nutzern den Mailversand einschränken
Ja, dass das im UI ne Menge Arbeit bedeuten würde ist mir klar. Ich möchte erstmal wissen, ob die %d Ersetzung von der Adressberechtigung auf die Domainberechtigung wechselt. Man könnte das ja als Tipp in die Doku aufnehmen. Die Kür wäre dann, wenn ein DB:Profi mal schaut wie man diese Anfrage auf alle Domains des Kunden, zu dem das Saale-Login passt, erweitert.
-
authentifizierten Nutzern den Mailversand einschränken
Hallo, froxlor kommt ja mit einer Datenbankabfrage für den postfix-Parameter smtpd-sender-login-maps, die das SASL-Login mit der MAIL-FROM Adresse abgleicht - sprich tim@example.com kann auch nur als tim@example.com versenden, wenn man das aktiviert. Nun habe ich hier aber häufig Anwendungsfälle, in denen tim auch als timea@example.com (gleicher domainpart) oder sogar tim@example.de (abweichender, aber dem Froxlor-Kunden zugeordneter domainpart) versenden können soll. Ich frage mich, ob man (also ich jetzt individuell) dazu nicht die SQL-query abändern könnte und wenn ja wie: Wir haben: SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s')); Das "%s" steht laut postfix-Doku für "address". Wenn der SASL tim@example.com also als tim@example.com oder timea@example.com versenden dürfen soll, müsste es doch genügen, das erste Vorkommen von "%s" durch "%d" zu ersetzen - nicht? SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%d' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s')); Ferner scheint das auch nur so mit catch-all-Konten zu klappen (zumindest aus SQL-Sicht), ich bin mir nicht klar ob postfix dann noch localpart und domainpart durchprobiert. Nun lässt sich das doch sicher auch so bauen, dass ein beliebiges Konto eines Froxlor-Kunden im Namen aller Nutzer und Domains des Kunden versenden dürfte. Das verkompliziert das SELECT dann, weil über die Kunde-ID gegangen werden muss. Gibt es hier SQL-Kenntnisse, die das ermöglichen würden?