Maildrop /Reformail Probleme mit "Sonderzeichen"

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
redhat99
Posts: 112
Joined: 2003-02-17 12:58
Location: Meckenheim

Maildrop /Reformail Probleme mit "Sonderzeichen"

Post by redhat99 » 2004-06-05 19:26

Hallo,

ich habe bei mir Qmail laufen in Kombination mit Spamassassin, Spamprobe.

Nun habe ich Probleme mit einigen E-Mails. Diese werden laut Header als Spam erkannt, aber nich in den Spamordner gelegt.

Zum bessernen Verständniss mal meine Datei:

Code: Select all

if ( $SIZE < 262144 )
{
    xfilter "/usr/bin/spamc -f -u $EXT@$HOST"
    if (/^X-Spam-Flag: YES/)
    {
    cc "|/usr/bin/spamassassin -d |/usr/bin/spamprobe -c -d $VHOME -8 spam"
    xfilter "/usr/bin/reformail -I "X-SpamProbe: SPAM""
    }
    else
    {
    SCORE = `/usr/bin/spamprobe -c -d $VHOME -8 receive`
    xfilter "/usr/bin/reformail -I "X-SpamProbe: $SCORE""

        if ( /^X-SpamProbe: SPAM/ )
        {
        newsubject = `/usr/bin/reformail -x Subject:`
        xfilter "/usr/bin/reformail -I "Subject: *** SPAM *** $newsubject""
        }
    }
}

# Auslieferung an Postfach/Spamordner
if ( /^X-SpamProbe: SPAM/ )
{
to "$VHOME/Maildir/.Spam"
exit
}
else
{
to "$VPOP"
exit
}
Speziell geht es um die Tatsache, das ich eine Mail die durch Spamprobe erkannt wird, im Subject genauso kennzeichnen wie Spamassassin. Dazu schreibt Reformail den Subject bei mir um, und setzt **** SPAM **** vor den Orginalsubject.

Das erreiche ich wie oben schon mal gesehen mit:


if ( /^X-SpamProbe: SPAM/ )
{
newsubject = `/usr/bin/reformail -x Subject:`
xfilter "/usr/bin/reformail -I "Subject: *** SPAM *** $newsubject""
}


Im Normalfall funktioniert das auch AUSSER es kommen Mails mit "Sonderzeichen" im Subject. Die Mails werden dann als Spam erkannt, aber landen im Posteingang. Ein voransetzten von **** SPAM **** findet nicht statt.

Mir scheint als wenn reformail dann einen Fehler macht, und aus der Abarbeitung springt. Vielleicht liegt es ja auch daran das ich `auch zum ermitteln des Subjects benutze?

Konkretes Beispiel:

Eine Mail mit folgenden Betreff lag im Posteingang:
Fwd: V|cod|n: ` Va|ium = X/A/NAX ( v|@grA S|o|ma = Pnt:e:rmin fptpjpunevcq
Laut Header wurde die Mail korrekt als Spam erkannt:
X-Spam-Status: No, hits=2.4 required=5.0 tests=BIZ_TLD,HTML_70_80,HTML_MESSAGE,MIME_HTML_ONLY,MIME_HTML_ONLY_MULTI,RCVD_NUMERIC_HELO autolearn=no version=2.63
X-SpamProbe: SPAM 1.0000000
aber landet im Posteingang.

Entferne ich aus dem Betreff das ` läuft alles perfekt.

Jemand einen Tipp?

Grüsse Mario

ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe

Re: Maildrop /Reformail Probleme mit "Sonderzeichen"

Post by ffl » 2004-06-05 20:41

Problem ist, dass der `also der Backtick bei Linux für Variablen genutzt wird bzw. ich weiß nicht ob ichs richtig ausdrücke, für den Rückgabewert eines Befehls (siehe bei Dir das newsubject = `/usr/bin/reformail -x Subject:`) -> $newsubject bekommt den Wert den reformail zurückliefert.

Wenn jetzt im Subject ein `drin ist dann hauts dir halt die Variable oder was auch immer auseinander.

Evtl. würde ein vorheriges Ersetzen dieses Zeichens mit einem anderen was bringen. Keine Ahnung, ich mutmaße hier nur :)

redhat99
Posts: 112
Joined: 2003-02-17 12:58
Location: Meckenheim

Re: Maildrop /Reformail Probleme mit "Sonderzeichen"

Post by redhat99 » 2004-06-05 20:44

Hallo FFL,

danke für Deine Antwort. Ja also so eine Art replace des Zeichens wäre ne Möglichkeit.

Ich werde da mal was ausprobieren und mit perl per `replacebefehl ...`nach solchen Zeichen suchen ...


Grüsse Mario

redhat99
Posts: 112
Joined: 2003-02-17 12:58
Location: Meckenheim

Re: Maildrop /Reformail Probleme mit "Sonderzeichen"

Post by redhat99 » 2004-06-05 22:06

Hmmm,

habs im Moment nicht hinbekommen, jemand einen Ansatz :-) ?

Grüsse Mario

redhat99
Posts: 112
Joined: 2003-02-17 12:58
Location: Meckenheim

Problem beim maskieren

Post by redhat99 » 2004-06-06 16:27

Hmm,

eigentlich wäre es so einfach. Das Problem tritt auf, wenn reformail den
Subject wieder einsetzen soll. Kommt da ein `(Back-tick) ist für maildrop wohl der Befehl zu Ende.

Mit der Konstruktion, kann ich auch alles replacen (in Beispiel Z durch E):


if ( /^X-SpamProbe: SPAM/ )
{
newsubject = `/usr/bin/reformail -x Subject: | tr Z E`
xfilter "/usr/bin/reformail -I "Subject: *** SPAM *** $newsubject""
}


Nur wenn ich dort den Back-tick einsetze um den zu replacen, hab ich ja das selbe Problem.

Komisch ist nur, das ich diesen nicht maskieren kann. Ich habe es mit '`' was ja eigentlich eine "dichte Maske" ist, mit `was ja eigentlich das Zeichen danach maskiert probiert.

" Maskiert ja leider ` und $ nicht.

Wie kann man den diesen sch... ` maskieren?

Grüsse Mario

redhat99
Posts: 112
Joined: 2003-02-17 12:58
Location: Meckenheim

Lösung!

Post by redhat99 » 2004-06-11 11:18

Hallo,

für alle die es vielleicht brauchen, hier eine Lösung. Ich denke zwar, das diese in Sachen Performance nicht das NonPlusUltra darstellt, aber bei mir zuverlässig funktioniert.

Folgendes habe ich gemacht:

Eine Datei angelegt, die das replacen macht,

habs unter /var/vpopmail/bin/ die Datei kill_backtickbug.sh mit folgendem Inhalt reingelegt:

Code: Select all


tr ` E <= Das E kann auch was anderes sein, damit wird ersetzt!

nun könnte man ja sagen, das hätte man gleich in der .mailfiter machen können, aber wie schon oben beschrieben, habe ich keine Möglickkeit gefunden, um den backtick zu maskieren, wie es eben im .sh oder Perl funktioniert.

Nun noch die Ã?nderungsschleife anpassen:

if ( /^X-SpamProbe: SPAM/ )
{
newsubject = `/usr/bin/reformail -x Subject: | /var/vpopmail/bin/kill_backtickbug.sh`
xfilter "/usr/bin/reformail -I "Subject: *** SPAM *** $newsubject""
}


Dann klappts auch mit der Spam die `verwenden. Würd mich mal interessieren, ob das absichtlich von den Spammern passiert um Spamfilter zu "killen". Habe jedenfalls eine ganze Menge Spam mit so was in der Art:

WG: V1cod/in > X@NAX = v1@grA ` < Val|i|um Pntermin |Soma| xzothsvfryfu

Vielleicht hifts ja einigen,

Grüsse Mario
Last edited by redhat99 on 2004-06-11 11:24, edited 1 time in total.

ffl
Userprojekt
Userprojekt
Posts: 269
Joined: 2002-10-23 08:28
Location: Karlsruhe

Re: Maildrop /Reformail Probleme mit "Sonderzeichen"

Post by ffl » 2004-06-11 11:20

Super, vielen Dank,
ich bin mir ziemlich sicher, dass das der Fall ist (Absicht der Spammer).