diff --git a/corbeau b/corbeau index 4da061fd..0acc1be7 100644 --- a/corbeau +++ b/corbeau @@ -5,25 +5,49 @@ TEMP="$(mktemp)" trap "rm -f ${TEMP}" EXIT spamassassin -e -p /etc/spamassassin/corbeau.conf > ${TEMP} +# Est-ce du spam ? if [[ $? == 0 ]]; then - cat ${TEMP} | \ - formail -I "Received" \ - -I "From" \ - -I "Sender" \ - -I "DKIM-Signature" \ - -I "DomainKey-Signature" \ - -I "X-Google-Sender-Auth" \ - -I "X-Original-To" \ - -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 que ça contient le mot de passe ? + if cat ${TEMP} | egrep "^Mot de passe : corbeau$" > /dev/null 2> /dev/null; 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 "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 + + # 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" +Cette ligne doit être placée telle quelle, sans guillemets, et sans rien +d'autre sur la ligne. + +En cas de problème, contacte roots@crans.org (même si après c'est moins +discret quant à la prochaine personne postant sur les news). + +-- +Le corbeau +EOF +) | /usr/sbin/sendmail -t + fi fi