Handling what appears as multiple file extensions

From: Anthony McLin (
Date: Thu 01 Sep 2005 - 17:08:13 GMT

  • Next message: Paolo: "Re: Handling what appears as multiple file extensions"

    So I ran into a little snafu recently. Someone mailed one of my users
    with some Word Perfect Documents (.WPD). They weren't on my list of
    accepted file types, so they got renamed. No problem. I've since added
    them to the accepted list.

    However, because of the filenames of the documents, 2 of them actually
    got dropped instead of renamed!


    Both got dropped. As you can see, they have what appears to be unnacceptable extensions within the filename (my filtering settings are below).

    I imagine chaging the expressions to make sure the extension is the end of the file name, and not before it is possible. But I don't have the least clue how.

    -Anthony McLin

    # Number of rulesets we are defining:
    file_list_rules = 2
    file_default_policy = defang

    # Delete executable, script and unscannable attachments:
    file_list_1 = (?i)(winmail\.dat
    file_list_1 += |\.([23]86|vb[se]|jse|cpl|crt|chm|cpl|in[fsi]
    file_list_1 += |isp|dll|drv|cmd|sc[rt]|sys|bat|pif|lnk|hlp
    file_list_1 += |ms[cip]|reg|asd|sh[bs]|app|ocx|ht[ta]|mht
    file_list_1 += |url|exe|ws[cfh]|ops|com|prx
    file_list_1 += |mim|uue|uu|b64|bhx|hqx|xxe))\s*
    file_list_1_policy = drop
    file_list_1_scanner = 0

    # Allow known "safe" file types and those that will be
    # scanned by the user's desktop virus scanner:
    file_list_2 = (?i)\.
    # Word processor and document formats:
    file_list_2 += (doc|dot|txt|rtf|wpd|pdf|sxw|e?ps|htm|[sp]?html?
    # Spreadsheets:
    file_list_2 += |xls|xlw|xlt|csv|sxc|wk[1-4]
    # Presentation applications:
    file_list_2 += |ppt|pps|pot|sxi
    # Bitmap graphic files:
    file_list_2 += |jpe?g|gif|png|tiff?|bmp|psd|pcx|tga
    # Vector graphics and diagramming:
    file_list_2 += |vsd|drw|cdr|ai|dwg|dxf|max|3ds
    # Multimedia:
    file_list_2 += |mp3|avi|mpe?g|mov|qtw|ram?|ogg
    # Archives:
    file_list_2 += |zip|g?z|tgz|bz2|tar|sit|bin
    # Source code:
    file_list_2 += |[ch](pp|\+\+)?|s|inc|asm|patch|java|php\d?|jsp|bas)
    # Databases:
    file_list_2 += |fp5

    file_list_2_policy = accept
    file_list_2_scanner = 0

    hosted by