rspamd / rspamd

Rapid spam filtering system.
Other
2.03k stars 378 forks source link

Multimap with unknown action accept #2729

Closed dehnli closed 5 years ago

dehnli commented 5 years ago

Classification (Please choose one option):

Reproducibility (Please choose one option):

Rspamd version:

1.8.4-git.72d9df9

Description (Please provide a descriptive summary of the issue):

Rspamd gives _task; lua_metric_symbol_callback_error: call to (IPWHITELISTED) failed (2): /usr/local/share/rspamd/plugins/multimap.lua:560: unknown action accept; error if action is set to accept. If action set to no action Rspamd processes message without errors.

Compile errors (if any):

Relevant logs (see details here):

Expected results:

Multimap rules with action = "accept"; process message without error.

2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; proxy_accept_socket: accepted milter connection from rspamd port 55800
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; milter; rspamd_milter_process_command: got connection from 195.161.118.13:52643
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; proxy_open_mirror_connections: send request to mirror
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_message_parse: loaded message; id: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>; queue-id: <9BC5F300A6F>; size: 16730; checksum: <1e6268eb28b7503973ce67023e0e51fb>
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; settings.lua:358: check for settings
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; greylist.lua:182: skip greylisting for whitelisted IP
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_add_passthrough_result: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>: set pre-result to no action (no score): 'Matched map: IP_WHITELISTED' from multimap(1)
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; neural.lua:291: RFANN ann score: -0.985
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; neural.lua:487: cannot learn ANN tRFANNE6AD6DD1ED94DDA5260: too many ham samples: 937
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_task_write_log: id: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>, qid: <9BC5F300A6F>, ip: 195.161.118.13, from: <portal@rosreestr.ru>, (default: F (no action): [-2.95/15.00] [NEURAL_HAM(-2.95){-0.985;0;},ASN(0.00){asn:8342, ipnet:195.161.0.0/16, country:RU;},IP_WHITELISTED(0.00){195.161.118.13;}]), len: 16730, time: 4.478ms real, 4.661ms virtual, dns req: 1, digest: <1e6268eb28b7503973ce67023e0e51fb>, rcpts: <user@test.ru>, mime_rcpt: <user@test.ru>
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_protocol_http_reply: regexp statistics: 0 pcre regexps scanned, 0 regexps matched, 181 regexps total, 0 regexps cached, 0B bytes scanned using pcre, 0B bytes scanned total
2019-01-22 17:55:10 #82912(rspamd_proxy) <54421c>; proxy; proxy_backend_mirror_finish_handler: finished mirror connection to mirror

Actual results:

2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; accept_socket: accepted connection from rspamd port 49277, task ptr: 000000080BAEDB80
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_task_load_message: loaded message from zstd compressed stream; compressed: 10940; uncompressed: 17925
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_message_parse: loaded message; id: <8527651.57425856.1548144853728.JavaMail.fuse@internet1.portal.rosreestr.ru>; queue-id: <E8B3C300A60>; size: 17925; checksum: <7e57964cd07c5c7494d2c04d0bcb4f58>
2019-01-22 11:14:14 #41270(normal) <36cfc7>; lua; settings.lua:386: check for settings
2019-01-22 11:14:14 #41270(normal) <36cfc7>; lua; greylist.lua:188: skip greylisting for whitelisted IP
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; lua_metric_symbol_callback_error: call to (IP_WHITELISTED) failed (2): /usr/local/share/rspamd/plugins/multimap.lua:560: unknown action accept; trace: [1]:{/usr/local/share/rspamd/plugins/multimap.lua:560 - callback [Lua]}; [2]:{/usr/local/share/rspamd/plugins/multimap.lua:448 - match_element [Lua]}; [3]:{/usr/local/share/rspamd/plugins/multimap.lua:574 - match_rule [Lua]}; [4]:{/usr/local/share/rspamd/plugins/multimap.lua:717 - f [Lua]}; [5]:{/usr/local/share/rspamd/plugins/multimap.lua:871 - multimap_callback [Lua]}; [6]:{/usr/local/share/rspamd/plugins/multimap.lua:879 - <unknown> [Lua]};
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_html_url_is_phished: extract of url 'mailto://Support_Site@rosreestr.ru' failed: TLD part is not detected
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_mime_part_detect_language: detected part language: ru
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_mime_part_detect_language: detected part language: ru
2019-01-22 11:14:14 #41270(normal) <36cfc7>; lua; mx_check.lua:69: skip mx check for rosreestr.ru, excluded
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_symcache_finalize_item: slow rule: RECEIVED_BLOCKLISTDE(185): 338.56 ms
2019-01-22 11:14:14 #41270(normal) <36cfc7>; lua; neural.lua:487: cannot learn ANN tRFANN8C2B377F6F555431260: too many ham samples: 371
2019-01-22 11:14:14 #41270(normal) <36cfc7>; protocol; rspamd_protocol_write_reply: <8527651.57425856.1548144853728.JavaMail.fuse@internet1.portal.rosreestr.ru> writing encrypted reply
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_task_write_log: id: <8527651.57425856.1548144853728.JavaMail.fuse@internet1.portal.rosreestr.ru>, qid: <E8B3C300A60>, ip: 195.161.118.13, from: <portal@rosreestr.ru>, (default: F (no action): [-3.10/15.00] [BAYES_HAM(-3.00){100.00%;},R_SPF_ALLOW(-0.20){+mx;},MIME_BASE64_TEXT(0.10){},MIME_GOOD(-0.10){multipart/related;multipart/alternative;text/plain;},RCVD_NO_TLS_LAST(0.10){},ARC_NA(0.00){},DMARC_NA(0.00){rosreestr.ru;},FROM_EQ_ENVFROM(0.00){},FROM_NO_DN(0.00){},GENERIC_REPUTATION(0.00){-1;},IP_REPUTATION(0.00){ip: 195.161.118.13(-1.00);},IP_WHITELISTED(0.00){195.161.118.13;},MIME_TRACE(0.00){0:+;1:+;2:+;3:~;4:~;},MX_WHITE(0.00){rosreestr.ru;},PREVIOUSLY_DELIVERED(0.00){user@test.ru;},RCPT_COUNT_ONE(0.00){1;},RCVD_COUNT_TWO(0.00){2;},RCVD_IN_DNSWL_NONE(0.00){13.118.161.195.list.dnswl.org : 127.0.10.0;},R_DKIM_NA(0.00){},TO_DN_NONE(0.00){},TO_MATCH_ENVRCPT_ALL(0.00){}]), len: 17925, time: 473.501ms real, 11.189ms virtual, dns req: 31, digest: <7e57964cd07c5c7494d2c04d0bcb4f58>, rcpts: <user@test.ru>, mime_rcpt: <user@test.ru>
2019-01-22 11:14:14 #41270(normal) <36cfc7>; task; rspamd_protocol_http_reply: regexp statistics: 0 pcre regexps scanned, 6 regexps matched, 181 regexps total, 92 regexps cached, 0B bytes scanned using pcre, 12.16k bytes scanned total
2019-01-22 11:14:14 #41270(normal) <36cfc7>; protocol; rspamd_protocol_http_reply: writing compressed results: 3975 bytes before 1474 bytes after

Debugging information (see details here):

Configuration (e.g. rspamadm configdump module):

# rspamadm configdump multimap
*** Section multimap ***
IP_WHITELISTED {
    type = "ip";
    action = "accept";
    prefilter = true;
    map = "/usr/local/etc/rspamd/local.d/whitelisted_ip.map";
}

Additional information:

Rspamd daemon version 1.8.3-git.53b7aba processes multimap rules with action = "accept"; correctly.

2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; proxy_accept_socket: accepted milter connection from rspamd port 55800
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; milter; rspamd_milter_process_command: got connection from 195.161.118.13:52643
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; proxy_open_mirror_connections: send request to mirror
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_message_parse: loaded message; id: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>; queue-id: <9BC5F300A6F>; size: 16730; checksum: <1e6268eb28b7503973ce67023e0e51fb>
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; settings.lua:358: check for settings
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; greylist.lua:182: skip greylisting for whitelisted IP
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_add_passthrough_result: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>: set pre-result to no action (no score): 'Matched map: IP_WHITELISTED' from multimap(1)
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; neural.lua:291: RFANN ann score: -0.985
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; lua; neural.lua:487: cannot learn ANN tRFANNE6AD6DD1ED94DDA5260: too many ham samples: 937
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_task_write_log: id: <5479278.57991665.1548168906375.JavaMail.fuse@internet1.portal.rosreestr.ru>, qid: <9BC5F300A6F>, ip: 195.161.118.13, from: <portal@rosreestr.ru>, (default: F (no action): [-2.95/15.00] [NEURAL_HAM(-2.95){-0.985;0;},ASN(0.00){asn:8342, ipnet:195.161.0.0/16, country:RU;},IP_WHITELISTED(0.00){195.161.118.13;}]), len: 16730, time: 4.478ms real, 4.661ms virtual, dns req: 1, digest: <1e6268eb28b7503973ce67023e0e51fb>, rcpts: <user@test.ru>, mime_rcpt: <user@test.ru>
2019-01-22 17:55:06 #82912(rspamd_proxy) <54421c>; proxy; rspamd_protocol_http_reply: regexp statistics: 0 pcre regexps scanned, 0 regexps matched, 181 regexps total, 0 regexps cached, 0B bytes scanned using pcre, 0B bytes scanned total
2019-01-22 17:55:10 #82912(rspamd_proxy) <54421c>; proxy; proxy_backend_mirror_finish_handler: finished mirror connection to mirror
vstakhov commented 5 years ago

There is no such action defined by default. In Rspamd 1.9, you would be able to create whatever action you'd like, hence, you should not use non standard name for the standard action.

dehnli commented 5 years ago

Fixed with 4f40211