47. pepsi-stage-auto-whitelist¶
Enregistrer les destinataires du courrier sortant pour qu’ils puissent toujours répondre.
47.1. Rôle¶
pepsi-stage-auto-whitelist est le pendant côté écriture de pepsi-stage-check-whitelist. Au passage d’un message sortant, elle insère chaque destinataire d’enveloppe (rcpt_to) dans une liste blanche nommée, de sorte que lorsque cette personne répond plus tard, l’étape de vérification reconnaisse son en-tête From: et laisse passer la réponse sans paiement. Placez-la sur le chemin sortant (par exemple avant une étape de relais). Elle ne fait qu’écrire des lignes de liste blanche et avancer — elle ne modifie jamais le message et ne le supprime, ne le fait rebondir ni ne le met en pause. Référence : pepsi-stage-auto-whitelist(1).
47.2. Fonctionnalités¶
Table de liste blanche partagée : écrit dans la même table
pepsi.whitelistque celle lue par l’étape de vérification, de sorte qu’aucun schéma propre n’est nécessaire ; l’optionWHITELIST_NAMEsélectionne le groupewhitelist_nameà peupler.Tous les destinataires d’enveloppe : chaque adresse de
rcpt_toest enregistrée en un seul aller-retour, de façon idempotente (ON CONFLICT (whitelist_name, match_field, whitelist_regex) DO NOTHING) ; les lignes sont écrites avecmatch_field = from.Motifs entièrement ancrés : chaque adresse est mise en minuscules, échappée pour l’expression régulière et encadrée de
^/$, de sorte que lewhitelist_regexstocké corresponde à cette adresse et à rien d’autre. L’étape de vérification l’évalue (sans distinction de casse, avec l’opérateur~*) face à l”addr-spec extraite de l’en-têteFrom:d’une réponse, et non face à la valeur brute de l’en-tête — de sorte quebob@example.com (Bob)corresponde toujours à la ligne debob@example.com, tandis quebob@example.com.evilet(bob@example.com)x@attacker.testn’y correspondent pas. L’ancrage est porteur : une classe de frontière énumérant les caractères qu’une adresse peut contenir laisserait un attaquant trouver un seul caractère hors de cette classe et le placer de part et d’autre d’une adresse sur liste blanche à l’intérieur d’une partie locale lui appartenant.La liste blanche de qui : sur le chemin sortant, les couches par adresse sont consultées pour l”expéditeur de l’enveloppe. L’opérateur peut nommer n’importe quelle liste blanche dans le fichier INI, dans
pepsi.config_overrideà n’importe quelle portée, ou dans une lignepepsi.settingsécrite avec pepsi-settings, y compris une liste partagée par tous les utilisateurs locaux. Un titulaire de compte qui peut modifier l’étape par courrier (pepsi-stage-edit-settings) ne peut choisir qu’une liste dans son propre espace de noms<login>/..., ou garder celle de l’opérateur ; toute autre possibilité lui permettrait de remplir une liste partagée ou étrangère avec des adresses de son choix.Conditions par ligne :
dkim_requiredest renseigné depuis l’option DKIM_REQUIRED (par défaut yes).signature_requiredest mis à true si et seulement si l’état du message porteencrypted: true— ce que pepsi-stage-encrypt positionne lorsque la copie d’un destinataire a réellement été chiffrée. Un correspondant atteint sous chiffrement est ainsi soumis à la même exigence lorsqu’il répond. Cela ne fonctionne que si l’étape est placée après l’étape de chiffrement ; elle ne modifie aucun contenu, elle peut donc se situer entre le chiffrement et pepsi-stage-dkim-sign, qui est l’endroit où l’assistant de configuration la place.
47.3. Configuration¶
[stage-<name>] : PROGRAM = pepsi-stage-auto-whitelist, WHITELIST_NAME (obligatoire — l’unique groupe whitelist_name à peupler, un nom littéral : les marqueurs ne sont pas développés et sont refusés), DKIM_REQUIRED (booléen, par défaut yes) et NEXT_STAGE (obligatoire — l’étape enregistre les destinataires et transmet toujours le message). Ni les en-têtes ni le corps ne sont chargés. Voir pepsi-stage-auto-whitelist(1).
47.4. État¶
Entrées : les destinataires d’enveloppe issus de la colonne
rcpt_to, etstate.encrypted— positionné par pepsi-stage-encrypt, plus tôt sur le même chemin sortant, lorsque le message sortant a réellement été chiffré vers une clé de destinataire —, qui renseigne l’indicateursignature_requiredstocké, de sorte qu’un correspondant atteint sous chiffrement soit plus tard soumis à la même exigence.Sorties : aucune sur le message — son
statereste intact ; l’effet de bord est une lignepepsi.whitelistpar destinataire.
47.5. Voir aussi¶
pepsi-stage-check-whitelist, pepsi-stage-anti-spam, pepsi-stage-arc, Fonctionnalités prises en charge, pepsi-stage-auto-whitelist(1).