Henrik K wrote: > Current iXhash has many bugs, which I noticed when I worked on my own > version with SA native DNS lookups. > > One of the bigger problems of iXhash is probably of historical nature. > There is no decoding of messages (base64 etc). > > Looking at method #1, which is supposed to apply on messages with 20 > spaces and 2 newlines: > > if (($body =~ /(?>\s.+?){20}/g) || ( $body =~ /\n.*\n/ ) ){ > > Since it's buggily OR'd instead of &&
I think you've got some old code there. My ixhash plugin has this line instead: if (($body =~ /([\s\t].+?){20}/ ) && ($body =~ /.*$.*$.*/)) { > When I fixed this, for some reason hash #1 was rarely generated on a > mail. It seems the /(?>\s.+?){20}/g clause seemed to match only when > there are 20 whitespaces on the same line, which rarely happens. On my test-system since 2009-09-28 00:00 I have hash#1 - 1529 generated. hash#2 - 7740 generated hash#3 - 820 generated /Per Jessen, Zürich