[Corbeau] Parce qu'entre les hacks sales pour l'inactiver et le non-enregistrement des logs pertinents, ce volatile commençait vraiment à sentir mauvais.
Ignore-this: fb900136a111272093fb3720680b5f78 darcs-hash:20120706224711-b6762-b4aeb480061e6bf362e3a1a587322bacae468c89.gz
This commit is contained in:
parent
823845059e
commit
c5c0f29676
1 changed files with 54 additions and 33 deletions
87
corbeau
87
corbeau
|
@ -1,7 +1,8 @@
|
|||
#! /bin/bash
|
||||
# Mettre cette variable à 1 si on veut que le corbeau soit actif.
|
||||
ACTIF=0
|
||||
|
||||
TEMP="$(mktemp)"
|
||||
|
||||
trap "rm -f ${TEMP}" EXIT
|
||||
|
||||
# On désactive spamassassin car il semble y avoir des problèmes
|
||||
|
@ -10,40 +11,45 @@ trap "rm -f ${TEMP}" EXIT
|
|||
|
||||
cat > ${TEMP}
|
||||
|
||||
# Est-ce du spam ?
|
||||
if [[ $? == 0 ]]; then
|
||||
# Est-ce que le corbeau est actif ?
|
||||
if [[ $ACTIF == 1 ]]; then
|
||||
|
||||
# Desactivation preventive
|
||||
if false; then
|
||||
# Est-ce que ça contient le mot de passe ?
|
||||
#if cat ${TEMP} | egrep -q "^Mot de passe : corbeau$"; then
|
||||
cat ${TEMP} | \
|
||||
egrep -v "^Mot de passe : corbeau$" | \
|
||||
formail -I "Received" \
|
||||
-I "From" \
|
||||
-I "Sender" \
|
||||
-I "DKIM-Signature" \
|
||||
-I "DomainKey-Signature" \
|
||||
-I "X-Google-Sender-Auth" \
|
||||
-I "X-Original-To" \
|
||||
-I "X-Virus-Scanned" \
|
||||
-I "X-Greylist" \
|
||||
-I "Delivered-To" \
|
||||
-I "To" \
|
||||
-I "Message-ID" \
|
||||
-I "User-Agent" \
|
||||
-I "X-Newsreader" \
|
||||
-I "Organization" \
|
||||
-I "Return-Path" \
|
||||
-A "Message-Id: $(date '+<corbeau.%s@crans.org>')" \
|
||||
-A "From: corbeau@crans.org" \
|
||||
-A "Newsgroups: crans.radio-ragots" \
|
||||
-A "Path: Corbeau" | \
|
||||
rnews
|
||||
# Est-ce du spam ?
|
||||
if [[ $? == 0 ]]; then
|
||||
|
||||
# Le mail ne contient pas le mot de passe, on répond à l'expéditeur
|
||||
else
|
||||
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
|
||||
# Est-ce que ça contient le mot de passe ?
|
||||
if cat ${TEMP} | egrep -q "^Mot de passe : corbeau$"; then
|
||||
# On loggue tout dans /var/log/corbeau
|
||||
FILE="corbeau_$(date +%Y_%m_%d_%H_%M_%S).log";
|
||||
cat ${TEMP} >> "/var/log/corbeau/${FILE}";
|
||||
|
||||
# Puis on envoit la version modifiée.
|
||||
cat ${TEMP} | egrep -v "^Mot de passe : corbeau$" | \
|
||||
formail -I "Received" \
|
||||
-I "From" \
|
||||
-I "Sender" \
|
||||
-I "DKIM-Signature" \
|
||||
-I "DomainKey-Signature" \
|
||||
-I "X-Google-Sender-Auth" \
|
||||
-I "X-Original-To" \
|
||||
-I "X-Virus-Scanned" \
|
||||
-I "X-Greylist" \
|
||||
-I "Delivered-To" \
|
||||
-I "To" \
|
||||
-I "Message-ID" \
|
||||
-I "User-Agent" \
|
||||
-I "X-Newsreader" \
|
||||
-I "Organization" \
|
||||
-I "Return-Path" \
|
||||
-A "Message-Id: $(date '+<corbeau.%s@crans.org>')" \
|
||||
-A "From: corbeau@crans.org" \
|
||||
-A "Newsgroups: crans.radio-ragots" \
|
||||
-A "Path: Corbeau" | \
|
||||
rnews 2>> /var/log/corbeau/corbeau.err
|
||||
|
||||
# Le mail ne contient pas le mot de passe, on répond à l'expéditeur
|
||||
else
|
||||
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
|
||||
Bonjour,
|
||||
|
||||
Ton mail n'est pas valide car il manque la ligne suivante :
|
||||
|
@ -56,5 +62,20 @@ http://wiki.crans.org/VieCrans/ForumNews/LeCorbeau
|
|||
Le corbeau
|
||||
EOF
|
||||
) | /usr/sbin/sendmail -t
|
||||
fi
|
||||
fi
|
||||
|
||||
# Corbal inactif, on répond à l'expéditeur.
|
||||
else
|
||||
( cat ${TEMP} | formail -r -A "From: corbeau@crans.org" -A "Content-Type: text/plain; charset=UTF-8; format=flowed" ; cat << EOF
|
||||
Bonjour,
|
||||
|
||||
Le corbeau est actuellement désactivé. Il est donc inutile d'essayer de t'en servir.
|
||||
|
||||
En te remerciant de ta compréhension,
|
||||
|
||||
--
|
||||
Le corbeau, désactivé.
|
||||
EOF
|
||||
) | /usr/sbin/sendmail -t
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue