Strange perl filter bug
Christoph Biedl
cbiedl at gmx.de
Wed Aug 10 13:40:06 UTC 2005
A friend of mine complained that his perl filter (cleanfeed) does not
catch binaries while other spew is detected, e.g. EMP-md5. After a
longish debugging session I finally found that the multi-line tests
like "$hdr{__BODY__} =~ /(...)/m" never match. Reproducing failed:
Testing the very same data in a standalone perl script was successfull.
Things are even more strange:
- System is a Debian sarge Linux, the same problem existed already when
it was woody, i.e. different INN version, different Perl version.
- I could not reproduce this on any other (Debian) system. I assume that
there's something specific on that server that even survives upgrades
but I have no idea what this might be.
- Finally: Copying the variable "$BODY = $hdr{__BODY__};" and doing all
the tests against $BODY caused the trouble to go away. This is of
course a workaround, not a solution.
Now I ran out of ideas what goes wrong here and how it could be cured.
Any hint what else I could check?
Christoph
More information about the inn-workers
mailing list