[Mimedefang] File::MMagic
Jason Englander
jason at englanders.cc
Wed Jun 19 16:32:10 EDT 2002
I haven't really done anything useful with it yet, but after I saw mention
of the File::MMagic perl module on the list (File::MMagic is like the
'file' command, sort of...), I wrote up a simple little blurb for it in my
filter to log the magic type to syslog for each entity that has a
suggested file name.
Just throwing it out there for ideas/discussion/whatever.
Pop this in there somewhere:
sub get_filetype_magic ($) {
my $file2chk = $_[0];
use File::MMagic;
# use this next line instead for the system magic file instead of the
# built in File::MMagic one
#my $mm = new File::Magic::new('/etc/magic');
my $mm = new File::MMagic;
my $ftype = $mm->checktype_filename($file2chk);
return($ftype);
}
Then add this somewhere in filter:
if ($fname) {
my($body) = $entity->bodyhandle;
if (defined($body)) {
my($path) = $body->path;
if (defined($path)) {
my $magic = get_filetype_magic($path);
syslog('info', "${fname}'s magic type is $magic");
}
}
}
The value of $magic will be like a mime-type:
audio/x-wav
text/html
application/octet-stream
...
Jason
--
Jason Englander
jason at englanders.cc
More information about the MIMEDefang
mailing list