banned file types
njones at megan.vbhcs.org
Tue Oct 21 18:47:04 CEST 2014
On 10/21/2014 10:50 AM, Deeztek Support wrote:
>> I don't think there's any particular docs on the
>> $map_full_type_to_short_type_re table. Basically it's a list of the
>> long descriptive names given by file(1) mapped to the common 3
>> character extension. It shouldn't need any adjustments, so it's not
>> in a user config file. But you can look at it for enlightenment.
>> You can find the $map_full_type_to_short_type_re list in the main
>> amavisd program. And I mean the amavisd PROGRAM, not a configuration
>> file. Probably in /usr/sbin or similar.
> Okay, here's my understanding on how this works. Correct me if I'm
> I ran the file(1) without the -i switch on a bunch of files to see
> what gets reported. For example, on a .rar archive the file(1)
> utility outputs the following:
> RAR archive data, v1d, os: Win32
> So, I went into the /usr/sbin/amavisd-new file and located the
> following entry under the $map_full_type_to_short_type_re section:
> [qr/^RAR archive\b/i => 'rar']
> So far so good
> Now, I ran the file(1) utility on Microsoft Excel .xls and a
> Microsoft Word .doc file and they both had the following output:
> CDF V2 Document ......
Hmmm. Maybe your file(1) utility needs updating.
> Of course, there was no corresponding entry under the
> $map_full_type_to_short_type_re section, which tells me that Amavis
> is not able detect the file type using the file(1) utility, so I
> have to rely on the attachment name reported by the message, so I
> would add an entry in my $banned_filename_re like follows:
> [qr'.\.(xls)$'i => 1], #block excel files
> [qr'.\.(doc)$'i => 1], #block word files
> (you said earlier that the () are not required, I'm just putting
> them in there for uniformity since it won't hurt anything)
Yes, looks correct.
> Now, instead, could I theoretically add entries under the
> $map_full_type_to_short_type_re as follows?
> [qr/^CDF V2 Document\b/i => 'xls']
> [qr/^CDF V2 Document\b/i => 'doc']
No, since the descriptive text is the same, there should only be one
entry. The i flag isn't needed here since the output is from the
file(1) command; the case won't vary.
If you don't want to worry about which short type to remember, I
suppose you could write it as:
[qr/^CDF V2 Document\b/ =>['xls','doc'] ],
Blocking the short type will block anything file(1) classifies as
"CDF V2 Document" -- it can't distinguish between xlx and doc (and
likely other Office file types too).
> so, that you know, I'm not stuck on office files I'm just using them
> as examples.
... a somewhat complex example since the file(1) output covers
multiple file types.
-- Noel Jones
More information about the amavis-users