You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

multimap.conf 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. asn {
  2. }
  3. spf {}
  4. redis {
  5. servers = "${REDIS_ADDR}:${REDIS_PORT}";
  6. expand_keys = true;
  7. }
  8. multimap {
  9. DNSBL_MAP {
  10. type = "dnsbl";
  11. map = "rspamd.com";
  12. }
  13. IP_MAP {
  14. type = "ip";
  15. map = "${TESTDIR}/configs/maps/ip.list";
  16. }
  17. FROM_MAP {
  18. type = "from";
  19. filter = "email:domain";
  20. map = "${TESTDIR}/configs/maps/domains.list";
  21. }
  22. FREEMAIL_CC {
  23. type = "header";
  24. header = "Cc";
  25. filter = "email:domain";
  26. map = "${TESTDIR}/configs/maps/domains.list.2";
  27. score = 1.0;
  28. }
  29. REGEXP_MAP {
  30. type = "from";
  31. filter = "email:addr";
  32. regexp = true;
  33. map = "${TESTDIR}/configs/maps/regexp.list";
  34. }
  35. DEPS_MAP {
  36. type = "from";
  37. filter = "email:addr";
  38. regexp = true;
  39. map = "${TESTDIR}/configs/maps/regexp.list";
  40. require_symbols = "(R_SPF_ALLOW|R_SPF_DNSFAIL) & REGEXP_MAP & !FROM_MAP";
  41. }
  42. RCPT_DOMAIN {
  43. type = "rcpt";
  44. filter = "email:domain";
  45. map = "${TESTDIR}/configs/maps/domains.list";
  46. }
  47. RCPT_USER {
  48. type = "rcpt";
  49. filter = "email:user";
  50. map = "${TESTDIR}/configs/maps/users.list";
  51. }
  52. RCPT_MAP {
  53. type = "rcpt";
  54. filter = "email:addr";
  55. symbols = ["SYM1"];
  56. map = "${TESTDIR}/configs/maps/multiple.list";
  57. score = 1.0;
  58. }
  59. HEADER_MAP {
  60. type = "header";
  61. header = "To";
  62. filter = "email:name";
  63. map = "${TESTDIR}/configs/maps/utf.list";
  64. regexp = true;
  65. }
  66. HOSTNAME_MAP {
  67. type = "hostname";
  68. map = "${TESTDIR}/configs/maps/domains.list";
  69. }
  70. HOSTNAME_TOP_MAP {
  71. type = "hostname";
  72. filter = "top";
  73. map = "${TESTDIR}/configs/maps/top.list";
  74. }
  75. CDB_HOSTNAME {
  76. type = "hostname";
  77. map = "cdb://${TESTDIR}/configs/maps/domains.cdb";
  78. }
  79. REDIS_HOSTNAME {
  80. type = "hostname";
  81. map = "redis://hostname";
  82. }
  83. REDIS_HOSTNAME_EXPANSION {
  84. type = "hostname";
  85. map = "redis://\${ip}.\${principal_recipient_domain}";
  86. }
  87. REDIS_IPADDR {
  88. type = "ip";
  89. map = "redis://ipaddr";
  90. }
  91. REDIS_FROMADDR {
  92. type = "from";
  93. filter = "email:addr";
  94. map = "redis://emailaddr";
  95. }
  96. REDIS_URL_TLD {
  97. type = "url";
  98. map = "redis://hostname";
  99. filter = "tld";
  100. }
  101. REDIS_URL_RE_FULL {
  102. type = "url";
  103. map = "redis://fullurlre";
  104. filter = "full:regexp:/(html)$/";
  105. }
  106. REDIS_URL_FULL {
  107. type = "url";
  108. map = "redis://fullurl";
  109. filter = "full";
  110. }
  111. REDIS_URL_PHISHED {
  112. type = "url";
  113. map = "redis://phishedurl";
  114. filter = "is_phished";
  115. }
  116. REDIS_URL_RE_TLD {
  117. type = "url";
  118. map = "redis://tldre";
  119. filter = "tld:regexp:/(net)$/";
  120. }
  121. REDIS_URL_RE_PLAIN {
  122. type = "url";
  123. map = "redis://urlre";
  124. filter = "regexp:/^(www)/";
  125. }
  126. REDIS_URL_NOFILTER {
  127. type = "url";
  128. map = "redis://urlnofilter";
  129. }
  130. REDIS_COUNTRY {
  131. type = "country";
  132. map = "redis://cc";
  133. }
  134. REDIS_ASN {
  135. type = "asn";
  136. map = "redis://asn";
  137. }
  138. REDIS_ASN_FILTERED {
  139. type = "mempool";
  140. variable = "asn";
  141. map = "redis://asn";
  142. filter = "regexp:/^([0-9]).*/";
  143. }
  144. RCVD_TEST_01 {
  145. type = "received";
  146. max_pos = 1;
  147. map = "${TESTDIR}/configs/maps/rcvd.list";
  148. }
  149. RCVD_TEST_02 {
  150. type = "received";
  151. min_pos = -1;
  152. map = "${TESTDIR}/configs/maps/rcvd.list";
  153. }
  154. RCVD_TEST_REDIS_01 {
  155. type = "received";
  156. map = "redis://RCVD_TEST";
  157. }
  158. RCVD_AUTHED_ONE {
  159. type = "received";
  160. map = "${TESTDIR}/configs/maps/rcvd2.list";
  161. flags = ["authenticated"];
  162. nflags = ["ssl"];
  163. }
  164. RCVD_AUTHED_TWO {
  165. type = "received";
  166. map = "${TESTDIR}/configs/maps/rcvd2.list";
  167. flags = ["authenticated", "ssl"];
  168. }
  169. COMBINED_MAP_AND {
  170. type = "combined";
  171. rules {
  172. ip = {
  173. type = "radix";
  174. map = "${TESTDIR}/configs/maps/ip.list";
  175. selector = "ip";
  176. }
  177. from {
  178. map = "${TESTDIR}/configs/maps/domains.list";
  179. selector = "from:domain";
  180. }
  181. }
  182. expression = "from & ip";
  183. score = 10;
  184. prefilter = true;
  185. }
  186. COMBINED_MAP_OR {
  187. type = "combined";
  188. rules {
  189. ip = {
  190. type = "radix";
  191. map = "${TESTDIR}/configs/maps/ip.list";
  192. selector = "ip";
  193. }
  194. from {
  195. map = "${TESTDIR}/configs/maps/domains.list";
  196. selector = "from:domain";
  197. }
  198. }
  199. expression = "from || ip"
  200. }
  201. }
  202. symbols {
  203. SYM1 = {
  204. score = 1.0,
  205. }
  206. }