diff --git a/corbeau b/corbeau index 036aac37..cfe58258 100755 --- a/corbeau +++ b/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 '+')" \ - -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 '+')" \ + -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