scripts/corbeau
Pierre-Elliott Bécue c5c0f29676 [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
2012-07-07 00:47:11 +02:00

81 lines
2.4 KiB
Bash
Executable file

#! /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
# (de toute façon, c'est pas super utile vu l'autre vérification)
# spamassassin -e -p /etc/spamassassin/corbeau.conf > ${TEMP}
cat > ${TEMP}
# Est-ce que le corbeau est actif ?
if [[ $ACTIF == 1 ]]; then
# Est-ce du spam ?
if [[ $? == 0 ]]; then
# 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 :
"Mot de passe : corbeau"
Pour plus d'informations :
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