]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Filter.pm
filter: use regexp to check multipart bodies
[public-inbox.git] / lib / PublicInbox / Filter.pm
index 0b4dce87a4a222c30fef8c6c887fc213b5f1b877..4a3482170422c7a16965a198abf89b7dac140d25 100644 (file)
@@ -215,23 +215,13 @@ sub replace_body {
        mark_changed($simple);
 }
 
-# run the file(1) command to detect mime type
-# Not using File::MMagic for now since that requires extra configuration
-# Note: we do not rewrite the message with the detected mime type
+# Check for display-able text, no messed up binaries
+# Note: we can not rewrite the message with the detected mime type
 sub recheck_type_ok {
        my ($part) = @_;
-       my $cmd = "file --mime-type -b -";
-       my $pid = open2(my $out, my $in, $cmd);
-       print $in $part->body;
-       close $in;
-       my $type = eval {
-               local $/;
-               <$out>;
-       };
-       waitpid($pid, 0);
-       chomp $type;
-
-       (($type =~ $MIME_TEXT_ANY) && ($type !~ $MIME_HTML))
+       my $s = $part->body;
+       ((bytes::length($s) < 0x10000) &&
+               ($s =~ /\A([\P{XPosixPrint}\f\n\r\t]+)\z/))
 }
 
 1;