"Clean_Mail" pour Unix









La version 2.03 à été disponible sur le serveur www.linuxberg.com le dimanche 7 mars.


Le jeudi 11 mars j'ai ajouté une variable STAT_USER permettant de choisir la manière dont le programme vérifie si l'utilisateur est présent dans le fichier passwd.

STAT_USER by_uid Dans ce cas le programme prend l'uid du fichier de mail et compare avec le 3ème champ dans le fichier passwd.

STAT_USER by_login Dans ce cas le programme prend le nom du fichier de mail (qui est le plus souvent le nom de login) et compare avec le 1er champ du fichier passwd.


Le jeudi 11 mars j'ai également ajouté une variable SAVE_MAIL_NOT_IN_PASS permettant de sauvegarder les fichiers mails dont les utilisateurs n'on pas été trouver dans le fichier passwd. SAVE_MAIL_NOT_IN_PASS 0 Les fichiers mails dont les utilisateurs ne sont pas ou plus dans le fichier passwd sont effacés.

SAVE_MAIL_NOT_IN_PASS 1 Les fichiers mails dont les utilisateurs ne sont pas ou plus dans le fichier passwd sont sauvegardés au même endroit que les messages effacés avec un nom du type: utilisateur_not_in_passwd.sauve. Ils sont sauvegardés dans le même .tar.gz que les messages effacés si la variable SAVE est à 1.
Pour mettre cette variable à 1, il faut obligatoirement que SAVE_PATH soit renseigné.


Le mercredi 14 avril j'ai supprime la variable VERSION_FRANCAISE. Le programme reconnait desormais automatiquement les eventuels accents francais.


Si le programme est a cours de memoire par la faute d'un tres gros fichier de mail, celui-ci ne sera plus efface comme cela pouvait etre le cas dans la version 2.03 et les premiers temps de la version 2.04.


Le samedi 17 avril, j'ai fait en sorte que le programme traite les lignes Date: suivante:

Voici les différents formats de lignes date traités jusqu'ici. Si vous en trouvez d'autres, merci de me les faire parvenir:

Date: Tuesday, October 27, 1998 12:48 AM
Date: vendredi 11 septembre 1998 17:12
Date: 99-02-15 06:18:26 EST
Date: 25 February 1999 03:42
Date: 23/03/99
Date: 19 Apr 1999 11:09:21 +0200
Date: 01/11/99 11:37:00 AM Pacific Daylight Time
Date: Wed, 14 Oct 1998 22:19:39 +0200


Version 2.07. Le mardi 11 mai, j'ai fait en sorte que le programme rapelle à l'utilisateur en fin de traitement quels sont les fichiers non-traités pour cause de manque de mémoire.
Version 2.07. Le samedi 26 juin 1999, j'ai ajouté quelques protections en cas de variables incohérentes dans le fichier clean_mail.conf.
Version 2.08. Le lundi 9 août, j'ai trouvé et corrigé un bug mineur qui signalait des fichiers de mails à 0, comme n'ayant pas été traités pour cause de manque de mémoire.
Version 2.08. le mardi 10 août, j'ai trouvé et corrigé un bug. Lorsque le mois d'août écrit en français (aoû) était trouvé dans un fichier de mails standard il n'était pas reconnu car dans le logiciel il était écrit "auû" au lieu de "aoû".
version 2.08. Désormais dans les Date: lines des fichiers mail standard ou dans la date courante des systèmes les mois écrit en anglais, français, allemand, italien et espagnol sont supportés.
Version 2.08 Le 12/08/99, j'ai ajouté une variable permettant d'exclure des fichiers du traitement.
Version 2.09, 15/08/99. Inversement, il est également possible d'indiquer une liste de noms à traiter (utile si les fichiers qui ne doivent pas être traités sont nombreux). Voir paramètrage. Les deux fonctions peuvent être être utilisés simultanément.
Version 2.10, correction de la documentation.
Version 2.20 31 août 99. ajout d'une variable permettant de ne traiter que les fichiers présents dans le fichier passwd.
Maintenant Clean_Mail vous indiquera à la fin du traitement et dans un fichier présent dans le backup, l'espace pris par les fichiers de mail avant et après le traitement. Si sur votre système la commande "du" ne connait pas l'argument "-h" (human readable man du), vous devrez enlever cet argument de la commande "du -h" dans les fichiers effacement_fichiers_vides et clean_mail.
Version 2.21 2 septembre 1999. Possibilité pour Clean_Mail d'envoyer des mails automatique lorsque des vieux mails sont effacés.
Version 2.30 14 septembre 1999. Jusqu'ici Clean_Mail scannait les fichiers de mails en une seule passe et dans certains cas suivant la mémoire du serveur de très gros fichiers n'étaient pas traités.

Maintenant à partir de la version 2.30 le programme scanne les mails un par un, ce qui fait que même sans beaucoup de mémoire et des fichiers gigantesques, ils seront tous traités.


Version 2.31. Corrections de petits bugs.
Version 2.32. Pour un utilisateur dont les passwd login comprte des points, quelques petits changements dans la manière pour le programme d'éxécuter la commande "chown"
Version 2.33. Ajout d'une protection pour éviter qu'un mail soit perdu s'il est envoyé au moment precis ou Clean_Mail traite le fichier de mail. La protection consiste en un chmod 000 sur le fichier avant le traitement.
Version 2.34. Ajout d'une protection supplémentaire dans la facon qu'a le programme de prendre un mail parmi les autres.
Version 2.35. Correction d'un petit bug.
Version 2.40. Ajout d'un mode anti_spam.
Version 2.41. Meilleur anti-spam.
Version 2.42. Correction de bugs.
Version 2.43. Le mode anti-spam de la version 2.42 cherchait déjà seulement l'email du spammer dans la ligne From mais il subsistait l'obligation de rentrer la ligne From complète dans le fichier de configuration clean_mail.conf. Dans la version 2.43, il suffit juste de rentrer pour le mode anti-spam l'adresse email du spammer et optionnellement (recommandé) la ligne subject: complète.
Version 2.44. J'ai ajouté un chmod 000 juste avant le mv sur chaque fichier de mail et un chmod 600 juste après, pour éviter que Sendmail n'écrive un nouveau mail quelques millisecondes avant ce mv.
Version 2.45. J'ai mis le chmod 000 au moment ou Clean_mail lit la fin de fichier. C'est une meilleure protection.
Version 2.47. J'ai ajouté une ultime protection en relation directe avec le chmod 000. Juste avant de faire le chmod 000 Clean_Mail lit la taille du fichier de mail, il la relit justye avant le "mv", si les deux tailles ne sont pas identiques, le "mv" n'est pas execute et a la fin du traitement un texte informe l'utilisateur des fichiers non traités pour cause de nouveau mail a la fin du traitement. Ces informations se retrouvent egalement dans un fichier appele unprocessed_file_save dans le .tar.gz du backup.
Version 2.50. La protection qui lit les tailles de fichiers est maintenant optionnelle. Si elle est activée, elle lit une premiere fois la taille du fichier avant de commencer le traitement, puis une deuxième fois avant le move. La protection chmod 000 est toujours présente après la fin de fichier.
Version 2.51. Correction d'un bug mineur. Dans le tableau associatif %mois1 il y avait '" sep"' au lieu de '"sep"'.
Version 2.52. Un utilisateur m'a demande de rajouter une nouvelle fonctionnalite au mode anti-spam. Il est maintenant possible de traiter seulement le domaine de l'adresse email d'un spammer ce qui permet en une seule passe de traiter plusieurs spam du type: cindy1234@spammer.com cindy1235@spammer.com etc etc ... Voir le clean_mail.conf.
Version 2.53. Un utilisateur m'a demande une nouvelle fonctionnalite pour le mode anti-spam. Il est maintenant possible de dire au programme de ne prendre en compte qu'une ligne commune a tous les mails d'un spam. C'est utile si un spam est deguise en de multiples domaine et emails. Voir le clean_mail.conf.
Mai 2000. J'ai ajoute la possiblite de placer plusieurs ligne (illimite) dans le fichier clean_mail.conf pour pouvoir effacer en une seule passe plusieurs virus du type de "ILOVEYOU".
Ocobre 2000. Sur la demande d'un utilisateur, j'ai ajouté pour les mails des utilisateurs les lignes sujet des mails effacés.

Mai 2001. Un utilisateur Bresilien m'a demande que le Portugais soit supporte. Il avait egalement des mails de 1995. Maintenant tous les mails vieux de plus de 9 ans ne serons pas effaces. Comme avant les mails "du futur" (si une machine etait mal configure) ne sont pas efface. Si vous voulez efface des mails vieux de plus de 9 ans, allez dans le fichier rm_mails.pl a la ligne 999 et mettez la valeur 1 sur cette ligne: "$efface = 0".
Mars 2002. J'ai ajoute un fichier lock (/tmp/clean_mail.lock) pour eviter des conflits si plusieurs sessions de Clean_Mail etaient lances en meme temps. J'en ai profite pour ajouter l'utilisation de "use strict" dans tous les scripts Perl qui composent Clean_Mail.
Juillet 2003. Version 2.60. Un petit bug du mode anti-spam a ete corrige. Le programme ne pouvait gere en meme temps l'email et les lignes de span.