-################################################################################
-### Still being tested. Use at your own risks… ###
-################################################################################
-
# .procmailrc générique mis à votre disposition
# par les gentils membres actifs du Cr@ns
# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
# Attention : le path par défaut des fichiers de logs est $HOME/.procmail/logs
# Assurez-vous que le dossier en question existe avant d'utiliser ce .procmailrc
+#################################################################
+## DISCLAIMER ##
+#################################################################
+
+# Ce fichier est mis à votre disposition par des cranseux sans aucune garantie.
+# Nous sommes un certain nombre à l'utiliser nous-mêmes, souvent dans une version
+# légèrement modifiée.
+# * Nous ne sommes pas responsables si vous perdez des mails ou si ils sont mal triés.
+# * Pensez à copier également les autres fichiers si vous utilisez les include.
+# * Vous pouvez rester à jour en trackant le dépôt git : http://git.crans.org/git/fichiers_configuration.git
+# (on corrige des trucs et on rajoute parfois des nouveaux/meilleurs tris)
+
#------------------------------------------------------------------------------
# Ce fichier commence par une grosse section de commentaire qui donne un aperçu
# de l'arborescence de dossiers qui sera obtenue en utilisant ce .procmailrc.
# (pour l'instant commentés par #~#)
# Ils doivent être tous les trois dans ${CONFIGDIR}
# * Le premier, custom.high.rules contient des règles qui overrident tout
-# le comportement ce .procmailrc,pour des mails qui doivent être classés
+# le comportement ce .procmailrc, pour des mails qui doivent être classés
# sans autre condition.
# * Le deuxème, custom.normal.rules doit contenir la plupart de vos règles
# personnelles, il est géré après les mails envoyés par le Cr@ns mais avant
# M: modérateur
# F: admin federez
#
-### /!\ pour cron, faire attention à ne pas envoyer les mails cron perso sur
-### zamok dans les dossiers cron !
-###
-### pour les ml : faire des sous-dossiers bounces --> IDEA DROPPED
-###
-### dans le main procmailrc : (ouais enfin finalement on met tout dans le même)
-### - le bidule pour trier les crons persos --> DONE
-### - le truc trop bien de Harry pour trier les ml du campus --> DONE
-###
-### Multi-déco upload dans un autre dossier --> DONE
#
+# Si vous utilisez ce .procmailrc (et que vous recevez tous les mails concernés),
+# votre arborescence ressemblera à ceci :
+#
# Cr@ns
# |
-# ./|-[$*+BT] Administratif (le côté administratif : bot free !)
-# ./| |
-# ./| |-[$*+B] public
-# ./| | |
-# ./| | |-[$*+B] ca
-# ./| | |-[+B] dsi-crans
-# ./| | |-[*+B] install-party
-# ./| | |-[B] crans-crous
-# ./| |
-# ./| |-[$*+BT] privé
-# ./| |
-# ./| |-[B] bureau
-# ./| |-[T] trésorier
-# ./| |-[$*+] respbats (bot free)
-# ./| |-[$*+] impression (sans modif_solde, munin, print_status)
-# ./| |-[+B] spoof
-# ./| |-[+B] disconnect (sans les bots)
-# ./|
-# ./|
-# ./|-[*+BF] Federez (bah, federez quoi !)
-# ./| |
-# ./| |-[*+B] federez
-# ./| |-[F] admin
-# ./| |-[(F)] monit
-# ./|
-# ./|
-# ./|-[$*+BM] Surveillance (on stalke, pour vérifier ce que font les autres)
-# ./| |
-# ./| |-[+] Irrelevant : logcheck
-# ./| |
-# ./| |-[+BM] modérateur
-# ./| |
-# ./| |-[+] ovh (connexions au manager)
-# ./| |
-# ./| |-[*+] caméras (à trier)
-# ./| |
-# ./| |-[$*+] LDAP
-# ./| | |
-# ./| | |-[$*+] modif-solde
-# ./| | |-[*+] modifications de la base ldap
-# ./| |
-# ./| |-[+] cranspasswords
-# ./|
-# ./|
-# ./|-[*+] Monitoring (une machine fait-elle de la merde ?)
-# ./| |
-# ./| |-[*+] monit
-# ./| | |
-# ./| | |- trier dynamiquement par serveur !
-# ./| |
-# ./| |-[+] nagios
-# ./| | |
-# ./| | |- trier dynamiquement par serveur !
-# ./| |
-# ./| |-[$*+] munin
-# ./| | |
-# ./| | |-[$*+] impression
-# ./| |
-# ./| |-[+] arpwatch
-# ./| | |
-# ./| | |-[+] changed ethernet address
-# ./| | |-[+] flip-flop
-# ./| | |-[+] new_activity
-# ./| | |-[+] new_station
-# ./| |
-# ./| |-[+B] stats d'upload --> À vérifier que le X-Mailer marche
-# ./|
-# ./|
-# ./|-[$*+] Problèmes (à regarder avant d'aller se coucher)
-# ./| |
-# ./| |-[*+] self-sloving
-# ./| | |
-# ./| | |-[*+] SQL errors
-# ./| | |-[+] ftp
-# ./| |
-# ./| |-[+] modéré
-# ./| | |
-# ./| | |-[+] intranet1
-# ./| | |-[+] intranet2 (en fait, django en général)
-# ./| | |-[*+] backuppc
-# ./| |
-# ./| |-[*+] attention (cron)
-# ./| | |
-# ./| | |-[*+] Triés selon les cronjob souvent rencontrés,
-# ./| | | listés dans le fichier cron.folders
-# ./| |
-# ./| |-[*+] Argh
-# ./| | |
-# ./| | |-[*+] nols
-# ./| | |-[*+] pulsar
-# ./| |
-# ./| |-[$*+] Humain
-# ./| |
-# ./| |-[$*+] print_status
-# ./| |
-# ./| |-[+] mailman
-# ./| |
-# ./| |-[B+] déco N fois en un mois
-# ./|
-# ./|
-# ./|-[*+] Information (keep up to date)
-# ./| |
-# ./| |-[*+] apt-listchanges
-# ./| |
-# ./| |-[+] ovh (newsletters, factures)
-# ./| |
-# ./| |-[$*+] machines supprimées
-# ./| |
-# ./| |-[*+] git (commits)
-# ./| | |
-# ./| | |-[*+] what's new
-# ./| |
-# ./| |-[*+] darcs (records)
-# ./| | |
-# ./| | |-[*+] what's new
-# ./| |
-# ./| |-[+] bcfg2 (Serveurs non synchronisés avec bcfg2)
-# ./| |
-# ./| |-[+] inn (stats des servuers de news)
-# ./|
-# ./|
-# ./|-[$*+B] Technique (les discussions et les trucs reliés)
-# ./ |
-# ./ |-[*+] Nounou
-# ./ |
-# ./ |-[*+] Roots
-# ./ |
-# ./ |-[$*+] câblages à effectuer
-# ./ |
-# ./ |-[*+B] tracker
+# |-[$*+BT] Administratif (le côté administratif : bot-free !)
+# | |
+# | |-[$*+BT] privé (des informations confidentielles peuvent y circuler)
+# | | |
+# | | |-[B] bureau
+# | | |-[B] crous-crans
+# | | |-[+B] disconnect
+# | | |-[$*+] impression (sans modif_solde, munin, print_status)
+# | | |-[$*+] respbats (bot-free)
+# | | |-[+B] spoof
+# | | |-[T] trésorier
+# | |
+# | |-[$*+B] public
+# | |
+# | |-[$*+B] ca
+# | |-[+B] dsi-crans
+# | |-[*+B] install-party
+# |
+# |
+# |-[*+] Information (keep up to date)
+# | |
+# | |-[*+] apt-listchanges (Lors des mises à jour de serveurs)
+# | |
+# | |-[+] bcfg2 (Serveurs non synchronisés avec bcfg2)
+# | |
+# | |-[*+] darcs (records)
+# | | |
+# | | |-[*+] whatsnew
+# | |
+# | |-[*+] git (commits)
+# | | |
+# | | |-[*+] whatsnew
+# | |
+# | |-[+] inn (stats des servuers de news)
+# | |
+# | |-[$*+] machines_supprimees (puni !)
+# | |
+# | |-[+] ovh (Factures, Newsletters)
+# |
+# |
+# |-[*+] Monitoring (une machine fait-elle de la merde ?)
+# | |
+# | |-[+] Arpwatch (chaque fois qu'une machine fait un truc nouveau/suspect sur le réseau)
+# | | |
+# | | |-[+] changed_ethernet_address
+# | | |-[+] flip_flop
+# | | |-[+] new_activity
+# | | |-[+] new_station
+# | |
+# | |-[*+] Monit (Un truc marche pas/remarche, un disque est plein,…)
+# | | |
+# | | |- <un dossier par serveur>
+# | |
+# | |-[$*+] Munin (Graphes)
+# | | |
+# | | |-[$*+] Imprimante
+# | |
+# | |-[+] Nagios (Comme Monit, mais en mieux/moins bien/différent)
+# | | |
+# | | |- <un dossier pour tousles switchs et un dossier par serveur>
+# | |
+# | |-[+B] Stats-upload (Qui a uplodé ?)
+# |
+# |
+# |-[$*+] Problems (Classés par degré de gravité grossier)
+# | |
+# | |-[*+] 0-Self-solving (Just ignore that)
+# | | |
+# | | |-[+] ftp (Problème de synchronisation du miroir Debian)
+# | | |-[*+] SQL errors (sqlgrey a chié dans la colle)
+# | |
+# | |-[+] 1-Soft (Un problème, mais pas critique)
+# | | |
+# | | |-[*+] backuppc (babar râle)
+# | | |-[+] Django
+# | | |-[+] intranet1 (normal)
+# | | |-[+] intranet2 (fucking locks)
+# | |
+# | |-[*+] 2-Wild (Ce serait pas mal de regarder ce qui foire)
+# | | |
+# | | |-[*+] cron
+# | | | |- <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 !)
+# | | |
+# | | |-[*+] nols (La baie de disque a un problème !)
+# | | |-[*+] pulsar (On a plus de courant !!)
+# | |
+# | |-[$*+] 4-Human-made (Ces mails sont générés par des gens)
+# | |
+# | |
+# | |-[+] Mailman (Des mailing-list chient, ou des gens demandent de l'aide)
+# | |
+# | |-[$*+] print_status (Une impression a échoué)
+# |
+# |
+# |-[$*+BM] Surveillance (On stalke, pour vérifier ce que font les autres. Par ordre croissant d'importance à vérifier)
+# | |
+# | |-[+BM] 1-Moderateurs
+# | |
+# | |-[+] 2-OVH (Connexions au manager)
+# | |
+# | |-[*+] 3-Cameras (Quelqu'un est rentré dans un local sensible)
+# | | |
+# | | |-[*+] 0B
+# | | |-[*+] 0H
+# | |
+# | |-[$*+] 4-LDAP (Modification de la base LDAP qui mérite un coup d'oeil)
+# | | |
+# | | |-[*+] Modification (Changement de droit ou modification d'une machine crans)
+# | | |-[$*+] Solde (Modification d'un solde impression)
+# | |
+# | |-[+] 5-cranspasswords (Quand quelqu'un modifie un mot de passe chiffré)
+# |
+# |
+# |-[$*+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)
+# |
+# |-[*+BF] federez (La ML de discussion principale de FedeRez)
+# |
+# |-[F] admin (La ML de l'équipe technique de FedeRez)
+# | |
+# | |-[F] Debian updates (Quand un serveur veut être mis à jour)
+# | |
+# | |-[F] federezpasswords (Quand quelqu'un modifie un mot de passe chiffré)
+# | |
+# | |-[F] Logcheck (Spam)
+# | |
+# | |-[F] Logwatch (Spam)
+# | |
+# | |-[F] OVH (Factures, Newsletters)
+# |
+# |-[(F)] Monit (Pour voir si un serveur ne répond plus)
+# |
+# |-[(F)] saclay (Pour préparer notre avenir à Saclay)
#
MLMEDDIR="${MLCLUBSDIR}.Med"
MLBDLDIR="${MLCAMPUSDIR}.BDL"
MLBDADIR="${MLCAMPUSDIR}.BDA"
+MLBDSDIR="${MLCAMPUSDIR}.BDS"
MLSDADIR="${MLCAMPUSDIR}.SDA"
MLGALADIR="${MLCAMPUSDIR}.Gala"
MLSONODIR="${MLCAMPUSDIR}.SoNo"
INTRANET2DIR="${SOFTDIR}.Intranet2"
INTRANET1DIR="${SOFTDIR}.intranet-bugreport"
CRONDIR="${WILDDIR}.cron"
+GESTCRANSDIR="${WILDDIR}.gest_crans"
+PRINTERWATCHDIR="${WILDDIR}.printer_watch"
NOLSDIR="${ARGHDIR}.nols"
PULSARDIR="${ARGHDIR}.pulsar"
MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
ROOTDEFAULTDIR="${TECHNIQUEDIR}.root"
### Dossier racine pour Federez
-FEDEREZDIR="${CRANS_FOLDER}.FedeRez"
+FEDEREZDIR=".FedeRez"
FEDEREZMONITDIR="${FEDEREZDIR}.Monit"
+FEDEREZADMINDIR="${FEDEREZDIR}.admin"
+FEDEREZLOGWATCHDIR="${FEDEREZADMINDIR}.Logwatch"
+FEDEREZLOGCHECKDIR="${FEDEREZADMINDIR}.Logcheck"
+FEDEREZDEBIANDIR="${FEDEREZADMINDIR}.Debian-updates"
+FEDEREZPASSWORDSDIR="${FEDEREZADMINDIR}.federezpasswords"
+FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH"
:0
* ^(X-Mailer|User-Agent):.*monit
{
- # Avant de tester les hotsnames Cr@ns, règle spéciale utile pour
+ # Avant de tester les hostnames Cr@ns, règle spéciale utile pour
# certains admin de FedeRez
:0
* ^To: federez-monit@
* ^Subject:.*apt-listchanges
${APTLISTCHANGESDIR}/
+ # Mail envoyé quand gest_crans plante
+ :0
+ * ^Subject: Bugreport gest_crans.py
+ ${GESTCRANSDIR}/
+
# Tout ce qui traîne sur root et qui n'est pas catché par quelque chose
:0
${ROOTDEFAULTDIR}/
# Messages sur la Freebox
:0
- * ^From: telephonie.freebox@freetelecom.fr
+ * ^From: telephonie\.freebox@(mevo\.)?freetelecom\.fr
${FREEBOXDIR}/
# Serveurs non synchronisés avec bcfg2
: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@
${DELETEDMACHINES}/
}
-#WIP# ###############################################################################
-#WIP# # ^^^^^^^ Classés le plus possible par ordre de spammage décroissant
-
-#WIP# # vvvvvvv Les MLs, à laisser en bas
-#WIP# ###############################################################################
-
#################################################################
## Gestion des cron perso ##
#################################################################
# Les Subjects des mails de (Ana)?Cron
-# sont de la forme "(Ana)?Cron <user@host>"
+# sont de la forme "Cron <user@host>" ou "Anacron job '[...]' on host"
# On parse pour récupérer le host et trier avec
:0
* ^(X-Cron-Env|From: Anacron)
{
+ # Si le mail vient de "host.domain.tld",
+ # On range ça dans le dossier "host"
:0
- * ^Subject:.*Cron <[^@>]+@\/[^>]+
+ * ^Subject:.*(Cron <[^@>]+@\/[^>]+|Anacron job .* on \/.*)
{
# On prend garde à ne pas créer un sous-dossier
# si jamais le host contient un . ou un espace
${CRONPERSODIR}.${HOST_}/
}
- # Dans le cas (improbable) où le Subject de matche pas
+ # Dans le cas (improbable) où le Subject ne matche pas
:0
${CRONPERSODIR}/
}
# MLs Med
:0
- * ? echo "${ML}" | grep med
+ * ? echo "${ML}" | grep -E "^med"
${MLMEDDIR}.${ML_}/
# MLs SDA
* ? echo "${ML}" | egrep "(bdl|interludes)"
${MLBDLDIR}.${ML_}/
+ # MLs BDS
+ :0
+ * ? echo "${ML}" | egrep "bds"
+ ${MLBDSDIR}.${ML_}/
+
# MLs Gala
:0
* ? echo "${ML}" | egrep "(gala|geec)"
#################################################################
## Gestion des mailing-listes FedeRez ##
#################################################################
- # On veut ne garder que le nom de la ML sans le nom de domaine
- ML=`echo "${ML}" | sed 's/\.lists\.federez\.net//'`
- # On prend garde à ne pas créer un sous-dossier
- # si jamais le List-Id contient un . ou un espace
- ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
-
:0
- * ^List-Id:.*lists.federez.net
+ * ^List-Id:.*federez.net
{
+ # On veut ne garder que le nom de la ML sans le nom de domaine
+ ML=`echo "${ML}" | sed 's/\(\.lists\)\?\.federez\.net//'`
+ # On prend garde à ne pas créer un sous-dossier
+ # si jamais le List-Id contient un . ou un espace
+ ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
+
+ # Gestion de la ML admin
+ :0
+ * ^List-Id:.*admin
+ {
+ :0
+ * ^Subject:.*Logwatch for.*federez\.net
+ ${FEDEREZLOGWATCHDIR}/
+
+ :0
+ * ^To:.*logcheck
+ ${FEDEREZLOGCHECKDIR}/
+
+ :0
+ * ^Subject:.*Debian package update
+ ${FEDEREZDEBIANDIR}/
+
+ :0
+ * ^From:.*federezpasswords
+ ${FEDEREZPASSWORDSDIR}/
+
+ :0
+ * ^From:.*support@ovh.com
+ ${FEDEREZOVHDIR}/
+
+ :0
+ ${FEDEREZADMINDIR}/
+ }
+
:0
${FEDEREZDIR}.${ML_}/
}