Skip to content
Snippets Groups Projects
Commit af5ead46 authored by me5na7qbjqbrp's avatar me5na7qbjqbrp
Browse files

Move Federez to seperate rules file

parent fb1c793e
No related branches found
No related tags found
1 merge request!6A bit of 2020 cleanup
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
### Dossier racine pour 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
# On récupère tous les mails qui sont arrivés par l'intermédaire d'une ML
* ^List-Id:.*
{
#################################################################
## Gestion des mailing-listes FedeRez ##
#################################################################
:0
* ^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_}/
}
}
...@@ -6,6 +6,23 @@ ...@@ -6,6 +6,23 @@
# Ce fichier permet de trier les mails envoyés par le Phabricator du Cr@ns # Ce fichier permet de trier les mails envoyés par le Phabricator du Cr@ns
### Dossier racine pour les mails de Phabricator
PHABRICATORDIR=".Phabricator"
PHABRICATORTECHNIQUEDIR="${PHABRICATORDIR}.Technique"
PHABRICATORADMINISTRATIFDIR="${PHABRICATORDIR}.Administratif"
PHABRICATORBDEDIR="${PHABRICATORDIR}.BDE"
# 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-Phabricator-Projects:
PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# On trie par projet # On trie par projet
:0 :0
......
...@@ -55,7 +55,6 @@ ...@@ -55,7 +55,6 @@
# B: bureau # B: bureau
# T: trésorier # T: trésorier
# M: modérateur # M: modérateur
# F: admin federez
# #
# #
# Si vous utilisez ce .procmailrc (et que vous recevez tous les mails concernés), # Si vous utilisez ce .procmailrc (et que vous recevez tous les mails concernés),
...@@ -131,26 +130,6 @@ ...@@ -131,26 +130,6 @@
# | # |
# |-[*+] roots # |-[*+] roots
# #
# 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)
#
################################################################################ ################################################################################
...@@ -229,23 +208,17 @@ CRANSADMINISTRATIFPRIVATEDIR="${CRANSADMINISTRATIFDIR}.prive" ...@@ -229,23 +208,17 @@ CRANSADMINISTRATIFPRIVATEDIR="${CRANSADMINISTRATIFDIR}.prive"
## Dossiers pour le mails concernant des "problèmes" ## Dossiers pour le mails concernant des "problèmes"
# Racine # Racine
PROBLEMSDIR="${CRANSDIR}.Problems" PROBLEMSDIR="${CRANSDIR}.Problems"
# Par ordre de gravité croissant
SELFSOLVINGDIR="${PROBLEMSDIR}.0-Self-solving"
SOFTDIR="${PROBLEMSDIR}.1-Soft"
WILDDIR="${PROBLEMSDIR}.2-Wild"
HUMANPROBLEMSDIR="${PROBLEMSDIR}.4-Human-made"
# Sous-dossiers # Sous-dossiers
SQLGREYDIR="${SELFSOLVINGDIR}.sql-errors" SQLGREYDIR="${PROBLEMSDIR}.sql-errors"
DJANGODIR="${SOFTDIR}.Django" DJANGODIR="${PROBLEMSDIR}.Django"
CRONDIR="${WILDDIR}.cron" CRONDIR="${PROBLEMSDIR}.cron"
MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
## Dossier de surveillance (= surveillance d'actions humaines) ## Dossier de surveillance (= surveillance d'actions humaines)
# Racine # Racine
SURVEILLANCEDIR="${CRANSDIR}.Surveillance" SURVEILLANCEDIR="${CRANSDIR}.Surveillance"
# Par ordre de sensibilité croissant # Par ordre de sensibilité croissant
OVHMANAGERDIR="${SURVEILLANCEDIR}.2-OVH" OVHMANAGERDIR="${SURVEILLANCEDIR}.OVH"
CAMERASDIR="${SURVEILLANCEDIR}.3-Cameras" CAMERASDIR="${SURVEILLANCEDIR}.Cameras"
## Dossier informatif (= pour se tenir au courant de ce qui se passe au Cr@ns) ## Dossier informatif (= pour se tenir au courant de ce qui se passe au Cr@ns)
# Racine # Racine
...@@ -254,8 +227,6 @@ INFORMATIONDIR="${CRANSDIR}.Information" ...@@ -254,8 +227,6 @@ INFORMATIONDIR="${CRANSDIR}.Information"
OVHDIR="${INFORMATIONDIR}.OVH" OVHDIR="${INFORMATIONDIR}.OVH"
# apt-listchanges # apt-listchanges
APTLISTCHANGESDIR="${INFORMATIONDIR}.apt-listchanges" APTLISTCHANGESDIR="${INFORMATIONDIR}.apt-listchanges"
# Machines supprimées pour chambre invalide
DELETEDMACHINES="${INFORMATIONDIR}.machines_supprimees"
# Repositories # Repositories
GITDIR="${INFORMATIONDIR}.git" GITDIR="${INFORMATIONDIR}.git"
...@@ -273,22 +244,6 @@ ROOTDEFAULTDIR="${TECHNIQUEDIR}.root" ...@@ -273,22 +244,6 @@ ROOTDEFAULTDIR="${TECHNIQUEDIR}.root"
# Mails de la ML apprentis # Mails de la ML apprentis
APPRENTISDIR="${TECHNIQUEDIR}.Apprentis" APPRENTISDIR="${TECHNIQUEDIR}.Apprentis"
### Dossier racine pour 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"
### Dossier racine pour les mails de Phabricator
PHABRICATORDIR=".Phabricator"
PHABRICATORTECHNIQUEDIR="${PHABRICATORDIR}.Technique"
PHABRICATORADMINISTRATIFDIR="${PHABRICATORDIR}.Administratif"
PHABRICATORBDEDIR="${PHABRICATORDIR}.BDE"
################################################################################ ################################################################################
##### Preprocessing ##### ##### Preprocessing #####
...@@ -299,22 +254,10 @@ PHABRICATORBDEDIR="${PHABRICATORDIR}.BDE" ...@@ -299,22 +254,10 @@ PHABRICATORBDEDIR="${PHABRICATORDIR}.BDE"
# dans des variables. # dans des variables.
# "formail -cXHeader" récupère le champ Header (-X) en enlevant les \n (-c) # "formail -cXHeader" récupère le champ Header (-X) en enlevant les \n (-c)
# si le champ fait plusieurs lignes # si le champ fait plusieurs lignes
:0
* ^X-Mailer:
XMAILER=| formail -cXX-Mailer: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
:0
* ^Subject:
SUBJECT=| formail -cXSubject: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
:0 :0
* ^List-ID: * ^List-ID:
LISTID=| formail -cXList-ID: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))' LISTID=| formail -cXList-ID: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
:0
* ^X-Phabricator-Projects:
PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
################################################################################ ################################################################################
##### Règles ##### ##### Règles #####
...@@ -409,10 +352,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode( ...@@ -409,10 +352,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode(
:0 :0
* ^X-GitInfo * ^X-GitInfo
{ {
:0
* XMAILER ?? /usr/scripts/utils/git-whatsnew
${GITDIR}.whatsnew/
:0 :0
${GITDIR}/ ${GITDIR}/
} }
...@@ -428,23 +367,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode( ...@@ -428,23 +367,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode(
} }
#################################################################
## Mails envoyés sur des MLs mais par des bots ##
#################################################################
# Il n'y jamais de dossier par défaut, le mail sera rattrapé
# au moment de la gestion gobale des mailing-lists
# Sur la ML respbats@
:0
* ^List-Id:.*respbats\.lists\.crans\.org
{
# Machines supprimées pour chambre invalide
:0
* XMAILER ?? /usr/scripts/gestion/menage/chambres_invalides.py
${DELETEDMACHINES}/
}
################################################################# #################################################################
## Gestion des cron perso ## ## Gestion des cron perso ##
################################################################# #################################################################
...@@ -490,17 +412,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode( ...@@ -490,17 +412,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode(
#~# # Fichier de règles à personnaliser #~# # Fichier de règles à personnaliser
#~# INCLUDERC="${CONFIGDIR}/custom.normal.rules" #~# INCLUDERC="${CONFIGDIR}/custom.normal.rules"
#################################################################
## Gestion des mails de Mailman ##
#################################################################
# La ML mailman@ est un peu particulière
:0
* ^(List-Id:.*mailman\.|(To|Cc):.*mailman-(owner|bounces)@)lists\.crans\.org
{
:0
${MAILMANDIR}/
}
################################################################# #################################################################
## Gestion des mailing-listes ## ## Gestion des mailing-listes ##
...@@ -540,11 +451,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode( ...@@ -540,11 +451,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode(
* ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.prive * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.prive
${CRANSADMINISTRATIFPRIVATEDIR}.${ML_}/ ${CRANSADMINISTRATIFPRIVATEDIR}.${ML_}/
# La ML federez@lists.crans.org va quand même dans le dossier FedeRez
:0
* ? echo "${ML}" | grep federez
${FEDEREZDIR}.${ML_}/
# La ML nounou va dans le dossier Technique # La ML nounou va dans le dossier Technique
:0 :0
* ^List-Id:.*nounou\.lists\.crans\.org * ^List-Id:.*nounou\.lists\.crans\.org
...@@ -627,50 +533,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode( ...@@ -627,50 +533,6 @@ PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode(
${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/ ${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/
} }
#################################################################
## Gestion des mailing-listes FedeRez ##
#################################################################
:0
* ^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_}/
}
################################################################# #################################################################
## Gestion des autres mailing-listes ## ## Gestion des autres mailing-listes ##
################################################################# #################################################################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment