(Courriels de diversion: <apprehendez@altereraient-redresserait.com> <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> )


Salut,

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).

En théorie, c'est trivial. Il suffit de repérer les lignes :

----------------------------------------------------------------------
Content-Type: application/octet-stream;
Content-Disposition: attachment; filename="body.zip"
----------------------------------------------------------------------

Dans les faits, ce n'est pas si évident, ne serait-ce que parce que
ces informtations sont généralement agencées sur plusieurs lignes et
que la RFC accorde une certaine liberté de présentation :

----------------------------------------------------------------------
Content-Type: application/octet-stream;
Content-Disposition: attachment;
        filename="body.zip"
----------------------------------------------------------------------

J'ai essayé plusieurs recettes glanées ici et là sur le web mais rien
n'y fait ! Impossible de filtrer ces messages. Je ne sais pas si je
m'y prends comme un pied ou si j'ai raté un détail mais, de guerre
lasse, je me tourne vers vous pour obtenir l'incantation magique.

Voici les lignes concernées dans mon ~/.procmailrc, de loin la
formulation la plus tarabiscotée de toutes celles que j'ai essayées
jusqu'à présent (les crochets contiennent un espace suivi d'une
tabulation) :

----------------------------------------------------------------------

# Motif correspondant à une suite de « caractères blancs » (espaces,
# tabulations, sauts de lignes) :
WS='[ 	]*($[ 	]+)*'

# Motif correspondant à une double-quote
DQ = '"'

# Motif correspondant à une fin de ligne
EOL='$'

# Liste des extensions à filtrer
EXTLIST="bat|chm|com|dll|dot|exe|hta|js|ocx|pif|scr|shs|vba|vbs|zip"

# Filtrage :
:0
* ^content-type:${WS}(multipart/mixed|application/octet-stream);
*
+^content-disposition:${WS}(attachment|inline);${WS}(file)?name${WS}=${WS}${DQ}.*\.(${EXTLIST})${DQ}${W
+S}${EOL}
$MAILDIR/messages_louches
----------------------------------------------------------------------

Je vous remercie par avance

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/>