Al sinds een tijdje ontvang ik mail met kapotte headers. Ik heb ondertussen besloten alle email te gaan weigeren die geen goede header heeft. Het gaat altijd om het teken [ wat verkeerd gaat, deze wordt niet afgesloten met een bijbehorende ].
Dus:
Message-ID: <20040705090937.AAF1210B3234@localhost>
is wel toegestaan, maar:
Message-ID: <20040705090937.AAF1210B[3234@localhost>
wordt knetterhard geweigerd. De [ wordt niet gematcht met een ], dus gaan we er maar voor het gemak van uit dat de header kapot is.
Wat ik dus wil is een regexp die op een regel met een [ ook automatisch een ] verwacht. Meerdere matches op 1 regel hoeft niet, dat is (nog) niet fout gegaan.
Nu zit ik alleen met de regexp voor de header_checks waar ik niet uit kom. De [ en ] zijn control characters, en dus niet wat moeilijker. Ik heb o.a. al geprobeerd:
/\\[[^:]:]*$/ REJECT Kapotte headers
/\\[[^\]]*$/ REJECT Kapotte headers
/\\[[^\\]]*$/ REJECT Kapotte headers
/\\[[^\\\\]]*$/ REJECT Kapotte headers
/\\[[^\\\\]]*$/ REJECT Kapotte headers
/\\[[^\(]\)]*$/ REJECT Kapotte headers
De ene werkt helemaal niet, de andere blockt ook goede headers. Het moet toch zoiets zijn? Zijn er nog regexp guru's aanwezig toevallig?
Dus:
Message-ID: <20040705090937.AAF1210B3234@localhost>
is wel toegestaan, maar:
Message-ID: <20040705090937.AAF1210B[3234@localhost>
wordt knetterhard geweigerd. De [ wordt niet gematcht met een ], dus gaan we er maar voor het gemak van uit dat de header kapot is.
Wat ik dus wil is een regexp die op een regel met een [ ook automatisch een ] verwacht. Meerdere matches op 1 regel hoeft niet, dat is (nog) niet fout gegaan.
Nu zit ik alleen met de regexp voor de header_checks waar ik niet uit kom. De [ en ] zijn control characters, en dus niet wat moeilijker. Ik heb o.a. al geprobeerd:
/\\[[^:]:]*$/ REJECT Kapotte headers
/\\[[^\]]*$/ REJECT Kapotte headers
/\\[[^\\]]*$/ REJECT Kapotte headers
/\\[[^\\\\]]*$/ REJECT Kapotte headers
/\\[[^\\\\]]*$/ REJECT Kapotte headers
/\\[[^\(]\)]*$/ REJECT Kapotte headers
De ene werkt helemaal niet, de andere blockt ook goede headers. Het moet toch zoiets zijn? Zijn er nog regexp guru's aanwezig toevallig?