1*** Settings ***
2Library         ${RSPAMD_TESTDIR}/lib/rspamd.py
3Resource        ${RSPAMD_TESTDIR}/lib/rspamd.robot
4Variables       ${RSPAMD_TESTDIR}/lib/vars.py
5
6*** Variables ***
7${SETTINGS_MIMETYPES}  {symbols_enabled = [MIME_TYPES_CALLBACK]}
8
9*** Test Cases ***
10Zip
11  Scan File  ${RSPAMD_TESTDIR}/messages/zip.eml
12  ...  Settings=${SETTINGS_MIMETYPES}
13  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  exe
14
15Zip Double Bad Extension
16  Scan File  ${RSPAMD_TESTDIR}/messages/zip-doublebad.eml
17  ...  Settings=${SETTINGS_MIMETYPES}
18  Expect Symbol With Exact Options  MIME_DOUBLE_BAD_EXTENSION  .pdf.exe
19
20Next-to-last Double Bad Extension
21  Scan File  ${RSPAMD_TESTDIR}/messages/next2last-doublebad.eml
22  ...  Settings=${SETTINGS_MIMETYPES}
23  Expect Symbol With Exact Options  MIME_DOUBLE_BAD_EXTENSION  .scr.xz
24
25Date is followed by Bad Extension
26  Scan File  ${RSPAMD_TESTDIR}/messages/rar-date-bad-ext.eml
27  ...  Settings=${SETTINGS_MIMETYPES}
28  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  scr
29  Do Not Expect Symbol  MIME_DOUBLE_BAD_EXTENSION
30
31Dotted file name is followed by Bad Extension
32  Scan File  ${RSPAMD_TESTDIR}/messages/bad_ext.dotted_file_name.eml
33  ...  Settings=${SETTINGS_MIMETYPES}
34  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  exe
35  Do Not Expect Symbol  MIME_DOUBLE_BAD_EXTENSION
36
37Dotted numbers in parentheses is followed by Bad Extension
38  Scan File  ${RSPAMD_TESTDIR}/messages/next2last-digits_in_parens.eml
39  ...  Settings=${SETTINGS_MIMETYPES}
40  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  msi
41  Do Not Expect Symbol  MIME_DOUBLE_BAD_EXTENSION
42
43Dotted numbers in square brackets is followed by Bad Extension
44  Scan File  ${RSPAMD_TESTDIR}/messages/next2last-digits_in_brackets.eml
45  ...  Settings=${SETTINGS_MIMETYPES}
46  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  msi
47  Do Not Expect Symbol  MIME_DOUBLE_BAD_EXTENSION
48
49Rar4
50  Scan File  ${RSPAMD_TESTDIR}/messages/rar4.eml
51  ...  Settings=${SETTINGS_MIMETYPES}
52  Expect Symbol With Exact Options  MIME_BAD_EXTENSION  exe
53
54Cloaked Archive Extension
55  Scan File  ${RSPAMD_TESTDIR}/messages/f.zip.gz.eml
56  ...  Settings=${SETTINGS_MIMETYPES}
57  Expect Symbol With Exact Options  MIME_ARCHIVE_IN_ARCHIVE  .zip.gz  zip
58
59Multipart Archive Extension
60  Scan File  ${RSPAMD_TESTDIR}/messages/f.zip.001.eml
61  ...  Settings=${SETTINGS_MIMETYPES}
62  Do Not Expect Symbol  MIME_ARCHIVE_IN_ARCHIVE
63
64Exe file, but name in filename_whitelist
65  Scan File  ${RSPAMD_TESTDIR}/messages/exe_attm.eml
66  ...  Settings=${SETTINGS_MIMETYPES}
67  Do Not Expect Symbol  MIME_BAD_EXTENSION
68  Do Not Expect Symbol  MIME_BAD_ATTACHMENT
69  Do Not Expect Symbol  MIME_DOUBLE_BAD_EXTENSION
70
71Empty text part should not be treat as html
72  Scan File  ${RSPAMD_TESTDIR}/messages/empty-plain-text.eml
73  ...  Settings=${SETTINGS_MIMETYPES}
74  Do Not Expect Symbol  FORGED_OUTLOOK_HTML
75