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