(Courriels de diversion: <ensorcelleront@approuverai-somnolent.com> <ecloraient@repugner-bolides.com> <partagerons@sensibilisant-rauques.com> <extrairez@enracines-situent.com> <gravirais@atomiques-expieras.com> <philosopherons@detecterent-polemiquerais.com> <scandalisa@retranscrirai-manchettes.com> <sautillements@trajets-machinal.com> <ballaster@delimitee-reinstallera.com> <intimidante@conquerions-refermerai.com> )
Bonsoir,
Sébastien Dinot a écrit :
| Je me débats depuis plusieurs semaines avec mon fichier .procmailrc
| pour essayer d'identifier les messages comportant une pièce jointe
| suspecte (noms se terminant par l'une des extensions MS-Windows
| classiques).
| [...]
Je me réponds à moi-même vu que j'ai trouvé la réponse à mon problème
et que, personne n'ayant pu m'aider, la solution est toujours bonne à
diffuser.
Pour que les variables soient recherchées et substituées dans les
conditions, il faut insérer entre le caractère '*' qui annonce la
condition et le début de l'expression régulière le drapeau '$' (se
reporter aux pages de manuel 'procmailrc' et 'procmailex' pour les
détails).
Le filtre devient donc :
----------------------------------------------------------------------
WS='[ ]*($[ ]+)*'
EXTLIST='bat|chm|com|dll|dot|exe|hta|js|ocx|pif|scr|shs|vba|vbs|zip'
:0H
* $ ^content-type:${WS}(multipart/mixed|application/octet-stream)
{
:0B
* $ ^content-disposition:${WS}(attachment|inline);${WS}(file)?name=.*\.(${EXTLIST})
${MAILDIR}/messages_louches
}
----------------------------------------------------------------------
Et tout fonctionne !
Démonstration en basculant en mode verbeux :
Sans le drapeau '$' :
----------------------------------------------------------------------
seb@achille:~$ procmail -m .procmailrc.test < ~/mail/testseb@achille:~$ cat ~/mail/procmail.log.testprocmail: Assigning "WS=[ ]*($[ ]+)*"
procmail: Assigning "EXTLIST=bat|chm|com|dll|dot|exe|hta|js|ocx|pif|scr|shs|vba|vbs|zip"
procmail: No match on "^content-type:${WS}(multipart/mixed|application/octet-stream)"
^^^^^
Pas de substitution de ${WS}
procmail: Executing "spamassassin"
procmail: [17455] Wed Apr 14 22:27:52 2004
procmail: Match on "^X-Spam-Status: Yes"
procmail: Locking "/home/seb/mail/spam.lock"
procmail: Assigning "LASTFOLDER=/home/seb/mail/spam"
procmail: Opening "/home/seb/mail/spam"
procmail: Acquiring kernel-lock
procmail: Unlocking "/home/seb/mail/spam.lock"
From seb Wed Apr 14 10:49:54 2004
Subject: [CA] Re: Extended Mail System
Folder: /home/seb/mail/spam 45077
----------------------------------------------------------------------
Avec le drapeau '$' :
----------------------------------------------------------------------
seb@achille:~$ procmail -m .procmailrcc.test < ~/mail/testseb@achille:~$ cat ~/mail/procmail.log.testprocmail: Assigning "WS=[ ]*($[ ]+)*"
procmail: Assigning "EXTLIST=bat|chm|com|dll|dot|exe|hta|js|ocx|pif|scr|shs|vba|vbs|zip"
procmail: Match on "^content-type:[ ]*($[ ]+)*(multipart/mixed|application/octet-stream)"
^^^^^^^^^^^^^^^^^^
Substitution de ${WS}
procmail: Match on "^content-disposition:[ ]*($[ ]+)*(attachment|inline);[ ]*($[ ]+)*(file)?name=.*\.(bat|chm|com|dll|dot|exe|hta|js|ocx|pif|scr|shs|vba|vbs|zip)"
procmail: Assigning "LASTFOLDER=/home/seb/mail/messages_louches"
procmail: Opening "/home/seb/mail/messages_louches"
procmail: Acquiring kernel-lock
From seb Wed Apr 14 10:49:54 2004
Subject: [CA] Re: Extended Mail System
Folder: /home/seb/mail/messages_louches 42369
----------------------------------------------------------------------
Sébastien
--
Sébastien Dinot, sdinot@april.orgSecrétaire de l'APRIL (http://www.april.org)
Association pour la Promotion et la Recherche en Informatique Libre
--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>