47. pepsi-stage-auto-whitelist¶
Hält die Empfänger ausgehender Mail fest, damit sie immer antworten können.
47.1. Rolle¶
pepsi-stage-auto-whitelist ist das schreibseitige Gegenstück zu pepsi-stage-check-whitelist. Während eine ausgehende Nachricht durchläuft, trägt es jeden Umschlagempfänger (rcpt_to) in eine benannte weiße Liste ein, sodass die Prüf-Stage den From:-Header dieser Person erkennt und ihre Antwort ohne Zahlung durchlässt, wenn sie später antwortet. Platzieren Sie es auf dem ausgehenden Pfad (z. B. vor einer Relay-Stage). Es schreibt nur Datensätze der weißen Liste und schaltet weiter — es verändert die Nachricht nie, verwirft sie nicht, erzeugt keinen Bounce und pausiert sie nicht. Referenz: pepsi-stage-auto-whitelist(1).
47.2. Funktionen¶
Gemeinsame Tabelle der weißen Liste: schreibt dieselbe
pepsi.whitelist-Tabelle, die die Prüf-Stage liest, sodass kein eigenes Schema nötig ist; die OptionWHITELIST_NAMEwählt die zu befüllendewhitelist_name-Gruppe.Alle Umschlagempfänger: jede Adresse in
rcpt_towird in einem einzigen Round-Trip festgehalten, idempotent (ON CONFLICT (whitelist_name, match_field, whitelist_regex) DO NOTHING); die Datensätze werden mitmatch_field = fromgeschrieben.Vollständig verankerte Muster: Jede Adresse wird kleingeschrieben, regex-escapt und in
^/$eingefasst, sodass der gespeichertewhitelist_regexgenau diese Adresse und nichts sonst trifft. Die Prüf-Stage wertet ihn (ohne Beachtung der Groß-/Kleinschreibung, mit dem Operator~*) gegen die aus demFrom:-Header einer Antwort geparste addr-spec aus, nicht gegen den rohen Header-Wert — sodassbob@example.com (Bob)weiterhin den Datensatz fürbob@example.comtrifft, währendbob@example.com.evilund(bob@example.com)x@attacker.testes nicht tun. Die Verankerung ist tragend: Eine Grenz-Zeichenklasse, die die Zeichen aufzählt, die eine Adresse enthalten darf, würde es einem Angreifer erlauben, ein Zeichen außerhalb davon zu finden und es beiderseits einer Whitelist-Adresse in einen eigenen Local Part zu setzen.Wessen Whitelist: Auf dem ausgehenden Pfad werden die adressbezogenen Ebenen für den Envelope-Absender nachgeschlagen. Der Operator darf jede beliebige Whitelist benennen: in der INI-Datei, in
pepsi.config_overridein jedem Geltungsbereich oder in einem mit pepsi-settings geschriebenenpepsi.settings-Datensatz, eine von allen lokalen Benutzern geteilte Liste eingeschlossen. Ein Kontoinhaber, der die Stage per Mail bearbeiten darf (pepsi-stage-edit-settings), darf nur eine Liste in seinem eigenen Namensraum<login>/...wählen oder die des Operators beibehalten; alles andere würde ihm erlauben, eine geteilte oder fremde Liste mit Adressen seiner Wahl zu füllen.Bedingungen pro Datensatz:
dkim_requiredwird aus der Option DKIM_REQUIRED gesetzt (Standardwert yes).signature_requiredwird genau dann auf true gesetzt, wenn der Nachrichten-Stateencrypted: trueenthält — was pepsi-stage-encrypt setzt, wenn die Kopie eines Empfängers tatsächlich verschlüsselt wurde. Ein unter Verschlüsselung erreichter Korrespondent wird damit beim Antworten am selben Maßstab gemessen. Das funktioniert nur, wenn die Stage nach der Encrypt-Stage steht; sie ändert keinen Inhalt, darf also zwischen Encrypt und pepsi-stage-dkim-sign stehen, wohin der Einrichtungsassistent sie setzt.
47.3. Konfiguration¶
[stage-<name>]: PROGRAM = pepsi-stage-auto-whitelist, WHITELIST_NAME (erforderlich — die eine zu befüllende whitelist_name-Gruppe, ein wörtlicher Name: Platzhalter werden nicht expandiert und abgelehnt), DKIM_REQUIRED (Boolean, Standardwert yes) und NEXT_STAGE (erforderlich — die Stage hält die Empfänger fest und reicht die Nachricht immer weiter). Weder die Header noch der Rumpf werden geladen. Siehe pepsi-stage-auto-whitelist(1).
47.4. State¶
Eingaben: die Umschlagempfänger aus der Spalte
rcpt_toundstate.encrypted— gesetzt von pepsi-stage-encrypt, weiter vorn auf demselben ausgehenden Pfad, wenn die ausgehende Nachricht tatsächlich an einen Empfängerschlüssel verschlüsselt wurde —, was das gespeicherte Flagsignature_requiredsetzt, sodass ein unter Verschlüsselung erreichter Korrespondent später am selben Maßstab gemessen wird.Ausgaben: keine an der Nachricht — ihr
statebleibt unberührt; der Nebeneffekt ist einpepsi.whitelist-Datensatz pro Empfänger.
47.5. Siehe auch¶
pepsi-stage-check-whitelist, pepsi-stage-anti-spam, pepsi-stage-arc, Unterstützte Funktionen, pepsi-stage-auto-whitelist(1).