# * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par
# exemple servir à définir un dossier par défaut autre que .INBOX
-# Attention, certaines règles (pour l'instant commentées par #~#)
-# font appel à des scripts.
-# Pour qu'elles fonctionnent correctement, il faut que vous
-# possédiez les scripts correspondant et que vous adaptiez
-# la partie "Scripting" des variables de configuration.
-# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting)
-
################################################################################
##### Commentaires #####
# | | |-[B] bureau
# | | |-[B] crous-crans
# | | |-[+B] disconnect
-# | | |-[$*+] impression (sans modif_solde, munin, print_status)
+# | | |-[$*+] impression (sans modif_solde, munin)
# | | |-[$*+] respbats (bot-free)
# | | |-[+B] spoof
# | | |-[T] trésorier
# | | |-[+] new_activity
# | | |-[+] new_station
# | |
+# | |-[+B] mac_prises (spoofing is being watched)
+# | |
# | |-[*+] Monit (Un truc marche pas/remarche, un disque est plein,…)
# | | |
# | | |- <un dossier par serveur>
# | | | |- <triés selon les cronjob souvent rencontrés listés dans le fichier cron.folders>
# | | |
# | | |-[+] gest_crans (Rapports de bugs envoyés lors d'un crash de gest_crans)
-# | | |
-# | | |-[$] printer_watch (L'imprimante a bourré/n'a plus d'encre)
# | |
# | |-[*+] 3-Argh (Il faut vite faire quelque chose !)
# | | |
# |
# |-[$*+B] Technique (les discussions et les trucs reliés)
# |
-# |-[$*+] Cablages (Il faut aller brancher un truc)
-# |
# |-[*+] Freebox (Vous avez un message vocal)
# |
# |-[*+] Nounou
# |-[+] root
# |
# |-[*+] roots
-# |
-# |-[*+B] tracker (Todolist)
#
# Federez (Les mails concernant l'asso FedeRez sont dans un dossier à part)
# |
### Scripting
# Shell à utiliser pour exécuter des commandes
SHELL="/bin/bash"
-## Scripts
-# Dossier où sont rangés les scripts
-SCRIPTSFOLDER="${HOME}/scripts/crans_toolbox/"
-# Scripts pour décoder les headers MIME
-DECODEHEADERSCRIPT="${SCRIPTSFOLDER}decode_header.pl"
#################################################################
MUNINDIR="${MONITORINGDIR}.Munin"
MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante"
STATUPLOADDIR="${MONITORINGDIR}.Stats-upload"
+MACPRISESDIR="${MONITORINGDIR}.Mac_prises"
## Dossiers pour le mails concernant des "problèmes"
# Racine
INTRANET1DIR="${SOFTDIR}.intranet-bugreport"
CRONDIR="${WILDDIR}.cron"
GESTCRANSDIR="${WILDDIR}.gest_crans"
-PRINTERWATCHDIR="${WILDDIR}.printer_watch"
NOLSDIR="${ARGHDIR}.nols"
PULSARDIR="${ARGHDIR}.pulsar"
MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
-PRINTSTATUSDIR="${HUMANPROBLEMSDIR}.print_status"
MULTIDECODIR="${HUMANPROBLEMSDIR}.multi-deco"
## Dossier de surveillance (= surveillance d'actions humaines)
TECHNIQUEDIR="${CRANSDIR}.Technique"
# Mails de roots@ non catchées avant
ROOTSDIR="${TECHNIQUEDIR}.roots"
-# Mails de câblages demandé/effectué
-CABLAGEDIR="${TECHNIQUEDIR}.Cablages"
-# Mails du tracker
-TRACKERDIR="${TECHNIQUEDIR}.Tracker"
# Mails de la ML nounou
NOUNOUDIR="${TECHNIQUEDIR}.Nounou"
# Messages laissés sur la Freebox
+################################################################################
+##### Preprocessing #####
+################################################################################
+
+# On décode les champs sur lesquels ont pourrait avoir besoin de matcher
+# plus tard la version décodée. On stocke les versions décodées
+# dans des variables.
+# "formail -cXHeader" récupère le champ Header (-X) en enlevant les \n (-c)
+# si le champ fait plusieurs lignes
+:0
+* ^X-Mailer:
+XMAILER=| formail -cXX-Mailer: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
+
+
+
################################################################################
##### Règles #####
################################################################################
* ^X-GitInfo
{
:0
- * ^X-Mailer: /usr/scripts/utils/git-whatsnew
+ * XMAILER ?? /usr/scripts/utils/git-whatsnew
${GITDIR}.whatsnew/
:0
${DARCSDIR}/
}
- # Tracker
- :0
- * ^X-Mailer:.*Redmine
- ${TRACKERDIR}/
-
# Messages sur la Freebox
:0
* ^From: telephonie\.freebox@(mevo\.)?freetelecom\.fr
{
# Statistiques d'upload
:0
- * ^X-Mailer: /usr/scripts/surveillance/statistiques2.py
+ * XMAILER ?? /usr/scripts/surveillance/statistiques2.py
${STATUPLOADDIR}/
+ # Résumé quotidien des correspondances mac_prises
+ :0
+ * XMAILER ?? /usr/scripts/surveillance/mac_prises/mac_prise_analyzer.py
+ ${MACPRISESDIR}/
+
:0
* ^Subject:.*fois.*en un mois
${MULTIDECODIR}/
}
-# Câblage demandé/effectué
-:0
-* ^X-Crans-Intranet: cablage
-${CABLAGEDIR}/
-
# Sur la ML impression@
:0
* ^List-Id:.*impression\.lists\.crans\.org
* ^X-Mailer: modif_solde
${LDAPSOLDEDIR}/
- # Informations de print_status
- :0
- * ^X-Mailer: /usr/scripts/impression/print_status.py
- ${PRINTSTATUSDIR}/
-
# Munin stock papier et toners
:0
* ^From: munin@crans\.org
${MUNINIMPRESSIONDIR}/
-
- # L'imprimante fait des siennes
- :0
- * ^X-Mailer: /usr/scripts/impression/printer_watch.py
- ${PRINTERWATCHDIR}/
}
# Sur la ML respbats@
-# L'ancienne version de ce filtre ne fonctionne plus car les headers
-# de ces mails sont maintenant correctement encodé.
-# C'est bien pour le respect des RFC, mais c'est un peu pain in the ass
-# p our le trier avec procmail, donc on besoin d'un script
-# Ne pas décommenter si vous n'avez pas le script associé.
-# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting)
:0
* ^List-Id:.*respbats\.lists\.crans\.org
-* ^X-Mailer:\/.*
{
# Machines supprimées pour chambre invalide
:0
- * ? echo "${MATCH}" | ${DECODEHEADERSCRIPT} | grep /usr/scripts/gestion/chambres_vides.py
+ * XMAILER ?? /usr/scripts/gestion/menage/chambres_invalides.py
${DELETEDMACHINES}/
}