diff --git a/mail/rspamd/Makefile b/mail/rspamd/Makefile index 32aafb7292fa..404ed6f554b1 100644 --- a/mail/rspamd/Makefile +++ b/mail/rspamd/Makefile @@ -1,96 +1,95 @@ PORTNAME= rspamd -PORTVERSION= 3.12.1 -PORTREVISION= 2 +PORTVERSION= 3.13.0 CATEGORIES= mail MAINTAINER= vsevolod@FreeBSD.org COMMENT= Fast spam filtering system WWW= https://rspamd.com/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.md BUILD_DEPENDS= ragel:devel/ragel LIB_DEPENDS= libicui18n.so:devel/icu \ libpcre2-8.so:devel/pcre2 \ libsodium.so:security/libsodium RUN_DEPENDS= ca_root_nss>=3.*:security/ca_root_nss USES= cmake compiler:c++20-lang cpe gnome perl5 pkgconfig sqlite ssl CPE_VENDOR= rspamd_project USE_GITHUB= yes USE_GNOME= glib20 USE_LDCONFIG= yes USE_PERL5= build run USE_RC_SUBR= rspamd CMAKE_ARGS+= -DBUILD_PORT=yes \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCONFDIR=${PREFIX}/etc/rspamd \ -DDBDIR=/var/db/rspamd \ -DLIBDIR=${PREFIX}/lib/rspamd \ -DLOGDIR=/var/log/rspamd \ -DRUNDIR=/var/run/rspamd CONFLICTS_INSTALL= rspamd-devel SUB_FILES= pkg-message rspamd.newsyslog.conf.sample USERS= rspamd GROUPS= rspamd PLIST_SUB+= ETCDIR=etc/rspamd \ RSPAMDVERSION=${PORTVERSION} OPTIONS_DEFINE= BLAS CGP GPERF LUAJIT OPTIONS_DEFINE_amd64= HYPERSCAN OPTIONS_DEFAULT_amd64= LUAJIT OPTIONS_DEFAULT_armv7= LUAJIT OPTIONS_DEFAULT_i386= LUAJIT OPTIONS_DEFAULT_powerpc= LUAJIT OPTIONS_DEFAULT_powerpc64= LUAJIT OPTIONS_DEFAULT_powerpc64le= LUAJIT OPTIONS_SUB= yes BLAS_DESC= Use OpenBLAS to accelerate KANN CGP_DESC= Install Communigate Pro(tm) helper GPERF_DESC= Google perf-tools profiling HYPERSCAN_DESC= Use hyperscan optimizations (amd64 only) LUAJIT_DESC= Use LuaJIT instead of standard Lua BLAS_LIB_DEPENDS= libblis.so:math/blis \ liblapack.so:math/lapack BLAS_USES= blaslapack:openblas BLAS_CMAKE_ON= -DENABLE_BLAS=ON CGP_RUN_DEPENDS+= p5-AnyEvent-HTTP>=0:www/p5-AnyEvent-HTTP \ p5-AnyEvent>=0:devel/p5-AnyEvent \ p5-EV>=0:devel/p5-EV \ p5-JSON-XS>=0:converters/p5-JSON-XS GPERF_LIB_DEPENDS= libprofiler.so:devel/google-perftools GPERF_CMAKE_ON= -DENABLE_GPERF_TOOLS=ON HYPERSCAN_LIB_DEPENDS= libhs.so:devel/hyperscan HYPERSCAN_CMAKE_ON= -DENABLE_HYPERSCAN=ON LUAJIT_USES= luajit LUAJIT_USES_OFF= lua:51+ LUAJIT_CMAKE_OFF= -DENABLE_LUAJIT=OFF post-install: @${MKDIR} \ ${STAGEDIR}/var/log/rspamd \ ${STAGEDIR}/var/db/rspamd \ ${STAGEDIR}/var/run/rspamd ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.conf.sample # Linux specific ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.systemd.conf ${RM} ${STAGEDIR}/${ETCDIR}/rspamd.sysvinit.conf ${INSTALL_DATA} ${WRKDIR}/rspamd.newsyslog.conf.sample ${STAGEDIR}${ETCDIR} @${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d ${LN} -s ${ETCDIR}/rspamd.newsyslog.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d post-install-CGP-on: ${INSTALL_SCRIPT} ${WRKSRC}/utils/cgp_rspamd.pl ${STAGEDIR}${PREFIX}/bin/rspamd-cgp-helper .include diff --git a/mail/rspamd/distinfo b/mail/rspamd/distinfo index d985f9faa060..b167ce89b5c2 100644 --- a/mail/rspamd/distinfo +++ b/mail/rspamd/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750232201 -SHA256 (rspamd-rspamd-3.12.1_GH0.tar.gz) = 8739aa96db5ff6214595ba0a6f0d90ff46d9f11e5c5e164bbdd749b5cfbd65ed -SIZE (rspamd-rspamd-3.12.1_GH0.tar.gz) = 6482214 +TIMESTAMP = 1758273148 +SHA256 (rspamd-rspamd-3.13.0_GH0.tar.gz) = e153951c7b05ea63136548a12df4707dae46205a44dd8ac059408e41be8c8ad6 +SIZE (rspamd-rspamd-3.13.0_GH0.tar.gz) = 6598225 diff --git a/mail/rspamd/files/patch-src_libserver_re_cache.c b/mail/rspamd/files/patch-src_libserver_re_cache.c new file mode 100644 index 000000000000..ce6ab71ea699 --- /dev/null +++ b/mail/rspamd/files/patch-src_libserver_re_cache.c @@ -0,0 +1,131 @@ +From 98e731bf69306a830834fbcfa7a21c3357130693 Mon Sep 17 00:00:00 2001 +From: Vsevolod Stakhov +Date: Thu, 18 Sep 2025 10:03:39 +0100 +Subject: [PATCH] [Minor] Fix non-hyperscan build + +Issue: #5620 +--- + src/libserver/re_cache.c | 29 +++++++++++++++++++++-------- + 1 file changed, 21 insertions(+), 8 deletions(-) + +diff --git src/libserver/re_cache.c src/libserver/re_cache.c +index fc056ecd8..2aa93e0d3 100644 +--- src/libserver/re_cache.c ++++ src/libserver/re_cache.c +@@ -899,7 +899,6 @@ rspamd_re_cache_hyperscan_cb(unsigned int id, + } + else { + if (!isset(rt->checked, id)) { +- + processed = 0; + + for (i = 0; i < cbdata->count; i++) { +@@ -933,7 +932,6 @@ rspamd_re_cache_process_regexp_data(struct rspamd_re_runtime *rt, + gboolean is_raw, + gboolean *processed_hyperscan) + { +- + uint64_t re_id; + unsigned int ret = 0; + unsigned int i; +@@ -1268,7 +1266,6 @@ rspamd_re_cache_process_headers_list(struct rspamd_task *task, + + DL_FOREACH(rh, cur) + { +- + if (is_strong && strcmp(cur->name, re_class->type_data) != 0) { + /* Skip a different case */ + continue; +@@ -1669,7 +1666,6 @@ rspamd_re_cache_exec_re(struct rspamd_task *task, + re_class->type_data, + (unsigned char ***) &scvec, + &lenvec, &cnt)) { +- + ret = rspamd_re_cache_process_regexp_data(rt, re, + task, scvec, lenvec, cnt, raw, &processed_hyperscan); + msg_debug_re_task("checked selector(%s) regexp: %s -> %d", +@@ -2080,7 +2076,6 @@ rspamd_re_cache_is_finite(struct rspamd_re_cache *cache, + &cache->plt, + &test_db, + &hs_errors) != HS_SUCCESS) { +- + msg_info_re_cache("cannot compile (prefilter mode) '%s' to hyperscan: '%s'", + pat, + hs_errors != NULL ? hs_errors->message : "unknown error"); +@@ -2146,7 +2141,9 @@ struct rspamd_re_cache_hs_compile_cbdata { + double max_time; + gboolean silent; + unsigned int total; ++ + void (*cb)(unsigned int ncompiled, GError *err, void *cbd); ++ + void *cbd; + }; + +@@ -2210,7 +2207,6 @@ rspamd_re_cache_compile_timer_cb(EV_P_ ev_timer *w, int revents) + G_DIR_SEPARATOR, re_class->hash); + + if (rspamd_re_cache_is_valid_hyperscan_file(cache, path, TRUE, TRUE, NULL)) { +- + fd = open(path, O_RDONLY, 00600); + + /* Read number of regexps */ +@@ -2376,7 +2372,6 @@ rspamd_re_cache_compile_timer_cb(EV_P_ ev_timer *w, int revents) + &cache->plt, + &test_db, + &hs_errors) != HS_SUCCESS) { +- + err = g_error_new(rspamd_re_cache_quark(), EINVAL, + "cannot create tree of regexp when processing '%s': %s", + hs_pats[hs_errors->expression], hs_errors->message); +@@ -2560,7 +2555,9 @@ struct rspamd_re_cache_scoped_compile_data { + unsigned int completed_scopes; + unsigned int total_compiled; + GError *first_error; ++ + void (*final_cb)(unsigned int ncompiled, GError *err, void *cbd); ++ + void *final_cbd; + }; + +@@ -3435,7 +3432,9 @@ struct rspamd_re_cache_hs_compile_scoped_cbdata { + double max_time; + gboolean silent; + int lock_fd; ++ + void (*cb)(const char *scope, unsigned int ncompiled, GError *err, void *cbd); ++ + void *cbd; + }; + +@@ -3463,7 +3462,8 @@ int rspamd_re_cache_compile_hyperscan_scoped_single(struct rspamd_re_cache *cach + double max_time, + gboolean silent, + struct ev_loop *event_loop, +- void (*cb)(const char *scope, unsigned int ncompiled, GError *err, void *cbd), ++ void (*cb)(const char *scope, unsigned int ncompiled, GError *err, ++ void *cbd), + void *cbd) + { + struct rspamd_re_cache_hs_compile_scoped_cbdata *scoped_cbd; +@@ -3495,4 +3495,17 @@ int rspamd_re_cache_compile_hyperscan_scoped_single(struct rspamd_re_cache *cach + return rspamd_re_cache_compile_hyperscan(cache, cache_dir, max_time, silent, + event_loop, rspamd_re_cache_compile_scoped_cb, scoped_cbd); + } ++#else ++/* Non hyperscan version stub */ ++int rspamd_re_cache_compile_hyperscan_scoped_single(struct rspamd_re_cache *cache, ++ const char *scope, ++ const char *cache_dir, ++ double max_time, ++ gboolean silent, ++ struct ev_loop *event_loop, ++ void (*cb)(const char *scope, unsigned int ncompiled, GError *err, void *cbd), ++ void *cbd) ++{ ++ return 0; ++} + #endif +-- +2.51.0 + diff --git a/mail/rspamd/pkg-plist b/mail/rspamd/pkg-plist index 9d0315fe32ed..a91c84c40914 100644 --- a/mail/rspamd/pkg-plist +++ b/mail/rspamd/pkg-plist @@ -1,403 +1,406 @@ bin/rspamadm bin/rspamadm-%%RSPAMDVERSION%% bin/rspamc bin/rspamc-%%RSPAMDVERSION%% bin/rspamd bin/rspamd-%%RSPAMDVERSION%% bin/rspamd_stats %%CGP%%bin/rspamd-cgp-helper etc/newsyslog.conf.d/rspamd.newsyslog.conf %%ETCDIR%%/actions.conf -%%ETCDIR%%/cgp.inc %%ETCDIR%%/common.conf %%ETCDIR%%/composites.conf %%ETCDIR%%/groups.conf %%ETCDIR%%/lang_detection.inc %%ETCDIR%%/local.d/module.conf.example %%ETCDIR%%/logging.inc %%ETCDIR%%/lua.local.d/module.lua.example %%ETCDIR%%/maps.d/dmarc_whitelist.inc %%ETCDIR%%/maps.d/exe_clickbait.inc %%ETCDIR%%/maps.d/maillist.inc %%ETCDIR%%/maps.d/mid.inc %%ETCDIR%%/maps.d/mime_types.inc %%ETCDIR%%/maps.d/redirectors.inc %%ETCDIR%%/maps.d/spf_dkim_whitelist.inc %%ETCDIR%%/maps.d/surbl-whitelist.inc %%ETCDIR%%/metrics.conf %%ETCDIR%%/modules.conf %%ETCDIR%%/modules.d/antivirus.conf %%ETCDIR%%/modules.d/arc.conf %%ETCDIR%%/modules.d/asn.conf %%ETCDIR%%/modules.d/aws_s3.conf %%ETCDIR%%/modules.d/bayes_expiry.conf %%ETCDIR%%/modules.d/bimi.conf %%ETCDIR%%/modules.d/chartable.conf %%ETCDIR%%/modules.d/clickhouse.conf %%ETCDIR%%/modules.d/contextal.conf %%ETCDIR%%/modules.d/dcc.conf %%ETCDIR%%/modules.d/dkim.conf %%ETCDIR%%/modules.d/dkim_signing.conf %%ETCDIR%%/modules.d/dmarc.conf %%ETCDIR%%/modules.d/elastic.conf %%ETCDIR%%/modules.d/emails.conf %%ETCDIR%%/modules.d/external_relay.conf %%ETCDIR%%/modules.d/external_services.conf %%ETCDIR%%/modules.d/force_actions.conf %%ETCDIR%%/modules.d/forged_recipients.conf %%ETCDIR%%/modules.d/fuzzy_check.conf %%ETCDIR%%/modules.d/gpt.conf %%ETCDIR%%/modules.d/greylist.conf %%ETCDIR%%/modules.d/hfilter.conf %%ETCDIR%%/modules.d/history_redis.conf %%ETCDIR%%/modules.d/http_headers.conf %%ETCDIR%%/modules.d/known_senders.conf %%ETCDIR%%/modules.d/maillist.conf %%ETCDIR%%/modules.d/metadata_exporter.conf %%ETCDIR%%/modules.d/metric_exporter.conf %%ETCDIR%%/modules.d/mid.conf %%ETCDIR%%/modules.d/milter_headers.conf %%ETCDIR%%/modules.d/mime_types.conf %%ETCDIR%%/modules.d/multimap.conf %%ETCDIR%%/modules.d/mx_check.conf %%ETCDIR%%/modules.d/neural.conf %%ETCDIR%%/modules.d/once_received.conf %%ETCDIR%%/modules.d/p0f.conf %%ETCDIR%%/modules.d/phishing.conf %%ETCDIR%%/modules.d/ratelimit.conf %%ETCDIR%%/modules.d/rbl.conf %%ETCDIR%%/modules.d/redis.conf %%ETCDIR%%/modules.d/regexp.conf %%ETCDIR%%/modules.d/replies.conf %%ETCDIR%%/modules.d/reputation.conf %%ETCDIR%%/modules.d/rspamd_update.conf %%ETCDIR%%/modules.d/spamassassin.conf %%ETCDIR%%/modules.d/spamtrap.conf %%ETCDIR%%/modules.d/spf.conf %%ETCDIR%%/modules.d/surbl.conf %%ETCDIR%%/modules.d/trie.conf %%ETCDIR%%/modules.d/url_redirector.conf %%ETCDIR%%/modules.d/whitelist.conf %%ETCDIR%%/modules.local.d/module.conf.example %%ETCDIR%%/options.inc %%ETCDIR%%/override.d/module.conf.example %%ETCDIR%%/rspamd.conf @sample %%ETCDIR%%/rspamd.newsyslog.conf.sample %%ETCDIR%%/scores.d/content_group.conf %%ETCDIR%%/scores.d/fuzzy_group.conf %%ETCDIR%%/scores.d/headers_group.conf %%ETCDIR%%/scores.d/hfilter_group.conf %%ETCDIR%%/scores.d/mime_types_group.conf %%ETCDIR%%/scores.d/mua_group.conf %%ETCDIR%%/scores.d/phishing_group.conf %%ETCDIR%%/scores.d/policies_group.conf %%ETCDIR%%/scores.d/rbl_group.conf %%ETCDIR%%/scores.d/statistics_group.conf %%ETCDIR%%/scores.d/subject_group.conf %%ETCDIR%%/scores.d/surbl_group.conf %%ETCDIR%%/scores.d/whitelist_group.conf %%ETCDIR%%/settings.conf %%ETCDIR%%/statistic.conf %%ETCDIR%%/worker-controller.inc %%ETCDIR%%/worker-fuzzy.inc %%ETCDIR%%/worker-normal.inc %%ETCDIR%%/worker-proxy.inc lib/rspamd/librspamd-actrie.so lib/rspamd/librspamd-ev.so lib/rspamd/librspamd-kann.so lib/rspamd/librspamd-replxx.so lib/rspamd/librspamd-server.so share/man/man1/rspamadm.1.gz share/man/man1/rspamc.1.gz share/man/man8/rspamd.8.gz %%DATADIR%%/effective_tld_names.dat %%DATADIR%%/languages/af.json %%DATADIR%%/languages/an.json %%DATADIR%%/languages/ar.json %%DATADIR%%/languages/bg.json %%DATADIR%%/languages/bn.json %%DATADIR%%/languages/br.json %%DATADIR%%/languages/cs.json %%DATADIR%%/languages/cy.json %%DATADIR%%/languages/da.json %%DATADIR%%/languages/de.json %%DATADIR%%/languages/en.json %%DATADIR%%/languages/es.json %%DATADIR%%/languages/et.json %%DATADIR%%/languages/eu.json %%DATADIR%%/languages/fa.json %%DATADIR%%/languages/fi.json %%DATADIR%%/languages/fr.json %%DATADIR%%/languages/ga.json %%DATADIR%%/languages/hi.json %%DATADIR%%/languages/hr.json %%DATADIR%%/languages/hu.json %%DATADIR%%/languages/id.json %%DATADIR%%/languages/is.json %%DATADIR%%/languages/it.json %%DATADIR%%/languages/lt.json %%DATADIR%%/languages/lv.json %%DATADIR%%/languages/mr.json %%DATADIR%%/languages/ms.json %%DATADIR%%/languages/ne.json %%DATADIR%%/languages/nl.json %%DATADIR%%/languages/no.json %%DATADIR%%/languages/pa.json %%DATADIR%%/languages/pl.json %%DATADIR%%/languages/pt.json %%DATADIR%%/languages/ro.json %%DATADIR%%/languages/ru.json %%DATADIR%%/languages/sl.json %%DATADIR%%/languages/so.json %%DATADIR%%/languages/sq.json %%DATADIR%%/languages/sr.json %%DATADIR%%/languages/stop_words %%DATADIR%%/languages/sv.json %%DATADIR%%/languages/sw.json %%DATADIR%%/languages/tr.json %%DATADIR%%/languages/uk.json %%DATADIR%%/languages/ur.json %%DATADIR%%/languages/vi.json %%DATADIR%%/lualib/ansicolors.lua %%DATADIR%%/lualib/argparse.lua %%DATADIR%%/lualib/fun.lua %%DATADIR%%/lualib/global_functions.lua +%%DATADIR%%/lualib/llm_common.lua %%DATADIR%%/lualib/lpegre.lua %%DATADIR%%/lualib/lua_auth_results.lua %%DATADIR%%/lualib/lua_aws.lua -%%DATADIR%%/lualib/lua_cache.lua %%DATADIR%%/lualib/lua_bayes_learn.lua %%DATADIR%%/lualib/lua_bayes_redis.lua +%%DATADIR%%/lualib/lua_cache.lua %%DATADIR%%/lualib/lua_cfg_transform.lua %%DATADIR%%/lualib/lua_cfg_utils.lua %%DATADIR%%/lualib/lua_clickhouse.lua %%DATADIR%%/lualib/lua_content/ical.lua %%DATADIR%%/lualib/lua_content/init.lua %%DATADIR%%/lualib/lua_content/pdf.lua %%DATADIR%%/lualib/lua_content/vcard.lua +%%DATADIR%%/lualib/lua_cta.lua %%DATADIR%%/lualib/lua_dkim_tools.lua %%DATADIR%%/lualib/lua_ffi/common.lua %%DATADIR%%/lualib/lua_ffi/dkim.lua %%DATADIR%%/lualib/lua_ffi/init.lua %%DATADIR%%/lualib/lua_ffi/linalg.lua %%DATADIR%%/lualib/lua_ffi/spf.lua %%DATADIR%%/lualib/lua_fuzzy.lua %%DATADIR%%/lualib/lua_lexer.lua %%DATADIR%%/lualib/lua_magic/heuristics.lua %%DATADIR%%/lualib/lua_magic/init.lua %%DATADIR%%/lualib/lua_magic/patterns.lua %%DATADIR%%/lualib/lua_magic/types.lua %%DATADIR%%/lualib/lua_maps.lua %%DATADIR%%/lualib/lua_maps_expressions.lua %%DATADIR%%/lualib/lua_meta.lua %%DATADIR%%/lualib/lua_mime.lua %%DATADIR%%/lualib/lua_mime_types.lua %%DATADIR%%/lualib/lua_redis.lua %%DATADIR%%/lualib/lua_scanners/avast.lua %%DATADIR%%/lualib/lua_scanners/clamav.lua %%DATADIR%%/lualib/lua_scanners/cloudmark.lua %%DATADIR%%/lualib/lua_scanners/common.lua %%DATADIR%%/lualib/lua_scanners/dcc.lua %%DATADIR%%/lualib/lua_scanners/fprot.lua %%DATADIR%%/lualib/lua_scanners/icap.lua %%DATADIR%%/lualib/lua_scanners/init.lua %%DATADIR%%/lualib/lua_scanners/kaspersky_av.lua %%DATADIR%%/lualib/lua_scanners/kaspersky_se.lua %%DATADIR%%/lualib/lua_scanners/oletools.lua %%DATADIR%%/lualib/lua_scanners/p0f.lua %%DATADIR%%/lualib/lua_scanners/pyzor.lua %%DATADIR%%/lualib/lua_scanners/razor.lua %%DATADIR%%/lualib/lua_scanners/savapi.lua %%DATADIR%%/lualib/lua_scanners/sophos.lua %%DATADIR%%/lualib/lua_scanners/spamassassin.lua %%DATADIR%%/lualib/lua_scanners/vadesecure.lua %%DATADIR%%/lualib/lua_scanners/virustotal.lua %%DATADIR%%/lualib/lua_selectors/common.lua %%DATADIR%%/lualib/lua_selectors/extractors.lua %%DATADIR%%/lualib/lua_selectors/init.lua %%DATADIR%%/lualib/lua_selectors/maps.lua %%DATADIR%%/lualib/lua_selectors/transforms.lua %%DATADIR%%/lualib/lua_settings.lua %%DATADIR%%/lualib/lua_smtp.lua %%DATADIR%%/lualib/lua_stat.lua %%DATADIR%%/lualib/lua_tcp_sync.lua %%DATADIR%%/lualib/lua_urls_compose.lua %%DATADIR%%/lualib/lua_util.lua %%DATADIR%%/lualib/lua_verdict.lua %%DATADIR%%/lualib/lupa.lua %%DATADIR%%/lualib/plugins/dmarc.lua %%DATADIR%%/lualib/plugins/neural.lua +%%DATADIR%%/lualib/plugins/neural/providers/llm.lua +%%DATADIR%%/lualib/plugins/neural/providers/symbols.lua %%DATADIR%%/lualib/plugins/ratelimit.lua %%DATADIR%%/lualib/plugins/rbl.lua %%DATADIR%%/lualib/plugins_stats.lua %%DATADIR%%/lualib/redis_scripts/bayes_cache_check.lua %%DATADIR%%/lualib/redis_scripts/bayes_cache_learn.lua %%DATADIR%%/lualib/redis_scripts/bayes_classify.lua %%DATADIR%%/lualib/redis_scripts/bayes_learn.lua %%DATADIR%%/lualib/redis_scripts/bayes_stat.lua %%DATADIR%%/lualib/redis_scripts/neural_maybe_invalidate.lua %%DATADIR%%/lualib/redis_scripts/neural_maybe_lock.lua %%DATADIR%%/lualib/redis_scripts/neural_save_unlock.lua %%DATADIR%%/lualib/redis_scripts/neural_train_size.lua %%DATADIR%%/lualib/redis_scripts/ratelimit_check.lua %%DATADIR%%/lualib/redis_scripts/ratelimit_cleanup_pending.lua %%DATADIR%%/lualib/redis_scripts/ratelimit_update.lua %%DATADIR%%/lualib/rspamadm/classifier_test.lua %%DATADIR%%/lualib/rspamadm/clickhouse.lua %%DATADIR%%/lualib/rspamadm/configgraph.lua %%DATADIR%%/lualib/rspamadm/confighelp.lua %%DATADIR%%/lualib/rspamadm/configwizard.lua %%DATADIR%%/lualib/rspamadm/cookie.lua %%DATADIR%%/lualib/rspamadm/corpus_test.lua %%DATADIR%%/lualib/rspamadm/dkim_keygen.lua %%DATADIR%%/lualib/rspamadm/dmarc_report.lua %%DATADIR%%/lualib/rspamadm/dns_tool.lua %%DATADIR%%/lualib/rspamadm/fuzzy_convert.lua %%DATADIR%%/lualib/rspamadm/fuzzy_ping.lua %%DATADIR%%/lualib/rspamadm/fuzzy_stat.lua %%DATADIR%%/lualib/rspamadm/grep.lua %%DATADIR%%/lualib/rspamadm/keypair.lua %%DATADIR%%/lualib/rspamadm/mime.lua %%DATADIR%%/lualib/rspamadm/neural_test.lua %%DATADIR%%/lualib/rspamadm/publicsuffix.lua %%DATADIR%%/lualib/rspamadm/ratelimit.lua %%DATADIR%%/lualib/rspamadm/secretbox.lua %%DATADIR%%/lualib/rspamadm/stat_convert.lua %%DATADIR%%/lualib/rspamadm/statistics_dump.lua %%DATADIR%%/lualib/rspamadm/template.lua %%DATADIR%%/lualib/rspamadm/vault.lua %%DATADIR%%/lualib/tableshape.lua %%DATADIR%%/plugins/antivirus.lua %%DATADIR%%/plugins/arc.lua %%DATADIR%%/plugins/asn.lua %%DATADIR%%/plugins/aws_s3.lua %%DATADIR%%/plugins/bayes_expiry.lua %%DATADIR%%/plugins/bimi.lua %%DATADIR%%/plugins/clickhouse.lua %%DATADIR%%/plugins/clustering.lua %%DATADIR%%/plugins/contextal.lua %%DATADIR%%/plugins/dcc.lua %%DATADIR%%/plugins/dkim_signing.lua %%DATADIR%%/plugins/dmarc.lua %%DATADIR%%/plugins/dynamic_conf.lua %%DATADIR%%/plugins/elastic.lua %%DATADIR%%/plugins/emails.lua %%DATADIR%%/plugins/external_relay.lua %%DATADIR%%/plugins/external_services.lua %%DATADIR%%/plugins/force_actions.lua %%DATADIR%%/plugins/forged_recipients.lua %%DATADIR%%/plugins/fuzzy_collect.lua %%DATADIR%%/plugins/gpt.lua %%DATADIR%%/plugins/greylist.lua %%DATADIR%%/plugins/hfilter.lua %%DATADIR%%/plugins/history_redis.lua %%DATADIR%%/plugins/http_headers.lua %%DATADIR%%/plugins/ip_score.lua %%DATADIR%%/plugins/known_senders.lua %%DATADIR%%/plugins/maillist.lua %%DATADIR%%/plugins/maps_stats.lua %%DATADIR%%/plugins/metadata_exporter.lua %%DATADIR%%/plugins/metric_exporter.lua %%DATADIR%%/plugins/mid.lua %%DATADIR%%/plugins/milter_headers.lua %%DATADIR%%/plugins/mime_types.lua %%DATADIR%%/plugins/multimap.lua %%DATADIR%%/plugins/mx_check.lua %%DATADIR%%/plugins/neural.lua %%DATADIR%%/plugins/once_received.lua %%DATADIR%%/plugins/p0f.lua %%DATADIR%%/plugins/phishing.lua %%DATADIR%%/plugins/ratelimit.lua %%DATADIR%%/plugins/rbl.lua %%DATADIR%%/plugins/replies.lua %%DATADIR%%/plugins/reputation.lua %%DATADIR%%/plugins/rspamd_update.lua %%DATADIR%%/plugins/settings.lua %%DATADIR%%/plugins/spamassassin.lua %%DATADIR%%/plugins/spamtrap.lua %%DATADIR%%/plugins/spf.lua %%DATADIR%%/plugins/trie.lua %%DATADIR%%/plugins/url_redirector.lua %%DATADIR%%/plugins/whitelist.lua %%DATADIR%%/rules/archives.lua %%DATADIR%%/rules/bitcoin.lua %%DATADIR%%/rules/bounce.lua %%DATADIR%%/rules/content.lua %%DATADIR%%/rules/controller/fuzzy.lua %%DATADIR%%/rules/controller/init.lua %%DATADIR%%/rules/controller/maps.lua %%DATADIR%%/rules/controller/neural.lua %%DATADIR%%/rules/controller/selectors.lua %%DATADIR%%/rules/forwarding.lua %%DATADIR%%/rules/headers_checks.lua %%DATADIR%%/rules/html.lua %%DATADIR%%/rules/mid.lua %%DATADIR%%/rules/misc.lua %%DATADIR%%/rules/parts.lua %%DATADIR%%/rules/regexp/compromised_hosts.lua %%DATADIR%%/rules/regexp/headers.lua %%DATADIR%%/rules/regexp/misc.lua %%DATADIR%%/rules/regexp/upstream_spam_filters.lua %%DATADIR%%/rules/regexp/urls.lua %%DATADIR%%/rules/rspamd.lua %%DATADIR%%/rules/subject_checks.lua %%DATADIR%%/www/README.md %%DATADIR%%/www/apple-touch-icon.png %%DATADIR%%/www/browserconfig.xml %%DATADIR%%/www/css/FooTable.Glyphicons.css %%DATADIR%%/www/css/bootstrap.min.css %%DATADIR%%/www/css/codejar-linenumbers.css %%DATADIR%%/www/css/d3evolution.css %%DATADIR%%/www/css/d3pie.css %%DATADIR%%/www/css/font-glyphicons.css %%DATADIR%%/www/css/footable.standalone.min.css %%DATADIR%%/www/css/nprogress.css %%DATADIR%%/www/css/prism.css %%DATADIR%%/www/css/rspamd.css %%DATADIR%%/www/css/svg-with-js.min.css %%DATADIR%%/www/favicon-16x16.png %%DATADIR%%/www/favicon-32x32.png %%DATADIR%%/www/favicon.ico %%DATADIR%%/www/fonts/glyphicons-halflings-regular.ttf %%DATADIR%%/www/fonts/glyphicons-halflings-regular.woff %%DATADIR%%/www/fonts/glyphicons-halflings-regular.woff2 %%DATADIR%%/www/img/asc.png %%DATADIR%%/www/img/desc.png %%DATADIR%%/www/img/drop-area.svg %%DATADIR%%/www/img/rspamd_logo_navbar.png %%DATADIR%%/www/index.html %%DATADIR%%/www/js/app/common.js %%DATADIR%%/www/js/app/config.js %%DATADIR%%/www/js/app/graph.js %%DATADIR%%/www/js/app/history.js %%DATADIR%%/www/js/app/libft.js %%DATADIR%%/www/js/app/rspamd.js %%DATADIR%%/www/js/app/selectors.js %%DATADIR%%/www/js/app/stats.js %%DATADIR%%/www/js/app/symbols.js %%DATADIR%%/www/js/app/upload.js %%DATADIR%%/www/js/lib/bootstrap.bundle.min.js %%DATADIR%%/www/js/lib/codejar-linenumbers.min.js %%DATADIR%%/www/js/lib/codejar.min.js %%DATADIR%%/www/js/lib/d3.min.js %%DATADIR%%/www/js/lib/d3evolution.min.js %%DATADIR%%/www/js/lib/d3pie.min.js %%DATADIR%%/www/js/lib/fontawesome.min.js %%DATADIR%%/www/js/lib/footable.min.js %%DATADIR%%/www/js/lib/jquery-3.7.1.min.js %%DATADIR%%/www/js/lib/jquery.stickytabs.min.js %%DATADIR%%/www/js/lib/nprogress.min.js %%DATADIR%%/www/js/lib/prism.js %%DATADIR%%/www/js/lib/require.min.js %%DATADIR%%/www/js/lib/solid.min.js %%DATADIR%%/www/js/lib/visibility.min.js %%DATADIR%%/www/js/main.js %%DATADIR%%/www/mstile-150x150.png %%DATADIR%%/www/safari-pinned-tab.svg @owner rspamd @group rspamd @dir /var/db/rspamd @dir /var/log/rspamd @dir /var/run/rspamd @owner @group